X680x0 Ko-Window 用ライブラリ tvlib.a 関数マニュアル Copyright 1995 小笠原博之(COR.) 0. はじめに このライブラリは、スクロールバーつきのテキストを表示するためのライブラリで す。このライブラリを使う時は tviewlib.h をインクルードして下さい。 1. TextView ウィンドウ関数 void TextViewOpen( x, y, h, v, tp, title, mode ) ---------------------------------------------------------------------------- int x, y, h, v; ウィンドウ表示位置とサイズ TextView *tp; 構造体 int mode; タイトルバーに出るボックス x, y の位置に h, v サイズの TextView ウィンドウをオープンします。title は ウィンドウのタイトル文字列です。あらかじめ tp 構造体に必要な情報を設定して から呼び出さなければなりません。 ---------------------------------------------------------------------------- void TextViewRedraw( tp ) ---------------------------------------------------------------------------- TextView *tp; 構造体 スクロールエリア内部を再描画します。表示項目を修正した場合に使います。 ---------------------------------------------------------------------------- int TextViewKeyExec( info, tp ) ---------------------------------------------------------------------------- EventInfo *info; イベント構造体 TextView *tp; 構造体 標準的なキー操作によるスクロールを行います。処理すると TRUE, 処理しなかっ た場合は FALSE を返します。 ---------------------------------------------------------------------------- int TextViewKeyExecSimple( info, tp ) ---------------------------------------------------------------------------- EventInfo *info; イベント構造体 TextView *tp; 構造体 上下移動のみの単純なスクロールキー操作を行います。処理すると TRUE, 処理し ない場合は FALSE を返します。 ---------------------------------------------------------------------------- 2. TextView 構造体 ---------------------------------------------------------------------------- typedef struct { char **lp; /* 描画内容の行ポインタ */ int lines, /* 行数 */ columns, /* 桁数 */ font_x, /* 横方向のフォントサイズ */ font_y, /* 縦方向のフォントサイズ */ font_z, /* 縦方向の行ドット数 */ attr, /* 文字描画アトリビュート */ backattr, /* 背景色 */ offset, /* スクロールエリアオフセット */ UserData; /* 汎用データ */ void *UserPointer; /* 汎用データ */ int (*EventExec)(); /* イベント処理関数 */ WindowID twp, swp; /* ウィンドウ ID */ } TextView; ・ユーザーが設定すべき項目 lp 行単位で表示する行のポインタ配列のアドレスを設定します lines トータル行数を格納して下さい columns 横方向にスクロールすべき桁数を入れます。この桁数で行を折り曲 げるわけではありません。 font_x 必ず font_y/2 の値を格納して下さい font_y 描画するフォントサイズです 10, 12, 16, 24 font_z 1行のドット数を入れます。必ず font_y 以上の値になります。行間 ドット数を 0 にするなら font_z = font_y となります。 attr スクロールエリアに表示する内容を描画する文字アトリビュートです backattr これは必ず backattr= attr&AttrReverse ? attr&3 : 0 ; で求め て下さい offset タイトルウィンドウとスクロールエリアとの間を何ドット開けるか を指定します。 EventExec イベント処理関数を与えます。受理しないイベントは FALSE を返 して下さい。引数は wp, info, tp となります。イベントが送られ るのは以下の場合だけです。 EventUser/EventKey -> EventExec 呼び出しのみ EventMouseSwitch -> offset 領域でのクリック EventMouseSwitch -> スクロール領域でのクリック FALSE を返すと デフォルト処理あり EventRedraw -> offset 領域での描画 EventClose -> WindowClose() の直後にフック twp, swp は戻り値で、TextViewOpen() を呼び出すと設定されます。awp はテキスト ウィンドウ ID、bwp はスクロールウィンドウ ID です。 ---------------------------------------------------------------------------- -- 最終更新 1995 2/11 COR.