ウインドウシステム関数仕様 version 2.23 Copyright T.Kobayashi 1991.5.3 1 ウインドウサーバへの要求関数  各アプリケーションプログラムからウインドウサーバへ要求する関数を示します。 これらの関数は "wlib.h" に宣言されています。これらの関数はユーザモードで呼び 出さなければなりません。(スーパーバイザモード不可) 1.1 ウインドウ環境設定 void WindowConnectionClose() ----------------------------------------------------------------------------  ウインドウライブラリの使用終了を宣言します。  この関数が呼ばれる前にオープンしたウインドウをはすべてクローズしていなけれ ばなりません。 ---------------------------------------------------------------------------- void WindowSetRootEvent( exec ) ---------------------------------------------------------------------------- int (*exec)(); イベント処理ルーチン  ルートウインドウのイベント処理ルーチンを設定します。  ルートウインドウで発生する可能性のあるイベントは次の4つです。 EventRedraw, EventMouseSwitch, EventMouseMove, EventKey  イベント処理ルーチンで TRUE を返すとイベントを受け取ったことになるのでウイ ンドウサーバ内のデフォルトのイベント処理ルーチンは呼び出されません。FALSE を 返すと引き続いてデフォルトのイベント処理ルーチンを呼び出します。 ---------------------------------------------------------------------------- void WindowSetBackPattern( sp ) ---------------------------------------------------------------------------- Sheet *sp ; ルートウインドウのバックパターン  ルートウインドウのバックパターンを設定します。 ---------------------------------------------------------------------------- void WindowMouseCursor( sw ) ---------------------------------------------------------------------------- int sw ; マウスカーソルのスイッチ  マウスカーソルの表示、非表示を切り替えます。 sw が ON の時は表示、OFF の時 は非表示です。マウスが非表示の時はマウス関係のイベントは発生しません。 ---------------------------------------------------------------------------- void *WindowGetCommon( name, len ) ---------------------------------------------------------------------------- char *name ; 共有領域名 int len ; 共有領域の大きさ  name で与えられた共有領域へのポインタを得ます。  共有領域が設定されていなかった時は、新たに領域を確保してそのポインタを返し ます。そのとき確保する領域の大きさは len で指定します。  len が 0 の時は既に設定されていた共有領域を検索するだけで、新たに確保しま せん。そのとき、共有領域が設定されていなければ NULL を返します。 ---------------------------------------------------------------------------- int WindowResetCommon( name ) ---------------------------------------------------------------------------- char *name ; 共有領域名  ポインタを name で与えられた共有領域を開放します。  開放できた時は TRUE、できなかった時は FALSE を返します。 ---------------------------------------------------------------------------- void WindowReadRC() ----------------------------------------------------------------------------  ウインドウサーバの設定ファイル WSRV.RC を再読み込みします。  この関数は共有領域の設定を変更するだけです。各アプリケーションの設定は再起 動しなければ変化しません。また、ウインドウサーバ自体の設定も変化しません。 ---------------------------------------------------------------------------- void WindowReadResource() ----------------------------------------------------------------------------  リソースファイル( WSRV.RS )を再読み込みします。  ウインドウサーバが使用しているリソース( CloseButton, UpArrow etc )も変化し ますが、既に表示されているものは再表示しなければなりません。 ---------------------------------------------------------------------------- void *WindowGetResource( rname, name, appname ) ---------------------------------------------------------------------------- char *rtype ; リソースの種類( Pattern, String ) char *name ; リソース名 char *appname ; アプリケーション識別子  リソースの実体を確保します。  rtype は現在のところ "Pattern", "String" の2つのどちらかです。  name はリソースの識別子でリソースファイル中に記述した名前です。  appname は同じくアプリケーション識別子です。リソースファイルではアプリケー ション識別子は省略できましたが、ここではできません。ウインドウサーバはまず、 rtype, name, appname のすべてが一致するリソースを検索し、なければ appname が省略されているリソースから rtype, name が一致するものを探します。 ---------------------------------------------------------------------------- void *WindowMemoryAlloc( size ) ---------------------------------------------------------------------------- int size ; 確保するメモリサイズ  ウインドウサーバのヒープからメモリを確保します。 ---------------------------------------------------------------------------- void WindowMemoryFree( ptr ) ---------------------------------------------------------------------------- void *ptr ;  WindowMemoryAlloc 関数で確保した領域を開放します。 ---------------------------------------------------------------------------- 1.2 ウインドウのオープン WindowID WindowOpen( x, y, h, v, parent, event ) ---------------------------------------------------------------------------- int x, y ; ウインドウの位置 int h, v ; ウインドウの大きさ WindowID parent ; 親ウインドウID int (*event)(); イベント処理関数  ウインドウをオープンします。通常は画面表示は行われません。画面に表示したい 時は WindowRedraw 関数を呼びます。   parent が NULL の場合はルートウインドウです。 イベント処理関数の書式は後述。  オープンしたウインドウのIDを返します。 --------------------------------------------------------------------------- WindowID WindowSimpleOpen( x, y, h, v, parent, event ) ---------------------------------------------------------------------------- int x, y ; ウインドウの位置 int h, v ; ウインドウの大きさ WindowID parent ; 親ウインドウID int (*event)(); イベント処理関数  枠線と影のついたウインドウをオープンします。  オープンしたウインドウのIDを返します。 --------------------------------------------------------------------------- WindowID WindowTitleOpen( x, y, h, v, parent, label, option, event ) ---------------------------------------------------------------------------- int x, y ; ウインドウの位置 int h, v ; ウインドウの大きさ WindowID parent ; 親ウインドウID char *label ; ウインドウ名 int option ; ボックスの種類 int (*event)(); イベント処理関数  タイトルバーのついたウインドウをオープンします。  option はこのウインドウに表示するボックスの種類を指定します。ボックスには Close, Push, Icon, Resize, Zoom があります。複数のボックスを表示するときは和 をとります。  オープンしたウインドウのIDを返します。 ---------------------------------------------------------------------------- WindowID WindowScrollOpen( x, y, h, v, parent, maxh, maxv, dir, xstep, ystep, event ) ---------------------------------------------------------------------------- int x, y ; ウインドウの位置 int h, v ; ウインドウの大きさ WindowID parent ; 親ウインドウID int maxh, maxv ; スクロールの最大値 int dir ; スクロール方向 int xstep, ystep ; スクロールのステップ int (*event)(); イベント処理関数  スクロールバーのついたウインドウをオープンします。  maxh, maxv は h, v より大きくなければなりません。  dir はスクロールできる方向を DirectionX または DirectionY で設定します。両 方向にスクロールするときはORをとります。  xstep, ystep はスクロールボタンを押したときのスクロール幅を指定します。 xstep は 16 の倍数でなければなりません。  オープンしたウインドウのIDを返します。 ---------------------------------------------------------------------------- 1.3 ウインドウの制御 void WindowClose( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  ウインドウをクローズします。 ---------------------------------------------------------------------------- void WindowPop( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  ウインドウを最も手前に持ってきます。 ---------------------------------------------------------------------------- void WindowPush( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  ウインドウを最も奥に持っていきます。 ---------------------------------------------------------------------------- void WindowRedraw( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  ウインドウを再表示します。  実際の処理としては、ウインドウに RedrawEvent を送ります。 ---------------------------------------------------------------------------- void WindowMove( wp, x, y ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int x, y ; ウインドウの位置  ウインドウの左上が ( x, y ) の位置になるように移動します。 ---------------------------------------------------------------------------- void WindowResize( wp, x, y, h, v ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int x, y ; ウインドウの位置 int h, v ; ウインドウの大きさ  ウインドウの位置と大きさを変更します。 ---------------------------------------------------------------------------- void WindowScroll( wp, dx, dy ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int dx, dy ; スクロール量  ウインドウのビューポート内をスクロールします。ホーム位置(後述)も変更され ます。 dx, dy のどちらかは 0 でなければなりません。 ---------------------------------------------------------------------------- void WindowDraw( WindowID, void*, int ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID DrawBuf *buf ; 描画バッファ(後述) int n ; 描画バッファの大きさ  ウインドウに線、文字、その他を描きます。描く対象は描画バッファに設定されて いなければなりません。描画バッファの設定は後述の描画バッファ設定関数を使用し ます。座標原点はビューポートの左上位置になり、ホーム位置が変更されている場合 はその影響を受けます。 ---------------------------------------------------------------------------- void WindowDrawAbs( wp, buf, n ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID DrawBuf *buf ; 描画バッファ(後述) int n ; 描画バッファの大きさ  ウインドウに線、文字、その他を描きます。ビューポートと子ウインドウ、ホーム 位置は無視されます。座標原点はウインドウ左上位置になります。 ---------------------------------------------------------------------------- void WindowMoveOperation( wp, info ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID EventInfo *info ; イベント情報(後述)  マウスのボタンを押した状態で呼び出し、ボタンが離された位置にウインドウを移 動させます。 ---------------------------------------------------------------------------- void WindowResizeOperation( wp, info ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID EventInfo *info ; イベント情報(後述)  マウスのボタンを押した状態で呼び出し、ボタンが離された位置がウインドウの端 点となるようにウインドウの大きさを変えます。 ---------------------------------------------------------------------------- int WindowSendEvent( wp, info ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID EventInfo *info ; イベント情報  特定のウインドウにイベント情報を送ります。 ---------------------------------------------------------------------------- 1.4 ウインドウの設定 void WindowSetClientData( wp, data, pointer ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int data ; クライアントデータ void *pointer ; クライアントデータへのポインタ  クライアントデータを設定します。複数のウインドウをイベント処理関数で区別し たい時やウインドウごとににデータを持たせたい時に設定します。  クライアントデータが1つの場合は data に設定し、複数個の場合は適当な構造体 へのポインタとして pointer に設定します。 ---------------------------------------------------------------------------- void WindowSetAttr( wp, attr ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int attr ; 属性  ウインドウの属性を設定します。  属性は WindowAttrTra, WindowAttrInvisible, WindowAttrGraphic16, WindowAttrGraphic256, WindowAttrGraphic65536 を選択します。(複数指定可)  WindowAttrTra は透明ウインドウの属性です。透明ウインドウにするとこのウイン ドウより奥のウインドウが重ねて表示されます。また、ウインドウの表示が高速化さ れます。重なることがないような子ウインドウに対して設定します。  WindowAttrInvisible は不可視属性です。  WindowAttrGraphic??? はグラフィック使用属性です。グラフィックを使用するウイ ンドウはこれを指定してください。16, 256, 65536 はそれぞれ画面モードです。  SimpleWindow, TitleWindow ではデフォルトは0で、それ以外は WindowAttrTra です。 ---------------------------------------------------------------------------- void WindowSetEventAttr( wp, attr ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int attr ; イベント属性  イベント属性を設定します。イベント属性にはイベント処理ルーチンが呼び出され るべきイベントの種類を設定します。次の中から選んで設定します。(複数指定可) EventOpenON, EventRedrawON, EventCloseON, EventPopON, EventPushON, EventMoveON, EventResizeON, EventIconifyON, EventZoomON, EventScrollON, EventMouseSwitchON, EventMouseMoveON, EventMouseEnterON, EventMouseOutON, EventKeyON, EventIntervalON, EventUserON, EventGraphicON  デフォルトは EventAttrDefault で WLIB.H に定義されています。 --------------------------------------------------------------------------- void WindowSetHome( wp, x, y ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int x, y ; ホーム位置  ウインドウのホーム位置を設定します。ホーム位置とはビューポートの左上に対応 する仮想座標です。ホーム位置を変更することで WindowDraw 関数の表示位置と移動 させることができます。 ---------------------------------------------------------------------------- 1.5 ウインドウ情報の取得 int WindowGetEventAttr( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  イベント属性を得ます。 ---------------------------------------------------------------------------- int WindowGetClientData( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  クライアントデータを得ます。 ---------------------------------------------------------------------------- void *WindowGetClientPointer( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  クライアントデータへのポインタを得ます。 ---------------------------------------------------------------------------- void WindowGetPosition( wp, xp, yp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int *xp, *yp ; 格納バッファ  ウインドウの左上座標を xp, yp で示されるアドレスに格納します。 ---------------------------------------------------------------------------- void WindowGetSize( wp, hp, vp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int *hp, *vp ; 格納バッファ  ウインドウの大きさを hp, vp で示されるアドレスに格納します。 ---------------------------------------------------------------------------- void WindowGetViewPosition( wp, xp, yp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int *xp, *yp ; 格納バッファ  ウインドウのビューポートの左上座標を xp, yp で示されるアドレスに格納します。 この座標はウインドウの左上を原点とした座標です。 ---------------------------------------------------------------------------- void WindowGetViewSize( wp, hp, vp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int *hp, *vp ; 格納バッファ  ウインドウのビューポートの大きさを hp, vp で示されるアドレスに格納します。 ---------------------------------------------------------------------------- void WindowGetScreenPosition( wp, xp, yp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int *xp, *yp ; 格納バッファ  ウインドウのビューポート左上の点のスクリーン座標を xp, yp で示されるアドレ スに格納します。 ---------------------------------------------------------------------------- void WindowGetHome( wp, xp, yp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int *xp, *yp ; 格納バッファ  ウインドウのホーム位置を xp, yp で示されるアドレスに格納します。 ---------------------------------------------------------------------------- int WindowInner( wp, x, y ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID int x, y ; 参照座標  点 ( x, y ) がウインドウ内かどうかを調べます。  ウインドウ内であれば TRUE を、ウインドウ外であれば FALSE を返します。 ---------------------------------------------------------------------------- WindowID WindowGetParent( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  親ウインドウを返します。 ---------------------------------------------------------------------------- WindowID WindowGetNext( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  重なり状態の次のウインドウを返します。ウインドウが最も奥の時は NULL を返し ます。 ---------------------------------------------------------------------------- WindowID WindowGetLast( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  重なり状態のひとつ前のウインドウを返します。ウインドウが最も手前にある時は NULL を返します。 ---------------------------------------------------------------------------- WindowID WindowGetChildTop( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  最も手前にある子ウインドウを返します。子ウインドウがない時は NULL を返しま す。 ---------------------------------------------------------------------------- WindowID WindowGetChildBottom( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  最も奥にある子ウインドウを返します。子ウインドウがない時は NULL を返します。 ---------------------------------------------------------------------------- WindowID WindowGetChild( wp, info ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID EventInfo *info ; イベント情報  イベント情報を送るべき子ウインドウを、info->x, info->y の値と子ウインドウ の重なり方を考えて探します。なかった場合は NULL を返します。  info->x, info->y の値は見つかった子ウインドウのローカル座標に変換されます。 ---------------------------------------------------------------------------- 1.6 その他の関数 int WindowGetEventInfo( info ) ---------------------------------------------------------------------------- EventInfo *info ; イベント情報  マウスとキー入力の情報を info に格納します。  マウスの移動、ボタンの変化、またはキー入力があった時は戻り値 TRUE 、なかっ た時は FALSE を返します。 ---------------------------------------------------------------------------- int WindowCheckEventInfo( info ) ---------------------------------------------------------------------------- EventInfo *info ; イベント情報  マウス状態の変化、またはキー入力があったかどうかチェックします。  あった時は戻り値 TRUE 、なかった時は FALSE を返します。 ---------------------------------------------------------------------------- void WindowScreenInit() ----------------------------------------------------------------------------  画面を及びマウスをウインドウ用に初期化します。WindowScreenQuit 関数で壊れ た画面を元に戻す時に使用します。完全に戻すためには、この関数実行後すべてのウ インドウを再表示しなければなりません。 ---------------------------------------------------------------------------- void WindowScreenQuit() ----------------------------------------------------------------------------  画面を及びマウスを通常の状態に戻します。画面を壊すようなプログラムを子プロ セスで実行したい時に使用します。 ---------------------------------------------------------------------------- char *WindowGetVersion() ----------------------------------------------------------------------------  ウインドウサーバのバージョンを得ます。  バージョンが 1.26 なら "1.26" という文字列へのポインタを返します。 ---------------------------------------------------------------------------- void *WindowSetSignal( entry ) ---------------------------------------------------------------------------- int (*entry)(); 処理ルーチン  シグナルの処理ルーチンを設定します。  シグナル処理ルーチンのデフォルトは WLIB.A 内のルーチンになっています。この ルーチンでは KILL シグナルの処理のみ定義されています。 ---------------------------------------------------------------------------- int WindowSendSignal( psp, code, buf ) ---------------------------------------------------------------------------- int psp ; プロセス管理ポインタ int code ; シグナル void *buf ; シグナル  シグナルを送ります。psp はシグナルを受け取るプロセスのプロセス管理ポインタ、 またはプロセスID(後述)を指定します。  code = 0xFFF9 は KILL シグナルに使用します。それ以外の code と buf は自由 に使用してかまいません。 ---------------------------------------------------------------------------- int WindowSendEventAll( id, info ) ---------------------------------------------------------------------------- int id ; プロセスID EventInfo *info ; イベント情報  id の示すプロセスに属するウインドウすべてにイベントを送ります。  プロセスの終了処理で使用します。 ---------------------------------------------------------------------------- void WindowSetPalet( p1, p3 ) ---------------------------------------------------------------------------- int p1 ; ペーパーカラー int p3 ; ハイライト  ペーパーカラーとハイライトのパレット色を設定します。 ---------------------------------------------------------------------------- void WindowSetFocus( wp ) ---------------------------------------------------------------------------- WindowID wp ; ウインドウID  キー入力をフォーカスするウインドウを設定します。  wp を NULL にするとフォーカスを解除します。 ---------------------------------------------------------------------------- void WindowRootScroll( x, y ) ---------------------------------------------------------------------------- int x, y ; ホームポジション  スクロールのホームポジションを設定します。 ---------------------------------------------------------------------------- void WindowGetRootScroll( xp, yp ) ---------------------------------------------------------------------------- int *xp, *yp ; 格納バッファ  スクロールのホームポジションを得ます。 ---------------------------------------------------------------------------- int WindowGetGraphicMode() ----------------------------------------------------------------------------  現在のグラフィックモードを得ます。  戻り値は WindowAttrGraphic16, WindowAttrGraphic256, WindowAttrGraphic65536 のいずれかです。 ---------------------------------------------------------------------------- void WindowSetGraphicMode( mode ) ---------------------------------------------------------------------------- int mode ; 画面モード  グラフィックモードを設定します。  mode は WindowAttrGraphic16, WindowAttrGraphic256, WindowAttrGraphic65536 のいずれかです。 ---------------------------------------------------------------------------- 2 大域変数  ウインドウライブラリでは次のような大域変数が存在します。 2.1 WLIB.A で定義   WindowID WindowRootID ルートウインドウのID Sheet *WindowBackPattern ルートウインドウのバックパターン int WindowProcessID プロセスID  プロセスIDはウインドウサーバを使用しているプロセスに与えられる番号で0 から31までの整数です。   これらの大域変数は WLIB.H で宣言されています。 2.2 アプリケーションで定義 int WindowHeapSize ; ヒープサイズを指定します。ヒープを必要とする関数( malloc, fopen など ) を使用する時は指定します。この変数を宣言しない時はヒープ領域は確保されま せん。 3 描画バッファの設定関数  WindowDraw, WindowDrawAbs 関数における描画バッファを設定する関数です。これ らの関数は WLIB.A に定義されており、ウインドウサーバには処理はわたされません。 void DrawSetClear( buf, color ) ---------------------------------------------------------------------------- DrawBuf *buf ; 描画バッファ int color ; カラーコード  カラーコード color でのクリアを設定します。  カラーコードは 0 - 3 でそれぞれ次のように設定されています。 0 黒(不透明) 1 灰色 2 黒(透明) 3 白  一般的にはカラーコード 0, 1 を使用してください。  カラーコード 2 はグラフィック画面を使用する時に必要となります。 ---------------------------------------------------------------------------- void DrawSetLine( buf, x1, y1, x2, y2, code, option ) ---------------------------------------------------------------------------- DrawBuf *buf ; 描画バッファ int x1, y1 ; 頂点座標 int x2, y2 ; 頂点座標 int color ; カラーコード int option ; 描画オプション  直線を引く、矩形領域を塗りつぶす、長方形を描く、のどれかの処理を設定します。  option は OptionLine, OptionBox, OptionFill, OptionShadow のうちのどれかを 指定します。 OptionShadow は影つきの長方形です。  color は Line Box Fill については 0 〜 3 とその排他的論理和を設定すること ができます。排他的論理和には 0 〜 3 の値に OptionXor を加えます。  OptionShadow の時は Color は ShadowUp ShadowDown のどちらかで、その効果は 浮き上がって見えるか、沈んで見えるかです。 ---------------------------------------------------------------------------- void DrawSetPut( buf, x, y, sp ) ---------------------------------------------------------------------------- DrawBuf *buf ; 描画バッファ int x, y ; 表示座標 Sheet *sp ; 表示パターン  パターンの表示を設定します。 ---------------------------------------------------------------------------- void DrawSetSymbol( buf, x, y, str, attr, font ) ---------------------------------------------------------------------------- DrawBuf *buf ; 描画バッファ int x, y ; 表示座標 char *str ; 表示文字列 int attr ; 表示属性 int font ; フォント  文字列の表示を設定します。  attr はカラーコード 0 〜 3 に対応します。ハイライト及び反転文字を表示する 時はそれぞれ AttrHighLight, AttrReverse, AttrMesh とORをとります。  font は文字フォントで 12 16 24 の中から選びます。  WLIB.H に AttrDefault が定義されています。これはカラーコード 1 の反転です。 ---------------------------------------------------------------------------- void DrawSetPattern( buf, sp ) ---------------------------------------------------------------------------- DrawBuf *buf ; 描画バッファ void *sp ; 表示パターン  パターンの表示を設定します。ウインドウよりパターンが小さい場合は繰り返し表 示されます。 ---------------------------------------------------------------------------- void DrawSetGraphicClear( buf, code ) ---------------------------------------------------------------------------- DrawBuf *buf ; 描画バッファ int color ; カラーコード  グラフィック画面のクリアを設定します。 ---------------------------------------------------------------------------- void DrawSetGraphicLine( buf, x1, y1, x2, y2, code, option ) ---------------------------------------------------------------------------- DrawBuf *buf ; 描画バッファ int x1, y1 ; 頂点座標 int x2, y2 ; 頂点座標 int color ; カラーコード int option ; 描画オプション  グラフィック画面で直線を引く、矩形領域を塗りつぶす、長方形を描く、のどれか の処理を設定します。  option は OptionLine, OptionBox, OptionFill のうちのどれかを指定します。 ---------------------------------------------------------------------------- void DrawSetGraphicPut( buf, x1, y1, x2, y2, gbuf ) ---------------------------------------------------------------------------- DrawBuf *buf ; 描画バッファ int x1, y1 ; 頂点座標 int x2, y2 ; 頂点座標 short *gbuf ; バッファの先頭アドレス  グラフィックパターンの表示を設定します。 ----------------------------------------------------------------------------