X680x0 Ko-Window 用ライブラリ gvlib.a 関数マニュアル Copyright 1995 小笠原博之(COR.) 0. はじめに このライブラリは、グラフィック画像をウィンドウに表示するためのライブラリで す。このライブラリを使う時は gviewlib.h をインクルードして下さい。 1. GView ウィンドウ関数 void GViewOpen( x, y, gp, title, mode ) ---------------------------------------------------------------------------- int x, y; ウィンドウ表示位置 GVIEW *gp; 構造体 int mode; タイトルバーに出るボックス x, y の位置に gp->h, gp->v サイズの GView ウィンドウをオープンします。title はウィンドウのタイトル文字列です。あらかじめ gp 構造体に必要な情報を設定し てから呼び出さなければなりません。 ---------------------------------------------------------------------------- void GViewRedraw( gp, mode ) ---------------------------------------------------------------------------- GVIEW *gp; 構造体 int mode; 描画内容 ウィンドウを再描画します。mode が TRUE の時は、ウィンドウ内部のクリアを含 めた再描画を行います。FALSE の時は、グラフィックの転送のみ行います。例えば すでに画像を表示してウィンドウを開いている場合、バッファのグラフィックデー タを変更した場合は、mode == FALSE で呼び出すことで画像のみ更新することがで きます。この関数はパレットの再設定を行います。 ---------------------------------------------------------------------------- void GViewSetPalet( gp ) ---------------------------------------------------------------------------- GVIEW *gp; 構造体 パレットの再設定を行います。画像が65536色モードの時は何もしません。 ---------------------------------------------------------------------------- GVIEW *GViewAlloc( h, v, color, work ) ---------------------------------------------------------------------------- int h; 画像サイズ int v; 画像サイズ int color; 色モード(WindowAttrGraphic16/256/65536のどれか) int work; 余分に確保するサイズ(通常は0でよい) 引数の値から必要なメモリ容量を計算し、GVIEW 構造体および画像を格納するため のバッファをまとめて MALLOC します。DOS MALLOC を使うため、この関数で得ら れたメモリは、そのアプリが必ず責任を持って開放しなければなりません。得られ た gp には、gp->h, gp->v, gp->color にそれぞれ引数で指定した値が、gp->buf, gp->palet には確保したメモリの割り当てられたアドレス、が入ります。 work はメモリを余分に確保する場合の容量です。(例えばファイル名を一緒に格納 しておきたい場合等) work 分のメモリポインタのアドレスは、gp->EventExec に 入ります。メモリが確保できないときは NULL を返します。なお、gviewlib でメ モリを確保する場合必ずこの関数を使わなければならない、というわけではありま せん。(必須ではない) ---------------------------------------------------------------------------- 2. GVIEW 構造体 ---------------------------------------------------------------------------- typedef struct { int h, /* 画像の横ドットサイズ */ v; /* 画像の縦ドットサイズ */ int color; /* 色モード */ unsigned short *buf, /* 画像データ */ *palet; /* パレットテーブル */ int flag; /* スリープフラグ */ int (*EventExec)(); /* イベント処理関数 */ WindowID wp; /* ウィンドウ ID */ } GVIEW; ・ユーザーが設定すべき項目 h,v 画像サイズ color 色モード、WindowAttrGraphic16/256/65536 を代入します buf データの先頭アドレス palet パレットテーブルの先頭アドレス(パレットがない場合はNULL) EventExec イベント処理関数。呼び出し時の引数は (*EventExec)( WindowID, EventInfo*, GVIEW* ); 呼び出すイベントは、EventClose, EventMouseSwitch, EventKey, EventUser, EventIconify。 ---------------------------------------------------------------------------- -- 最終更新 1995 9/1 COR.