この章の目次にもどる
前頁:2.17 画像形式変換ライブラリにもどる
次頁:2.19 アプリケーションライブラリの使い方にすすむ
【形式】
TC* itostr(TC *s, W v, W n)
【パラメータ】
TC *s 結果を格納する領域
W v 値
W n 桁数
【リターン値】
≠ NULL 最後の文字の次文字を指すポインタ
= NULL 変換不能
【解説】
v
で指定した整数値を文字列(数値)に変換して、
s
で指定した領域に格納する。
- n ≠ 0の場合
n
桁の数値として格納され、
前に空白が詰められる。最後に TNULL
は格納されない。
- n = 0の場合
- 前詰めに文字列が格納され、
最後に
TNULL
が格納される。
s
や v
の指定が不適当な場合の動作は不定である。
【形式】
VOID datetostr(TC *s, W time)
【パラメータ】
TC *s 結果を格納する領域へのポインタ
W time 時刻
【リターン値】
なし
【解説】
time
で指定した日時を TRON 文字列に変換して、
s
で指定した領域に、
"YY/MM/DD HH:MM:SS"
の形式で格納する。
最後には TNULL
を格納する必要がある。
【形式】
TC* cnvpath(TC *name)
【パラメータ】
TC *name パス名へのポインタ
【リターン値】
= name 変換後ファイルパス文字列へのポインタ
= NULL 変換不能
【解説】
name
はパス名へのポインタであり、
*name
中の '/', ':', '='
をファイルパス特殊文字に変換する。
shadowrect_frame |
|
影付き長方形の描画 |
|
【形式】
VOID shadowrect_frame(W gid, RECT r, PAT *pat, W width, W shadow)
【パラメータ】
W gid 描画環境ID
RECT r 長方形の座標
PAT *pat 描画パターン
W width 長方形枠の幅
W shadow 影の幅
【リターン値】
なし
【解説】
右下方向に影の付いた長方形を描画する。
【形式】
W bmalloc(BMP *bmp)
【パラメータ】
BMP *bmp ビットマップ
【リターン値】
0 獲得できた場合
ER_NOMEM メモリが獲得できない
【解説】
bmp
で指定したビットマップのプレーンの領域をローカルメモリから獲得し、
bmp->baseaddr[]
に設定する。
bmp
の rowbytes
も同時に設定される。
メモリが獲得できない場合は、ER_NOMEM
を戻し、
正常時は 0 を戻す。
【形式】
VOID bfree(BMP *bmp)
【パラメータ】
BMP *bmp ビットマップ
【リターン値】
なし
【解説】
bmalloc()
で獲得したビットマップのプレーン領域を解放する。
【形式】
WERR bexecv( TC *name, TC *argv[] )
【パラメータ】
TC *name プログラムパス名
TC *argv[] プログラム引数
【リターン値】
プログラムの終了コード
【解説】
name
で指定されたパス名のプログラムに、
argv
で指定した引数を渡して実行する。
パス名は、絶対パス名または現在の作業ファイルからの相対パス名とする。
プログラムの終了を待ち、終了コードをリターン値として返す。
異常終了 ( MS_ABORT
) /
正常終了 ( MS_EXIT
) / 強制終了 ( MS_TERM
)
のいずれかのメッセージを受信したとき、プログラムの終了とする。
【形式】
W reboot( W mode )
【パラメータ】
W mode 再起動モード
【リターン値】
エラーコード
【解説】
システム全体を再起動する。mode=0
の場合は、
パネルが表示されて開いているウィンドウの更新/廃棄を選択し、
再起動する。mode=1
の場合は無条件に廃棄して終了する。
正常に再起動できた場合は呼びだし元にはリターンしないが、
再起動に失敗した場合はエラーコードが返る。
呼びだし元プロセスのパネル・ウィンドウが開いている状態で呼んではならない
( 呼んだ場合はデッドロックとなる )。
また、mode=0
の場合で、
タイムアウト / 拒否応答の場合はエラーコードとして 0 が返る。
【形式】
ERR cre_tagpnl( ID wid, W ntags, TC *name[], RECT *frame,
RECT *inner, PAT *frpat, PAT *inpat, VOID **tagpnl )
【パラメータ】
ID wid ウィンドウID
W ntags 見出しの数
TC *name[] 見出し名へのポインタ配列 (NULL は無視)
RECT *frame 全体領域
RECT *inner 内部領域
PAT *frpat 外部領域背景パターンへのポインタ
PAT *inpat 内部領域背景パターンへのポインタ
VOID *tagpnl 見出しパネルポインタ
【リターン値】
= 0 (ER_OK) 正常終了
< 0 エラー (関数値はエラーコード)
【解説】
与えられたパラメータにしたがって見出しパネルを生成する。
見出しパネルの生成に成功した場合は、
*tagpnl
に見出しパネル管理領域へのポインタが格納される。
以降の見出しパネルの操作は、*tagpnl
を使用しておこなう。
見出しパネル生成後も、name
, frpat
,
ipat
は参照されるため、領域を保持しなければならない。
また、見出しパネルは単純に「見出しのついたパネル」を生成するものであって、
パネル内にパーツなど登録して自動的に操作するものではない。
そのため、パネル内にパーツなどを表示・実行させたい場合は、
アプリケーションの側で各パネル(ページ)毎に使用するパーツを登録・表示・実行・削除しなければならない。
frpat
, inpat
として、NULL
を指定した場合、標準のパターンが使用される。また、ウィンドウ情報レコードの修飾項目 (WI_XXXX
) をパターンとして直接指定することができる。
【形式】
VOID del_tagpnl( VOID* tagpnl )
【パラメータ】
VOID* tagpnl 見出しパネルポインタ
【リターン値】
なし
【解説】
tagpnl
で指定された見出しパネルを削除する。
以降は、tagpnl
による見出しパネルの操作をおこなってはならない。
また、パネル内に表示されるように、
ウィンドウにパーツを登録していた場合は、
アプリケーションの側でそれらのパーツを削除しなければならない。
【形式】
VOID dsp_tagpnl( VOID* tagpnl, RECT *rp )
【パラメータ】
VOID *tagpnl 見出しパネルポインタ
RECT *rp 表示する領域
【リターン値】
なし
【解説】
tagpnl
で指定された見出しパネルの表示をおこなう。
rp
の範囲のみが描画され、
見出しパネルの内部領域は、
内部領域背景で塗りつぶされる。
そのため、パネルの領域内にパーツなどを表示していた場合は、
それらパーツ類の再表示はアプリケーションの側で行わなければならない。
rp
はNULL
であってはならない。
inact_tagpnl |
|
見出しパネルの不能状態の設定 |
|
【形式】
VOID inact_tagpnl( VOID *tagpnl, UW inact )
【パラメータ】
VOID *tagpnl 見出しパネルポインタ
UW inact 不能状態フラグ
【リターン値】
なし
【解説】
tagpnl
で指定された見出しパネルに対して、
不能状態の設定をおこなう。inact
の最下位ビットが見出し番号 1 に、
最上位ビットが見出し番号 32 に対応し、
ビットをセットすることで不能状態となる。
必要に応じて見出しパネルの再表示がおこなわれる。
num_tagpnl |
|
見出しパネルの選択見出し番号の取り出し |
|
【形式】
W num_tagpnl( VOID* tagpnl )
【パラメータ】
VOID* tagpnl 見出しパネルポインタ
【リターン値】
≧ 0(ER_OK) 正常終了(関数値は見出し番号:1〜)
< 0 エラー (関数値はエラーコード)
【解説】
tagpnl
で指定された見出しパネルの、
現在の選択見出し番号を関数値として返す。
【形式】
W sw_tagpnl( VOID *tagpnl, W num, RECT* dspr )
【パラメータ】
VOID *tagpnl 見出しパネルポインタ
W num 切り替える見出し番号(1〜)
RECT *dspr 再表示が必要な領域
【リターン値】
= 0 (ER_OK) 正常終了(0:切り替えなし 1〜;切り替えた番号)
< 0 エラー (関数値はエラーコード)
【解説】
tagpnl
で指定された見出しパネルについて、
num
で指定される見出しを選択状態とし、
再表示が必要な領域を dspr
に格納する。
dspr
は NULL
であってはならない。
見出しパネルの再表示はおこなわれないため、
アプリケーションの側で dsp_tagpnl()
を実行する必要がある。
また、パネル内にパーツなどを表示したい場合は、
dsp_tagpnl()
実行後に使用するパーツの表示などを行わなければならない
(この時、パネル毎(ページ毎)に異なったパーツなどの表示を行わせたい場合は、
見出し番号を切り替える毎に、
以前のページで使用していたパーツを削除しなければならない場合もある)。
pres_tagpnl |
|
見出しパネルのプレスイベント処理 |
|
【形式】
W pres_tagpnl( VOID *tagpnl, WEVENT *wevt )
【パラメータ】
VOID *tagpnl 見出しパネルポインタ
WEVENT *wevt イベント領域へのポインタ
【リターン値】
= 0 (ER_OK) 正常終了(0:切り替えなし 1〜:選択された番号)
< 0 エラー (関数値はエラーコード -1:見出し以外のプレス)
【解説】
tagpnl
で指定された見出しパネルについて、
wevt
で指定されたプレスイベントの処理をおこなう。
wevt
で指定されたイベントが見出し以外を指している場合や、
その見出しが不能状態である場合は、
関数値として -1 が返る。
プレスされている間、
プレス時の見出し上にポインタがあれば見出しを反転表示とし、
イベントを受け取りながらリリースを待つ。
プレス時の見出し以外でリリースされた場合 ( 無効なプレスだった場合 ) は、
関数値として 0 が返る。
プレス時の見出し上でリリースされた場合 ( 有効なプレスだった場合 ) は、
その見出しの番号を関数値として返す。
いずれの場合も、
終了の契機となったイベントが wevt
に格納される。
見出しパネルの実際の切り替え・再表示はおこなわれないため、
アプリケーションの側で sw_tagpnl()
および
dsp_tagpnl()
を実行する必要がある。
この章の目次にもどる
前頁:2.17 画像形式変換ライブラリにもどる
次頁:2.19 アプリケーションライブラリの使い方にすすむ