5: 2005-06-10 (金) 16:44:46 [5] | 現: 2024-01-08 (月) 12:58:55 ゲスト [6] | ||
---|---|---|---|
Line 8: | Line 8: | ||
void lib_flushgraphbox(int opt, struct LIB_WINDOW *win, int x, int y, | void lib_flushgraphbox(int opt, struct LIB_WINDOW *win, int x, int y, | ||
int sx, int sy, int skip, void *p) : | int sx, int sy, int skip, void *p) : | ||
+ | |||
機能:グラフィックボックスをflushする | 機能:グラフィックボックスをflushする | ||
+ | |||
ビデオメモリに書き込んだ内容をグラフィックボックスに反映させる。ビデオ | ビデオメモリに書き込んだ内容をグラフィックボックスに反映させる。ビデオ | ||
メモリにアクセスしたら必ずこれを行う必要がある(リードアクセスしかしてい | メモリにアクセスしたら必ずこれを行う必要がある(リードアクセスしかしてい | ||
ないときはflushしなくてもよい)。 | ないときはflushしなくてもよい)。 | ||
+ | |||
modeは、16色モードでは0x8001を、フルカラーモードでは0x8004か0x8024を指 | modeは、16色モードでは0x8001を、フルカラーモードでは0x8004か0x8024を指 | ||
定する。 | 定する。 | ||
+ | |||
グラフィックボックス全体をflushする時 | グラフィックボックス全体をflushする時 | ||
x, y : グラフィックボックスオープン時に指定したx_pos, y_posの値 | x, y : グラフィックボックスオープン時に指定したx_pos, y_posの値 | ||
Line 24: | Line 24: | ||
p : グラフィックボックスのポインタ | p : グラフィックボックスのポインタ | ||
(「グラフィックボックスのポインタについて」参照) | (「グラフィックボックスのポインタについて」参照) | ||
+ | |||
グラフィックボックスの一部分をflushする時 | グラフィックボックスの一部分をflushする時 | ||
x, y : flushする範囲の左上の座標(window内の座標系で指定する) | x, y : flushする範囲の左上の座標(window内の座標系で指定する) | ||
Line 31: | Line 31: | ||
p : グラフィックボックスのポインタ + この時のy * グラフィックボックスのx_size + この時のx | p : グラフィックボックスのポインタ + この時のy * グラフィックボックスのx_size + この時のx | ||
(「グラフィックボックスのポインタについて」参照) | (「グラフィックボックスのポインタについて」参照) | ||
+ | |||
サンプル:mt_xor(introd), test043 | サンプル:mt_xor(introd), test043 | ||
Line 37: | Line 37: | ||
void lib_drawline0(int opt, struct LIB_GRAPHBOX *gbox, | void lib_drawline0(int opt, struct LIB_GRAPHBOX *gbox, | ||
int color, int x0, int y0, int x1, int y1) : | int color, int x0, int y0, int x1, int y1) : | ||
+ | |||
機能:直線の描画 | 機能:直線の描画 | ||
+ | |||
グラフィックボックスに直線を一本引く。クリッピングなどの処理は行われな | グラフィックボックスに直線を一本引く。クリッピングなどの処理は行われな | ||
いため、始点・終点座標は必ずグラフィックボックスに収まるように注意する。 | いため、始点・終点座標は必ずグラフィックボックスに収まるように注意する。 | ||
Line 46: | Line 46: | ||
x0, y0 : 直線の始点座標 | x0, y0 : 直線の始点座標 | ||
x1, y1 : 直線の終点座標 | x1, y1 : 直線の終点座標 | ||
+ | |||
サンプル:bballc0(introd) | サンプル:bballc0(introd) | ||
***グラフィックボックスのポインタについて | ***グラフィックボックスのポインタについて | ||
グラフィックボックスのポインタは、グラフィックボックスのモードによって異なるため、次のマクロを使うと便利である。 | グラフィックボックスのポインタは、グラフィックボックスのモードによって異なるため、次のマクロを使うと便利である。 | ||
+ | |||
/* グラフィックボックスのマクロ */ | /* グラフィックボックスのマクロ */ | ||
#if (!defined(LIB_GBOX_BUF)) | #if (!defined(LIB_GBOX_BUF)) | ||
Line 68: | Line 68: | ||
-lib_flushgraphboxのskipに書き足しました。 -- [[K]] &new{2005-06-10 (金) 13:46:27}; | -lib_flushgraphboxのskipに書き足しました。 -- [[K]] &new{2005-06-10 (金) 13:46:27}; | ||
-うーん, まあそうでもいいのかな>省略形。じゃ, あと一つ。「ビデオメモリに書き込んだ内容をグラフィックボックスに反映させる」って, 実際の機能の反対の意味に見えません? -- [[I.Tak.]] &new{2005-06-10 (金) 16:44:46}; | -うーん, まあそうでもいいのかな>省略形。じゃ, あと一つ。「ビデオメモリに書き込んだ内容をグラフィックボックスに反映させる」って, 実際の機能の反対の意味に見えません? -- [[I.Tak.]] &new{2005-06-10 (金) 16:44:46}; | ||
+ | -見えちゃいますねえ。そこは直したほうがよさそうです。 -- [[K]] &new{2005-06-11 (土) 13:30:56}; | ||
#comment | #comment |
(This host) = http://osask.net