アットウィキロゴ

OTYAX > API > BUFF

バッファ

GPAGEの割り当て
0 SYSTEM
1 SYSTEM
2 FREE
3 FREE
現在の描画ページはWINGPAGEで取得可能。
FREEの部分をアプリケーションが自由に使える

確保

@WINBUFF

バッファを確保します。
OTYAX4.0~

引数

なし

戻り値

BF 割り当てられたPAGE
BFが0の場合エラーでシステムエラーが発生するのでRETURNする。

@WINBUFFGCLS

バッファをGCLSします。
OTYAX4.0~

引数

BF バッファ番号
BFC GCLSする色

戻り値

なし

@WINBUFFP

描画対象をBFに切り替えます。
OTYAX4.0~

引数

BF バッファ番号

戻り値

なし

@WINBUFFP2

描画対象を戻します。
OTYAX4.0~

引数

なし

戻り値

なし

@WINBUFFCPY

バッファの内容をウィンドウにコピーします。
そのままGCOPYするとwindowを端に寄せた際表示がおかしくなる。
OTYAX4.1~

引数

BF バッファ
BF_X 終点座標
BF_Y 始点座標
BF_X2 終点座標
BF_Y2 終点座標
コピー場所はWFX,WFY固定。それ以外の場所は@WINBUFFCPY2を

戻り値

なし

@WINBUFFCPY2

バッファの内容をウィンドウにコピーします。
そのままGCOPYするとwindowを端に寄せた際表示がおかしくなる。
OTYAX4.1~

引数

BF バッファ
BF_X 始点座標
BF_Y 始点座標
BF_X2 終点座標
BF_Y2 終点座標
BF_X3 コピーされる座標
BF_Y3 コピーされる座標
ウィンドウの相対座標で実際は+WFX,+WFYされるので画面からの座標で表示する際は-WFX,-WFYして渡すこと

戻り値

なし

SAMPLE

@S_PAINT
WINMLT[TSK]=PAINT_M
BF=0
GOSUB @WINBUFF
IF BF==0THEN GOSUB@SYS_ERR_BUFF:RETURN
PAINT_BF[PAINT_M]=BF
BFC=15
GOSUB @WINBUFFGCLS
PAINTF[PAINT_M]=0
WINTTL$="PAINT
PAINT_M=(PAINT_M+1)%2
WINCLS=1
RETURN
@C_PAINT
BF=PAINT_BF[WINMLT[TSK]]
GOSUB @WINBUFFC
GOSUB @WINCLOSE
RETURN
@WIN_PAINT
P=WINMLT[TSK]
PAINTF2=0
IF PAINTF[P]==0THEN PAINTF[P]=1:RETURN
IF WINACTV==0OR WINFLG[0]==3THEN PAINTF2=1
BF=PAINT_BF[P]BF_X=0BF_Y=0BF_X2=62BF_Y2=52
GOSUB @WINBUFFCPY
BF=PAINT_BF[P]
GOSUB @WINBUFFP
IF PAINTF2==0AND CLICK==0AND CLICK2==1THEN GLINE MOUSEX-WFX,MOUSEY-WFY,PAINTX[P],PAINTY[P],14
PAINTX[P]=MOUSEX-WFX
PAINTY[P]=MOUSEY-WFY
GOSUB @WINBUFFP2
RETURN
最終更新:2013年12月16日 19:27