ページへ戻る

− Links

 印刷 

gg00man​/Draft のバックアップ差分(No.2) :: OSASK計画

osaskwiki:gg00man編集/Draft のバックアップ差分(No.2)

« Prev[4]  Next »[5]
1: 2005-06-04 (土) 21:10:01 ソース[6] 2: 2005-06-04 (土) 21:59:56 ソース[7]
Line 1: Line 1:
 +[[GUIGUI00_man]]
 +
*説明文の下書きページ *説明文の下書きページ
-(2005-06-04 : by [[あっきぃ]]) -(2005-06-04 : by [[あっきぃ]])
-GUIGUI00のマニュアルを書く際の草稿ページ。自由に使ってください。 -GUIGUI00のマニュアルを書く際の草稿ページ。自由に使ってください。
 +
 +**[[gg00man/graphic]]/lib_flushgraphbox
 + void lib_flushgraphbox(int opt, struct LIB_WINDOW *win, int x, int y,
 +     int sx, int sy, int skip, void *p) :
 +
 + 機能:グラフィックボックスをflushする
 +
 +   ビデオメモリに書き込んだ内容をグラフィックボックスに反映させる。ビデオ
 + メモリにアクセスしたら必ずこれを行う必要がある(リードアクセスしかしてい
 + ないときはflushしなくてもよい)。
 +
 +   modeは、16色モードでは0x8001を、フルカラーモードでは0x8004か0x8024を指
 + 定する。
 +
 + グラフィックボックス全体をflushする時
 +   x, y  : グラフィックボックスオープン時に指定したx_pos, y_posの値
 +   sx, sy : グラフィックボックスオープン時に指定したx_size, y_sizeの値
 +   skip  : 0
 +   p      : グラフィックボックスのポインタ
 +             (「グラフィックボックスのポインタについて」参照)
 +
 + グラフィックボックスの一部分をflushする時
 +   x, y  : flushする範囲の左上の座標(window内の座標系で指定する)
 +   sx, sy : flushする範囲のサイズ
 +   skip  : グラフィックボックスのx_size - この時のsx
 +   p      : グラフィックボックスのポインタ + この時のy * グラフィックボックスのx_size + この時のx
 +             (「グラフィックボックスのポインタについて」参照)
 +
 + サンプル:mt_xor(introd), test043
 +
 +**[[gg00man/graphic]]/lib_drawline0
 + void lib_drawline0(int opt, struct LIB_GRAPHBOX *gbox,
 +     int color, int x0, int y0, int x1, int y1) :
 +
 + 機能:直線の描画
 +
 +   グラフィックボックスに直線を一本引く。クリッピングなどの処理は行われな
 + いため、始点・終点座標は必ずグラフィックボックスに収まるように注意する。
 +     opt    : lib_drawpoint0と同様
 +     color  : 描画する色(0~15)
 +     x0, y0 : 直線の始点座標
 +     x1, y1 : 直線の終点座標
 +
 + サンプル:bballc0(introd)
 +
 +***グラフィックボックスのポインタについて
 + グラフィックボックスのポインタは、グラフィックボックスのモードによって異なるため、次のマクロを使うと便利である。
 +
 +  /* グラフィックボックスのマクロ */
 +  #if (!defined(LIB_GBOX_BUF))
 +     #define LIB_GBOX_BUF(gbox)  ((void *) ((char *) (gbox) + 64))
 +     #define LIB_GBOX_BUF8(gbox)  ((unsigned char *) LIB_GBOX_BUF(gbox))
 +     #define LIB_GBOX_BUF16(gbox) ((unsigned short *) LIB_GBOX_BUF(gbox))
 +     #define LIB_GBOX_BUF32(gbox)  ((unsigned int *) LIB_GBOX_BUF(gbox))
 +  #endif
*コメント欄 *コメント欄
 +-lib_flushgraphboxは、modeの説明が不十分なので誰か修正お願いします -- [[あっきぃ]] &new{2005-06-04 (土) 21:59:09};
 +-lib_drawline0は、これでよかったら[[gg00man/graphic]]に移します -- [[あっきぃ]] &new{2005-06-04 (土) 21:59:56};
 +
#comment #comment
« Prev[4]  Next »[5]