サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
  
現: 2024-01-08 (月) 12:58:56 ゲスト ソース
Line 1: Line 1:
 +* ウィンドウ制御関係 [[GUIGUI00_man]]
 +#contents
 +***lib_openwindow
 + struct LIB_WINDOW *lib_openwindow(struct LIB_WINDOW *window, int slot,
 +     int x_size, int y_size) :
 + 
 + 機能: ウィンドウを開く。
 + 
 +     window = NULL の時はmalloc(128)してそのポインタを返す。window != NULL の
 +   ときはその値を返す。
 +     スロットを一つ使う。
 +     x_size, y_sizeはウィンドウの大きさで、ピクセル単位。x_size >= 88 にする。
 +   しないとタイトルがつけられなくなって仕様違反。
 +     このウィンドウが一つでも閉じられるとタスクごと終了させられる。
 + 
 +     アプリがスタートしたら、できるだけ早くウィンドウを開こう!
 +     ウィンドウを開いたら、できるだけ早くウィンドウタイトルを書き込もう!
 + 
 + 参考になるサンプル:helloc4(introa)
 +
 +***lib_openwindow1
 + struct LIB_WINDOW *lib_openwindow1(struct LIB_WINDOW *window, int slot,
 +     int x_size, int y_size, int flags, int base) :
 + 
 + 機能: lib_openwindowとほぼ同じ。ウィンドウを細かく制御するためにシグナルを
 +       要求する。
 + 
 +     flagsには要求するシグナルの種類を入れる。
 + 
 +     ビット      増分 説明
 +     bit0 (0x01) +0  VRAMアクセス許可シグナル
 +     bit0 (0x01) +1  VRAMアクセス禁止シグナル
 +     bit0 (0x01) +2  ウィンドウ再描画
 +     bit0 (0x01) +3  ウィンドウ差分描画
 +     bit1 (0x02) +4  ウィンドウ位置変更 x,y がシグナルに続く
 +     bit2 (0x04) +5  タイトルバーカラー変更 ステータスがシグナルに続く
 +     bit3 (0x08) +6  ウィンドウクローズ要求
 +     bit4 (0x10)      VRAMアクセス許可・禁止シグナル要求反転
 +     bit5 (0x20) +7  クローズ完了シグナル
 +     bit6 (0x40) +8  リサイズに予約
 +     bit7 (0x80)      増分値を4倍にする。
 + 
 +     実際に来るシグナルは base+増分。
 +     VRAMアクセス禁止シグナルとウィンドウ再描画・差分描画には受信・完了通知
 +   義務がある。lib_controlwindow参照。
 +     描画シグナルが来たら、VRAMアクセス禁止中でも描画しなければならない。
 +   タイトルバーカラー変更やウィンドウ位置変更は、後で描画シグナルが来るので
 +   状態を覚えておくだけでよい。
 + 
 + 参考になる?:pokon0.c
 +
 +***lib_closewindow
 + void lib_closewindow(int opt, struct LIB_WINDOW *window) :
 + 
 + 機能: ウィンドウを閉じる。
 + 
 +     optは0。
 +     ウィンドウはすぐ閉じるわけではないので、スロットを再利用するには拡張
 +   オープンを使ってクローズ完了シグナルを受け取ること。
 +
 +***lib_controlwindow
 + void lib_controlwindow(int opt, struct LIB_WINDOW *window) :
 + 
 + 機能: ウィンドウの再描画・制御シグナル受信通知など。
 + 
 +     optの各ビットで機能を指定する。
 + 
 +   ビット        説明
 +   bit0 (0x0001) ウィンドウを塗りつぶし、枠を描画
 +   bit1 (0x0002) コンポーネント (テキストボックスなどのボックス) を描画
 +   bit8 (0x0100) 描画禁止シグナルの受信通知
 +   bit9 (0x0200) 再描画完了の通知
 +
 +***名無し?
 + void lib_execcmd0(0x0014, 0x0010, int *buf, 0x000c, 0x0000):
 + 
 + 機能: シェル推奨の最大ウィンドウサイズを返す。
 + 
 +       buf[0] = max_x_size;
 +       buf[1] = max_y_size;
 +     という具合に書き込まれる。このファンクションを利用しないで好きな大きさで
 +     ウィンドウをオープンしても構わないが、大きめのウィンドウを開くときは参考
 +     にするとユーザフレンドリー。
 + 
 + 参考になるサンプル:kjpegls
 +
 +* こめんと欄
 +#comment
  

  • gg00man/window のバックアップ差分(No. All)
    • 現: 2024-01-08 (月) 12:58:56 ゲスト
トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の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コミュニティによって管理・運営されています。