この章の目次にもどる
前頁: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 アプリケーションライブラリの使い方にすすむ