この章の目次にもどる
前頁:2.17 画像形式変換ライブラリにもどる
次頁:2.19 アプリケーションライブラリの使い方にすすむ

2.18 その他

itostr
 
整数の文字列変換

【形式】

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 が格納される。

sv の指定が不適当な場合の動作は不定である。

datetostr
 
時刻の文字列変換

【形式】

VOID    datetostr(TC *s, W time)

【パラメータ】

TC  *s      結果を格納する領域へのポインタ
W   time    時刻

【リターン値】

なし

【解説】

time で指定した日時を TRON 文字列に変換して、 s で指定した領域に、

 "YY/MM/DD HH:MM:SS"
の形式で格納する。
最後には TNULL を格納する必要がある。

cnvpath
 
ファイルパス特殊文字の変換

【形式】

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  影の幅

【リターン値】

なし

【解説】

右下方向に影の付いた長方形を描画する。

bmalloc
 
ビットマップのプレーン領域獲得

【形式】

W   bmalloc(BMP *bmp)

【パラメータ】

BMP *bmp    ビットマップ

【リターン値】

0            獲得できた場合
ER_NOMEM     メモリが獲得できない

【解説】

bmp で指定したビットマップのプレーンの領域をローカルメモリから獲得し、 bmp->baseaddr[] に設定する。 bmprowbytes も同時に設定される。 メモリが獲得できない場合は、ER_NOMEM を戻し、 正常時は 0 を戻す。

bfree
 
ビットマップのプレーン領域解放

【形式】

VOID    bfree(BMP *bmp)

【パラメータ】

BMP *bmp    ビットマップ

【リターン値】

なし

【解説】

bmalloc() で獲得したビットマップのプレーン領域を解放する。

bexecv
 
外部プログラム実行

【形式】

WERR    bexecv( TC *name, TC *argv[] )

【パラメータ】

TC  *name   プログラムパス名
TC  *argv[] プログラム引数

【リターン値】

プログラムの終了コード

【解説】

name で指定されたパス名のプログラムに、 argv で指定した引数を渡して実行する。 パス名は、絶対パス名または現在の作業ファイルからの相対パス名とする。

プログラムの終了を待ち、終了コードをリターン値として返す。 異常終了 ( MS_ABORT ) / 正常終了 ( MS_EXIT ) / 強制終了 ( MS_TERM ) のいずれかのメッセージを受信したとき、プログラムの終了とする。

reboot
 
システム再起動

【形式】

W   reboot( W mode )

【パラメータ】

W   mode    再起動モード

【リターン値】

エラーコード

【解説】

システム全体を再起動する。mode=0 の場合は、 パネルが表示されて開いているウィンドウの更新/廃棄を選択し、 再起動する。mode=1 の場合は無条件に廃棄して終了する。 正常に再起動できた場合は呼びだし元にはリターンしないが、 再起動に失敗した場合はエラーコードが返る。
呼びだし元プロセスのパネル・ウィンドウが開いている状態で呼んではならない ( 呼んだ場合はデッドロックとなる )。 また、mode=0の場合で、 タイムアウト / 拒否応答の場合はエラーコードとして 0 が返る。

cre_tagpnl
 
見出しパネルの生成

【形式】

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) をパターンとして直接指定することができる。

del_tagpnl
 
見出しパネルの削除

【形式】

VOID    del_tagpnl( VOID* tagpnl )

【パラメータ】

VOID*   tagpnl  見出しパネルポインタ

【リターン値】

なし

【解説】

tagpnlで指定された見出しパネルを削除する。 以降は、tagpnl による見出しパネルの操作をおこなってはならない。

また、パネル内に表示されるように、 ウィンドウにパーツを登録していた場合は、 アプリケーションの側でそれらのパーツを削除しなければならない。

dsp_tagpnl
 
見出しパネルの表示

【形式】

VOID    dsp_tagpnl( VOID* tagpnl, RECT *rp )

【パラメータ】

VOID    *tagpnl 見出しパネルポインタ
RECT    *rp     表示する領域

【リターン値】

なし

【解説】

tagpnlで指定された見出しパネルの表示をおこなう。 rp の範囲のみが描画され、 見出しパネルの内部領域は、 内部領域背景で塗りつぶされる。
そのため、パネルの領域内にパーツなどを表示していた場合は、 それらパーツ類の再表示はアプリケーションの側で行わなければならない。
rpNULLであってはならない。

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 で指定された見出しパネルの、 現在の選択見出し番号を関数値として返す。

sw_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 に格納する。 dsprNULL であってはならない。
見出しパネルの再表示はおこなわれないため、 アプリケーションの側で 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 アプリケーションライブラリの使い方にすすむ