サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
1: 2005-06-04 (土) 21:10:01 ソース 現: 2024-01-08 (月) 12:58:55 ゲスト ソース
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)*(1か2か4)
 +   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};
 +-用語が混乱していませんか…… グラフィックボックスというと, (a)LIB_GRAPHBOX構造体 (b)←の中の配列 (c)ウィンドウに描画される領域 の三つくらいが考えられるのですが, (b)と(c)が混ざってます。どう定義すべきなのか迷ったので, 川合さんの解説@mt_xor0.txtを見ました。(b)はグラフィックボックスのバッファ, (c)がグラフィックボックス と呼ばれているようです。これで統一しませんか? -- [[I.Tak.]] &new{2005-06-10 (金) 08:08:18};
 +-「グラフィックボックス」については、(c)に限定しないで、(a)~(c)のどれにでも使える広い言葉だとなんとなく思います。(b)を「グラフィックボックスのバッファ」にしたほうがいいというのは、言われてみるとそうかなと思いました。 -- [[K]] &new{2005-06-10 (金) 13:36:23};
 +-まあでも「グラフィックボックスへのポインタ」ってのを「グラフィックボックスのバッファへのポインタ」の省略形であると解釈すれば、用語の混乱はないともいえると思います。だからこのままでも問題ないような・・・。 -- [[K]] &new{2005-06-10 (金) 13:38:21};
 +-lib_flushgraphboxのskipに書き足しました。 -- [[K]] &new{2005-06-10 (金) 13:46:27};
 +-うーん, まあそうでもいいのかな>省略形。じゃ, あと一つ。「ビデオメモリに書き込んだ内容をグラフィックボックスに反映させる」って, 実際の機能の反対の意味に見えません? -- [[I.Tak.]] &new{2005-06-10 (金) 16:44:46};
 +-見えちゃいますねえ。そこは直したほうがよさそうです。 -- [[K]] &new{2005-06-11 (土) 13:30:56};
 +
#comment #comment

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の20件
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。