情報家電のための分散ソフトウェアプラットフォームの構築
(JCGプロジェクト)
付録1. GUIミドルウェア機能の外部設計書
目次にもどる|
5章へ|
付録1. GUIミドルウェア機能の外部設計書
(1)機能説明
GUIに関連する機能を提供する。以下の機能がシステムコールの形で提供される。
(A)イベント管理機能
入力機器からの入力をイベントに変換して蓄積し、順に取得する機能を提供する。
(B)パネル管理機能
画面への描画をおこなう機能を提供する。また、シーン・パネルの管理をおこなう機能を提供する。
(C)パーツ管理機能
パーツの管理をおこなう機能を提供する。パーツは画面に表示され、ユーザーからの操作を受け付けることができる。
(D)文字入力管理機能
文字の入力を受け付ける機能を提供する。
(E)データボックス管理機能
あらかじめ作成したデータボックスから、シーン・パネル・パーツを一括して生成する機能を提供する。
(2)入力データ
GUIミドルウェア機能には、アプリケーションから以下の入力データが渡される。
(A)イベント管理機能の場合
名称 | 意味 |
イベント | 発生させる生イベントへのポインタ |
生イベント | 加工・発生させるイベントへのポインタ |
PD属性 | PDイベントの加工設定 |
キー属性 | キーイベントの加工設定 |
キーテーブルサイズ | キーテーブルのサイズ(TC単位) |
キーテーブル | キーの番号と、そのキーを押した時に入力される文字との対応表 |
(B)パネル管理機能の場合
名称 | 意味 |
描画環境生成情報 | 描画環境を生成するための情報 |
描画環境ID | 描画環境を識別するためのID |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
長方形数 | 前置長方形配列の数 |
パターン生成情報 | パターンを生成するための情報 |
パターンID | パターンを識別するためのID |
線属性 | 線の太さの指定 |
描画モード | すでに描画されている図形との演算指定 |
水平角丸め直径 | 角丸長方形の角丸め部分の水平直径 |
垂直角丸め直径 | 角丸長方形の角丸め部分の垂直直径 |
線太さ | 線の太さの指定 |
フォント | 文字のビットマップを文字コード順に並べたもの |
文字列 | 描画する文字コードの配列 |
文字列長 | 文字コードの配列の長さ |
ビットマップ | 点の集まりによる図形の表現 |
パーツ生成情報 | パーツを生成するための情報 |
パーツ数 | シーン・パネルに含まれるパーツの数 |
シーンID | シーンを識別するためのID |
項目番号 | シーン・パネルに登録されたパーツの番号 |
先頭シーンID | シーンID範囲の、先頭ID |
末尾シーンID | シーンID範囲の、末尾ID |
イベント | PD・キーボードからの入力データ |
タイムアウト | イベントを待つまでの時間指定 |
パネルID | パネルを識別するためのID |
先頭パネルID | パネルID範囲の、先頭ID |
末尾パネルID | パネルID範囲の、末尾ID |
(C)パーツ管理機能の場合
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
パーツ生成情報 | パーツ状態・領域等を指定する情報 |
パーツID | パーツを区別するためのID |
パーツ状態指定 | パーツ状態を変更するための指定 |
パーツ文字列 | パーツに登録されている文字列 |
パーツ現在値 | パーツに登録されている値 |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
イベント | イベントが格納されている領域 |
(D)文字入力管理機能の場合
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
テキストボックス生成情報 | テキストボックス状態・領域等を指定する情報 |
テキストボックスID | テキストボックスを区別するためのID |
テキストボックス状態指定 | テキストボックス状態を変更するための指定 |
テキストボックス文字列 | テキストボックスに登録されている文字列 |
テキストボックス現在値 | テキストボックスのカレット位置 |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
イベント | イベントが格納されている領域 |
※カレットは、文字を入力する位置を示すための縦棒である。カレット位置が0の場合、カレットは左端にある。
(E)データボックス管理機能の場合
名称 | 意味 |
データボックス | データボックス定義データへのポインタ |
ID配列 | 登録したIDを格納するための配列 |
配列サイズ | ID配列のサイズ |
ファイル名 | データボックスファイルのファイル名 |
(3)出力データ
アプリケーションへは以下の出力データが渡される。
(A)イベント管理機能の場合
(B)パネル管理機能の場合
名称 | ニモニック | 型名 |
エラーコード | err | W |
描画環境ID | gid | W |
長方形数 | cnt | W |
パターンID | pid | W |
ピッキング結果 | sts | W |
パネルID | wid | W |
シーンID | wid | W |
パーツID | cid | W |
動作結果 | sts | W |
(C)パーツ管理機能の場合
名称 | ニモニック | 型名 |
エラーコード | err | W |
パーツID | cid | W |
パーツ現在値 | val | W |
(D)文字入力管理機能の場合
名称 | ニモニック |
エラーコード | err |
テキストボックスID | cid |
テキストボックス現在値 | val |
(E)データボックス管理機能の場合
名称 | ニモニック | 型名 |
エラーコード | err | W |
エラーコード | cnt | W |
登録数 | cnt | W |
※cntは、値が負の場合にはエラーコードを示し、値が0または正の場合には登録数を示す。
(4)例外条件及び制約条件
(5)特記事項
対応する中機能を参照。
(6)機能ブロックの構成及び関連
GUIミドルウェア機能は、 「イベント管理機能」 「パネル管理機能」「パーツ管理機能」「文字入力管理機能」「データボックス管理機能」から構成される。
┌────┐ ┌───────┐
│データ │───────→│パネル管理機能│
│ボックス│ └───────┘
│管理機能│ ↑ ↑ ↑
│ │ ┌───────┐│ │
│ │──→│パーツ管理機能││ │
│ │ └───────┘│ │
│ │ ↑ │ ┌────────┐
│ │────────────│→│文字入力管理機能│
└────┘ │ │ └────────┘
│ │ ↑
┌────────────────┐
│ イベント管理機能 │
└────────────────┘
図 GUIミドルウェア機能の機能ブロック相互関係
パネル管理機能は、イベント管理機能・パーツ管理機能・文字入力管理機能・データボックス管理機能を使用する。
パーツ管理機能は、イベント管理機能・データボックス管理機能を使用する。
文字入力管理機能は、イベント管理機能・データボックス管理機能を使用する。
付録1.1 イベント管理機能
(1)機能説明
GUIミドルウェア機能のうち、 入力機器からの入力を「イベント」として蓄え、順に取り出す機能を提供する。
(A)イベントキュー管理機能
イベントキュー管理機能は、イベントを順に蓄え、また順に取り出す機能を提供する。また、イベントを消去する機能を提供する。
(B)入力機器管理機能
入力機器管理機能は、PD・キーボードといった入力機器からの入力を加工し、イベントとして発生させる機能を提供する。また、イベントの加工に関する設定をおこなう機能を提供する。
(2)入力データ
名称 | 意味 |
イベント | 発生させる生イベントへのポインタ |
生イベント | 加工・発生させるイベントへのポインタ |
PD属性 | PDイベントの加工設定 |
キー属性 | キーイベントの加工設定 |
キーテーブルサイズ | キーテーブルのサイズ(TC単位) |
キーテーブル | キーの番号と、そのキーを押した時に入力される文字との対応表 |
詳細は小機能の該当する項目を参照。
(3)出力データ
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_LIMIT | キューあふれ |
ER_NONE | データ無し |
ER_BUSY | 使用中 |
詳細は小機能の該当する項目を参照。
(4)例外条件及び制約条件
- 同時に存在できる最大イベント数は、システム全体で16である。
- イベントはタスクを指定して受信させることができないため、複数のタスクが同時にイベントを受信することはできない。
- イベントの発生をおこなうプログラムであっても、割り込みハンドラから使用することはできない。
- 詳細は小機能の該当する項目を参照。
(5)特記事項
なし
(6)機能ブロックの構成及び関連
イベント管理機能は、小機能であるイベントキュー管理機能と、小機能である入力機器管理機能から構成される。
┌──────────────────────────┐
│イベント管理機能 │
│ ┌────────┐ ┌────────┐ │
│ │イベントキュー │イベント│入力機器管理機能│ │
│ │ 管理機能│←───│ │ │
│ └────────┘ └────────┘ │
└──────────────────────────┘
図 イベント管理機能の機能ブロック相互関係
入力機器管理機能は、イベントキュー管理機能にイベントをわたす。
付録1.1.1 イベントキュー管理機能
(1)機能説明
イベント管理機能のうち、イベントの発生・取得・消去に関する機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)イベント発生機能
入力データで指定された「イベント」を、イベントキューに格納する。入力データで指定された「イベント」が「NULLイベント」または「キーリピートイベント」である場合には、それらをイベントキュー管理機能内部に記憶する。
(B)イベント取得機能
イベントキューから「イベント」を取得し、出力データとする。このとき、入力データで指定された「タイムアウト」の時間が経過しても「イベント」が取得できない場合は、「イベント」を取得せずに処理を中断する。「イベント」が取得できた場合で、入力データで指定された「クリア指定」が有効な場合には、取得した「イベント」をイベントキューから削除する。
(C)イベント消去機能
入力データで指定された「クリア方法」にもとづき、イベントキューからイベントを削除する。
(2)入力データ
イベントキュー管理機能には、アプリケーションから以下の入力データが渡される。
(A)イベント発生機能の場合
W err = ge_put_evt(EVENT *evt); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※ statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_NULL | 0 | ヌルイベント |
GE_BUTDWN | 1 | プレスイベント |
GE_BUTUP | 2 | リリースイベント |
GE_KEYDWN | 3 | キーダウンイベント |
GE_KEYUP | 4 | キーアップイベント |
GE_AUTKEY | 5 | キーリピートイベント |
(B)イベント取得機能の場合
W err = ge_get_evt(EVENT *evt, W tmout, W clr); |
名称 | ニモニック | 型名 |
タイムアウト | tmout | W |
クリア指定 | clr | W |
名称 | 意味 |
タイムアウト | イベントの発生を待つ時間 |
クリア指定 | 取り出したイベントを削除する |
(C)イベント消去機能の場合
W err = ge_clr_evt(W all); |
名称 | 意味 |
クリア方法 | 1で全イベントの削除、0で先頭イベントの削 |
(3)出力データ
アプリケーションへは以下の出力データが渡される。
(A)イベント発生機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | evt->typeが不正 |
ER_LIMIT | キューあふれ | 0xffdc0000 | イベントキューに空きがない |
(B)イベント取得機能の場合
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
エラーコード | err | W |
イベント | evt | EVENT* |
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_NONE | データ無し | 0xffe80000 | 受信タイムアウト |
ER_BUSY | 使用中 | 0xffd50000 | 複数のタスクが同時にイベントを受信しようとした |
(C)イベント消去機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
(4)例外条件及び制約条件
- イベントキューには、最大で16のイベントを蓄積することができる。
- イベントはタスクを指定して受信させることができないため、複数のタスクが同時にイベントを受信することはできない。
- イベントの発生をおこなうプログラムであっても、割り込みハンドラから使用することはできない。
(5)特記事項
なし
付録1.1.2 入力機器管理機能
(1)機能説明
イベント管理機能のうち、入力機器からの入力を加工し、イベントを発生させる機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)イベント生成機能
入力データで指定された「生イベント」を、あらかじめ設定されている「PD属性」「キー属性」「キーテーブル」にもとづいて加工し、「イベントキュー管理機能」を呼び出すことでイベントを発生させる。
(B)PD属性設定機能
入力データで指定された「PD属性」を、入力機器管理機能内に設定する。
(C)PD属性取得機能
入力機器管理機能内に設定されている「PD属性」を取りだし、出力データとする。
(D)キー属性設定機能
入力データで指定された「キー属性」を、入力機器管理機能内に設定する。
(E)キー属性取得機能
入力機器管理機能内に設定されている「キー属性」を取りだし、出力データとする。
(F)キーテーブル設定機能
入力データで指定された「キーテーブル」を、入力機器管理機能内に設定する。
(G)キーテーブル取得機能
入力機器管理機能内に設定されている「キーテーブル」を取りだし、出力データとする。
(2)入力データ
入力機器管理機能には、アプリケーションから以下の入力データが渡される。
(A)イベント生成機能の場合
W err = ge_gen_evt(RAWEVT *evt); |
typedef struct {
W type;
W x, y;
} RAWEVT;
名称 | ニモニック | 型名 |
生イベント§ | evt | RAWEVT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
生イベント | 加工・発生させる生イベントへのポインタ |
RAWEVT構造体の内容:
名称 | ニモニック | 型名 |
生イベントタイプ | type | W |
パラメータX | x | W |
パラメータY | y | W |
RAWEVT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 | パラメータXの意味 | パラメータYの意味 |
GE_RMOVE | 0 | 相対移動 | 横方向の移動量 | 縦方向の移動量 |
GE_AMOVE | 1 | 絶対移動 | 横方向の座標 | 縦方向の座標 |
GE_PDBUT | 2 | ボタン操作 | ボタン状態 | (未使用) | |
GE_KEYON | 3 | キー押下 | キー番号 | (未使用) |
GE_KEYOFF | 4 | キー解放 | キー番号 | (未使用) |
(B)PD属性設定機能の場合
W err = ge_set_pda(PD_ATTR *attr); |
typedef struct {
W sense_x, sense_y;
} PD_ATTR;
名称 | ニモニック | 型名 |
PD属性§ | attr | PD_ATTR* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
PD_ATTR構造体の内容:
名称 | ニモニック | 型名 |
横方向感度 | sense_x | W |
縦方向感度 | sense_y | W |
(C)PD属性取得機能の場合
W err = ge_get_pda(PD_ATTR *attr); |
typedef struct {
W sense_x, sense_y;
} PD_ATTR;
名称 | ニモニック | 型名 |
PD属性§ | attr | PD_ATTR* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
PD_ATTR構造体の内容:
名称 | ニモニック | 型名 |
横方向感度 | sense_x | W |
縦方向感度 | sense_y | W |
(D)キー属性設定機能の場合
W err = ge_set_kya(KEY_ATTR *attr); |
typedef struct {
W rep_delay, rep_int;
} KEY_ATTR;
名称 | ニモニック | 型名 |
キー属性§ | attr | KEY_ATTR* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
KEY_ATTR構造体の内容:
名称 | ニモニック | 型名 |
キーリピート開始時間 | rep_delay | W |
キーリピート間隔 | rep_int | W |
(E)キー属性取得機能の場合
W err = ge_get_kya(KEY_ATTR *attr); |
typedef struct {
W rep_delay, rep_int;
} KEY_ATTR;
名称 | ニモニック | 型名 |
キー属性§ | attr | KEY_ATTR* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
KEY_ATTR構造体の内容:
名称 | ニモニック | 型名 |
キーリピート開始時間 | rep_delay | W |
キーリピート間隔 | rep_int | W |
(F)キーテーブル設定機能の場合
W err = ge_set_ktb(W size, TC *table); |
名称 | ニモニック | 型名 |
キーテーブルサイズ | size | W |
キーテーブル | table | TC* |
名称 | 意味 |
キーテーブルサイズ | キーテーブルのサイズ(TC単位) |
キーテーブル | キーの番号と、そのキーを押した時に入力される文字との対応表 |
(G)キーテーブル取得機能の場合
W cnt = ge_get_ktb(W size, TC *table); |
名称 | ニモニック | 型名 |
キーテーブルサイズ | size | W |
名称 | 意味 |
キーテーブルサイズ | キーテーブルのサイズ(TC単位) |
(3)出力データ
アプリケーションへは以下の出力データが渡される。
(A)イベント生成機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | evt->typeが不正 |
ER_LIMIT | キューあふれ | 0xffdc0000 | イベントキューに空きがない |
(B)PD属性設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | attrがNULL |
(C)PD属性取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | err | W |
PD属性 | attr | PD_ATTR* |
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | attrがNULL |
(D)キー属性設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | attrがNULL |
(E)キー属性取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | err | W |
キー属性 | attr | KEY_ATTR* |
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | attrがNULL |
(F)キーテーブル設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | tableがNULL |
(G)キーテーブル取得機能の場合
名称 | ニモニック | 型名 |
キーテーブル数 | cnt | W |
エラーコード | cnt | W |
キーテーブル | table | TC* |
※cntは、値が負の場合にはエラーコードを示し、値が0または正の場合にはキーテーブル数を示す。
名称 | 意味 |
キーテーブル | キーの番号と、そのキーを押した時に入力される文字との対応表 |
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | tableがNULL |
(4)例外条件及び制約条件
- イベントキューには、最大で16のイベントを蓄積することができる。
- イベントの発生をおこなうプログラムであっても、割り込みハンドラから使用することはできない。
(5)特記事項
なし
付録1.2 パネル管理機能
(1)機能説明
GUIミドルウェア機能のうち、 画面への描画及びパネル・シーンの管理をおこなう機能を提供する。
(A)描画環境管理機能
複数のタスクからの描画をサポートするための仮想的な画面である「描画環境」の管理をおこなう機能。
(B)直線描画機能
「描画環境」に直線を描画する機能。また、指定された点が直線と重なるかどうかを調べる機能。
(C)長方形描画機能
「描画環境」に長方形・角丸長方形を描画する機能。また、指定された点が長方形・角丸長方形と重なるかどうかを調べる機能。
(D)円描画機能
「描画環境」に円・楕円を描画する機能。また、指定された点が円・楕円と重なるかどうかを調べる機能。
(E)文字描画機能
「描画環境」に文字列を描画する機能。また、文字列の大きさを取得する機能。
(F)ビットマップ描画機能
「描画環境」に、指定されたビットマップを描画する機能。
(G)パネル表示機能
シーン・パネルを生成・設定・取得・表示・動作させる機能。
(H)パネル消去機能
シーン・パネルを消去・削除する機能。
(2)入力データ
パネル管理機能には、アプリケーションから以下の入力データが渡される。
typedef struct {
H x, y;
} PNT;
typedef struct {
H h, v;
} SIZE;
typedef union {
struct {
H left, top;
H right, bottom;
} c;
{
PNT lefttop;
PNT rightbot;
} p;
} RECT;
typedef struct {
PNT off;
RECT vr;
W nfra;
RECT fra[0];
} GENVPAR;
typedef struct {
W type;
H h, v;
COLOR fgcol, bgcol;
UB *mask;
} PAT;
typedef struct {
UW planes;
UH pixbits;
UH rowbytes;
RECT bounds;
UB *baseaddr[PLANES];
} BMP;
typedef struct {
W type;
TC start;
TC end;
SIZE size;
UB data[0];
} FONT;
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
描画環境生成情報§ | par | GENVPAR* |
描画環境ID | gid | W |
座標§ | p | PNT* |
長方形領域§ | r | RECT* |
長方形数 | cnt | W |
パターン生成情報§ | pat | PAT* |
パターンID | pid | W |
座標§ | s | PNT |
座標§ | e | PNT |
線属性 | lattr | UW |
描画モード | mode | W |
座標§ | pt | PNT |
線太さ | width | W |
長方形領域§ | r | RECT |
水平角丸め直径 | rh | W |
垂直角丸め直径 | rv | W |
フォント§ | font | FONT* |
座標§ | p | PNT |
文字列 | str | TC* |
文字列長 | len | W |
ビットマップ§ | bmp | BMP* |
パーツ生成情報§ | parts | PARTS* |
パーツ数 | nitem | W |
シーンID | wid | W |
項目番号 | item | W |
先頭シーンID | wids | W |
末尾シーンID | wide | W |
イベント§ | evt | EVENT* |
シーンID | wid | W* |
項目番号 | item | W* |
タイムアウト | tmout | W |
パネルID | wid | W |
先頭パネルID | wids | W |
末尾パネルID | wide | W |
パネルID | wid | W* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
※長方形領域は、システムコールによって構造体の場合とポインタの場合とがあるため、両方を記述している。
名称 | 意味 |
描画環境生成情報 | 描画環境を生成するための情報 |
描画環境ID | 描画環境を識別するためのID |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
長方形数 | 前置長方形配列の数 |
パターン生成情報 | パターンを生成するための情報 |
パターンID | パターンを識別するためのID |
線属性 | 線の太さの指定 |
描画モード | すでに描画されている図形との演算指定 |
水平角丸め直径 | 角丸長方形の角丸め部分の水平直径 |
垂直角丸め直径 | 角丸長方形の角丸め部分の垂直直径 |
線太さ | 線の太さの指定 |
フォント | 文字のビットマップを文字コード順に並べたもの |
文字列 | 描画する文字コードの配列 |
文字列長 | 文字コードの配列の長さ |
ビットマップ | 点の集まりによる図形の表現 |
パーツ生成情報 | パーツを生成するための情報 |
パーツ数 | シーン・パネルに含まれるパーツの数 |
シーンID | シーンを識別するためのID |
項目番号 | シーン・パネルに登録されたパーツの番号 |
先頭シーンID | シーンID範囲の、先頭ID |
末尾シーンID | シーンID範囲の、末尾ID |
イベント | PD・キーボードからの入力データ |
タイムアウト | イベントを待つまでの時間指定 |
パネルID | パネルを識別するためのID |
先頭パネルID | パネルID範囲の、先頭ID |
末尾パネルID | パネルID範囲の、末尾ID |
PNT構造体の内容:
名称 | ニモニック | 型名 |
水平座標 | x | H |
垂直座標 | y | H |
SIZE構造体の内容:
名称 | ニモニック | 型名 |
水平サイズ | h | H |
垂直サイズ | v | H |
RECT構造体の内容:
名称 | ニモニック | 型名 |
左辺水平座標 | left | H |
上辺垂直座標 | top | H |
右辺水平座標 | right | H |
下辺垂直座標 | bottom | H |
左上座標 | lefttop | PNT |
右下座標 | rightbot | PNT |
GENVPAR構造体の内容:
名称 | ニモニック | 型名 |
描画オフセット | off | PNT |
表示長方形 | vr | RECT |
前置長方形数 | nfra | W |
前置長方形配列 | fra | RECT[] |
PAT構造体の内容:
名称 | ニモニック | 型名 |
パターン種別 | type | W |
幅 | h | H |
高さ | v | H |
前景色 | fgcol | COLOR |
背景色 | bgcol | COLOR |
マスク | mask | UB* |
※typeは0とすること。
※maskの内容は、1となっているビットは前景色を、0となっているビットは背景色を意味する。
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
FONT構造体の内容:
名称 | ニモニック | 型名 |
フォント種別 | type | W |
先頭文字コード | start | TC |
末尾文字コード | end | TC |
フォントサイズ | size | SIZE |
フォントデータ | data | UB[] |
※typeは0とすること。
BMP構造体の内容:
名称 | ニモニック | 型名 |
プレーン数 | planes | UW |
ピクセルビット数 | pixbits | UH |
水平バイト数 | rowbytes | UH |
ビットマップ領域 | bounds | RECT |
ビットマップアドレス | baseaddr | UB*[] |
※planesは1、pixbitsは0x0101とすること。
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_NULL | 0 | NULLパーツ |
GC_TEXT | 0x100 | 文字列パーツ |
GC_RECT | 0x101 | 長方形パーツ |
GC_BMAP | 0x102 | ビットマップパーツ |
※ほかに、パーツ管理プログラム・文字入力管理プログラムのパーツタイプも指定することができる。
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
(3)出力データ
アプリケーションへは以下の出力データが渡される。
名称 | ニモニック | 型名 |
エラーコード | err | W |
描画環境ID | gid | W |
長方形数 | cnt | W |
パターンID | pid | W |
ピッキング結果 | sts | W |
パネルID | wid | W |
シーンID | wid | W |
パーツID | cid | W |
動作結果 | sts | W |
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_NOSPT | 未サポート |
ER_NOSPC | システムメモリ不足 |
ER_ID | 不正ID |
ER_NONE | データ無し |
ER_MINTR | 処理中断 |
(4)例外条件及び制約条件
- 描画環境の最大数は、システム全体で100である。
- 前置長方形配列数は、描画環境あたり、最大で16である。
- パターンの最大数は、システム全体で100である。
- パターンの最大の大きさは、幅が1〜8、高さが1〜16である。
- フォントは設定後も参照されるため、解放してはならない。
- パネル・シーンの最大数は、システム全体でシーンとパネルを合わせて64である。
- パネル・シーンに登録できるパーツの数は、パネル・シーン毎に最大64である。
- 同時に表示できるパネルの数は、最大で16である。
- パネル・シーンの定義データは登録後も参照されるので、解放してはならない。
- 同時にイベントを待つタスクの数は、最大で64である。
(5)特記事項
なし。
(6)機能ブロックの構成及び関連
「パネル管理機能」は、描画環境の管理をおこなう小機能「描画環境管理機能」、描画環境への描画をおこなう小機能「直線描画機能」「長方形描画機能」 「円描画機能」 「文字描画機能」「ビットマップ描画機能」、パネル・シーンの管理をおこなう小機能「パネル表示機能」「パネル消去機能」から構成される。
┌────────────────────────────────────────┐
│パネル管理機能 │
│ │
│┌──────────────────────────────────────┐│
││ 描画環境管理機能 ││
│└──────────────────────────────────────┘│
│┌──────┐┌──────┐┌──────┐┌──────┐┌──────┐│
││直線 ││長方形 ││円 ││文字 ││ビットマップ││
││ 描画機能││ 描画機能││ 描画機能││ 描画機能││ 描画機能││
│└──────┘└──────┘└──────┘└──────┘└──────┘│
│ ↑ ↑ ↑ ↑ ↑ │
│ ├───────┴───────┴───────┴───────┘ │
│ │ │
│┌───────────┐┌───────────┐ │
││ パネル表示機能 ││ パネル消去機能 │ │
│└───────────┘└───────────┘ │
└────────────────────────────────────────┘
図. パネル管理機能の機能ブロック相互関係
描画環境管理機能・直線描画機能・長方形描画機能・円描画機能・文字描画機能・ビットマップ描画機能は、直接、他の小機能を呼び出してデータのやり取りをおこなうことはない。しかし、それぞれの小機能は、描画環境の管理に関する情報を共有している。
パネル表示機能は、直線描画機能・長方形描画機能・円描画機能・文字描画機能・ビットマップ描画機能を使用する。
パネル消去機能は、直接、他の小機能を呼び出してデータのやり取りをおこなうことはない。しかし、パネル表示機能とパネル消去機能は、パネルの管理に関する情報を共有している。
付録1.2.1 描画環境管理機能
(1)機能説明
パネル管理機能のうち、描画環境の生成・削除・設定・取得をおこなう機能を提供する。また、パターンの生成・削除をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)描画環境生成機能
入力データで指定された「描画環境生成情報」にもとづいて新たな描画環境を生成する。生成した描画環境の「描画環境ID」を、出力データとして返す。
(B)描画環境削除機能
入力データで指定された「描画環境ID」を削除する。
(C)描画オフセット設定機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「描画オフセット」を設定する。
(D)描画オフセット取得機能
入力データで指定された「描画環境ID」の描画オフセットを、入力データで指定された「描画オフセット」の領域に格納する。
(E)表示長方形設定機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「表示長方形」を設定する。
(F)表示長方形取得機能
入力データで指定された「描画環境ID」の表示長方形を、入力データで指定された「表示長方形」の領域に格納する。
(G)前置長方形配列設定機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「前置長方形配列」を設定する。
(H)前置長方形配列取得機能
入力データで指定された「描画環境ID」の前置長方形配列を、入力データで指定された「前置長方形配列」の領域に格納する。
(I)パターン生成機能
入力データで指定された「パターン生成情報」にもとづいて新たなパターンを生成する。生成したパターンの「パターンID」を、出力データとして返す。
(J)パターン削除機能
入力データで指定された「パターンID」を削除する。
(2)入力データ
描画環境管理機能には、アプリケーションから以下の入力データが渡される。
(A)描画環境生成機能の場合
W gid = gp_cre_env(GENVPAR *par); |
typedef struct {
PNT off;
RECT vr;
W nfra;
RECT fra[0];
} GENVPAR;
名称 | ニモニック | 型名 |
描画環境生成情報§ | par | GENVPAR* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境生成情報 | 描画環境を生成するための情報 |
GENVPAR構造体の内容:
名称 | ニモニック | 型名 |
描画オフセット | off | PNT |
表示長方形 | vr | RECT |
前置長方形数 | nfra | W |
前置長方形配列 | fra | RECT[] |
(B)描画環境削除機能の場合
W err = gp_del_env(W gid); |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
(C)描画オフセット設定機能の場合
W err = gp_set_off(W gid, PNT *p); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
座標 | p | PNT* |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
(D)描画オフセット取得機能の場合
W err = gp_get_off(W gid, PNT *p); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
座標 | p | PNT* |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
(E)表示長方形設定機能の場合
W err = gp_set_vis(W gid, RECT *r); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
長方形領域 | r | RECT* |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
(F)表示長方形取得機能の場合
W err = gp_get_vis(W gid, RECT *r); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
長方形領域 | r | RECT* |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
(G)前置長方形配列設定機能の場合
W err = gp_set_fra(W gid, RECT *r, W cnt); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
長方形領域 | r | RECT* |
長方形数 | cnt | W |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
長方形数 | 前置長方形配列の数 |
(H)前置長方形配列取得機能の場合
W cnt = gp_get_fra(W gid, RECT *r, W cnt); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
長方形領域 | r | RECT* |
長方形数 | cnt | W |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
長方形数 | 前置長方形配列の数 |
(I)パターン生成機能の場合
W pid = gp_cre_pat(PAT *pat); |
typedef struct {
W type;
H h, v;
COLOR fgcol, bgcol;
UB *mask;
} PAT;
名称 | ニモニック | 型名 |
パターン生成情報§ | pat | PAT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
パターン生成情報 | パターンを生成するための情報 |
PAT構造体の内容:
名称 | ニモニック | 型名 |
パターン種別 | type | W |
幅 | h | H |
高さ | v | H |
前景色 | fgcol | COLOR |
背景色 | bgcol | COLOR |
マスク | mask | UB* |
※typeは0とすること。
※maskの内容は、1となっているビットは前景色を、0となっているビットは背景色を意味する。
(J)パターン削除機能の場合
W err = gp_del_pat(W pid); |
名称 | 意味 |
パターンID | パターンを識別するためのID |
(3)出力データ
アプリケーションへは以下の出力データが渡される。
(A)描画環境生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | gid | W |
描画環境ID | gid | W |
※gidは、値が負の場合にはエラーコードを示し、値が0または正の場合には描画環境IDを示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_NOSPT | 未サポート |
ER_NOSPC | システムメモリ不足 |
ER_ID | 不正ID |
(B)描画環境削除機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ID | 不正ID |
(C)描画オフセット設定機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(D)描画オフセット取得機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(E)表示長方形設定機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(F)表示長方形取得機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(G)前置長方形配列設定機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_NOSPT | 未サポート |
ER_ID | 不正ID |
(H)前置長方形配列取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | cnt | W |
長方形数 | cnt | W |
※cntは、値が負の場合にはエラーコードを示し、値が0または正の場合には長方形数を示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(I)パターン生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | pid | W |
パターンID | pid | W |
※pidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパターンIDを示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_NOSPT | 未サポート |
ER_ID | 不正ID |
(J)パターン削除機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ID | 不正ID |
(4)例外条件及び制約条件
- 描画環境の最大数は、システム全体で100である。
- 前置長方形配列数は、描画環境あたり、最大で16である。
- パターンの最大数は、システム全体で100である。
- パターンの最大の大きさは、幅が1〜8、高さが1〜16である。
(5)特記事項
なし。
付録1.2.2 直線描画機能
(1)機能説明
パネル管理機能のうち、描画環境に直線を描画する機能を提供する。また、指定された点が直線と重なっているかどうかを調べる機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)直線描画機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「座標」「パターンID」「描画モード」にしたがって、直線を描画する。
(B)直線ピッキング機能
入力データで指定された「座標」が、入力データで指定された「座標」「線太さ」で示される直線上にあるかどうかを、出力データとして返す。
(2)入力データ
直線描画機能には、アプリケーションから以下の入力データが渡される。
(A)直線描画機能の場合
W err = gp_dra_lin(W gid, PNT s, PNT e, UW lattr, W pid, W mode); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パターンID | pid | W |
座標 | s | PNT |
座標 | e | PNT |
線属性 | lattr | UW |
描画モード | mode | W |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
パターンID | パターンを識別するためのID |
線属性 | 線の太さの指定 |
描画モード | すでに描画されている図形との演算指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
(B)直線ピッキング機能の場合
W sts = gp_pic_lin(PNT pt, PNT s, PNT e, W width); |
名称 | ニモニック | 型名 |
座標 | s | PNT |
座標 | e | PNT |
座標 | pt | PNT |
線太さ | width | W |
※長方形領域は、システムコールによって構造体の場合とポインタの場合とがあるため、両方を記述している。
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
パターン生成情報 | パターンを生成するための情報 |
パターンID | パターンを識別するためのID |
線属性 | 線の太さの指定 |
描画モード | すでに描画されている図形との演算指定 |
水平角丸め直径 | 角丸長方形の角丸め部分の水平直径 |
垂直角丸め直径 | 角丸長方形の角丸め部分の垂直直径 |
線太さ | 線の太さの指定 |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(A)直線描画機能」の場合、システムコールの副作用として画面への描画がおこなわれる。
(A)直線描画機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(B)直線ピッキング機能の場合
名称 | ニモニック | 型名 |
エラーコード | sts | W |
ピッキング結果 | sts | W |
※stsは、値が負の場合にはエラーコードを示し、値が0または正の場合にはピッキング結果を示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
(4)例外条件及び制約条件
なし
(5)特記事項
なし。
付録1.2.3 長方形描画機能
(1)機能説明
パネル管理機能のうち、長方形・角丸長方形の描画をおこなう機能を提供する。また、指定した点と長方形・角丸長方形が重なっているかどうかを調べる機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)長方形枠描画機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「長方形領域」「線属性」「パターンID」「描画モード」にしたがって、長方形の枠を描画する。
(B)長方形塗りつぶし機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「長方形領域」「パターンID」「描画モード」にしたがって、長方形の内部を描画する。
(C)長方形ピッキング機能
入力データで指定された「座標」が、入力データで指定された「長方形領域」「線太さ」で示される長方形枠上にあるかどうかを、出力データとして返す。「線太さ」が0の場合は、 長方形内部にあるかどうかを返す。
(D)角丸長方形枠描画機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「長方形領域」「水平角丸め指定」「垂直角丸め指定」「線属性」「パターンID」「描画モード」にしたがって、角丸長方形の枠を描画する。
(E)角丸長方形塗りつぶし機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「長方形領域」「水平角丸め指定」「垂直角丸め指定」「パターンID」「描画モード」にしたがって、角丸長方形の内部を描画する。
(F)角丸長方形ピッキング機能
入力データで指定された「座標」が、入力データで指定された「長方形領域」「水平角丸め指定」「垂直角丸め指定」「線太さ」で示される角丸長方形枠上にあるかどうかを、出力データとして返す。「線太さ」が0の場合は、角丸長方形内部にあるかどうかを返す。
(2)入力データ
長方形描画機能には、アプリケーションから以下の入力データが渡される。
(A)長方形枠描画機能の場合
W err = gp_fra_rec(W gid, RECT r, UW lattr, W pid, W mode); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パターンID | pid | W |
線属性 | lattr | UW |
描画モード | mode | W |
長方形領域 | r | RECT |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
パターンID | パターンを識別するためのID |
線属性 | 線の太さの指定 |
描画モード | すでに描画されている図形との演算指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
(B)長方形塗りつぶし機能の場合
W err = gp_fil_rec(W gid, RECT r, W pid, W mode); |
l
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パターンID | pid | W |
描画モード | mode | W |
長方形領域 | r | RECT |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
パターンID | パターンを識別するためのID |
描画モード | すでに描画されている図形との演算指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
(C)長方形ピッキング機能の場合
W sts = gp_pic_rec(PNT pt, RECT r, W width); |
名称 | ニモニック | 型名 |
座標 | pt | PNT |
線太さ | width | W |
長方形領域 | r | RECT |
名称 | 意味 |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
線太さ | 線の太さの指定 |
(D)角丸長方形枠描画機能の場合
W err = gp_fra_rrc(W gid, W rh, W rv, RECT r, UW lattr, W pid, W mode); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パターンID | pid | W |
線属性 | lattr | UW |
描画モード | mode | W |
長方形領域 | r | RECT |
水平角丸め直径 | rh | W |
垂直角丸め直径 | rv | W |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
パターンID | パターンを識別するためのID |
線属性 | 線の太さの指定 |
描画モード | すでに描画されている図形との演算指定 |
水平角丸め直径 | 角丸長方形の角丸め部分の水平直径 |
垂直角丸め直径 | 角丸長方形の角丸め部分の垂直直径 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
(E)角丸長方形塗りつぶし機能の場合
W err = gp_fil_rrc(W gid, W rh, W rv, RECT r, W pid, W mode); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パターンID | pid | W |
描画モード | mode | W |
長方形領域 | r | RECT |
水平角丸め直径 | rh | W |
垂直角丸め直径 | rv | W |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
パターンID | パターンを識別するためのID |
描画モード | すでに描画されている図形との演算指定 |
水平角丸め直径 | 角丸長方形の角丸め部分の水平直径 |
垂直角丸め直径 | 角丸長方形の角丸め部分の垂直直径 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
(F)角丸長方形ピッキング機能の場合
W sts = gp_pic_rrc(PNT pt, W rh, W rv, RECT r, W width); |
名称 | ニモニック | 型名 |
座標 | pt | PNT |
線太さ | width | W |
長方形領域 | r | RECT |
水平角丸め直径 | rh | W |
垂直角丸め直径 | rv | W |
名称 | 意味 |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
水平角丸め直径 | 角丸長方形の角丸め部分の水平直径 |
垂直角丸め直径 | 角丸長方形の角丸め部分の垂直直径 |
線太さ | 線の太さの指定 |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(A)長方形行く描画機能」「(B)長方形塗りつぶし機能」「(D)角丸長方形枠描画機能」「(E)角丸長方形塗りつぶし機能」の場合、システムコールの副作用として画面への描画がおこなわれる。
(A)長方形枠描画機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(B)長方形塗りつぶし機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(C)長方形ピッキング機能の場合
名称 | ニモニック | 型名 |
エラーコード | sts | W |
ピッキング結果 | sts | W |
※stsは、値が負の場合にはエラーコードを示し、値が0または正の場合にはピッキング結果を示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
(D)角丸長方形枠描画機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(E)角丸長方形塗りつぶし機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(F)角丸長方形ピッキング機能の場合
名称 | ニモニック | 型名 |
エラーコード | sts | W |
ピッキング結果 | sts | W |
※stsは、値が負の場合にはエラーコードを示し、値が0または正の場合にはピッキング結果を示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
(4)例外条件及び制約条件
なし
(5)特記事項
なし。
付録1.2.4 円描画機能
(1)機能説明
パネル管理機能のうち、円・楕円を描画環境に描画する機能を提供する。また、指定された点と円・楕円が重なっているかどうかをチェックする機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)楕円枠描画機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「長方形領域」「線属性」「パターンID」「描画モード」にしたがって、楕円の枠を描画する。
(B)楕円塗りつぶし機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「長方形領域」「パターンID」「描画モード」にしたがって、楕円の内部を描画する。
(C)楕円ピッキング機能
入力データで指定された「座標」が、入力データで指定された「長方形領域」「線太さ」で示される楕円枠上にあるかどうかを、出力データとして返す。「線太さ」が0の場合は、楕円内部にあるかどうかを返す。
(2)入力データ
円描画機能には、アプリケーションから以下の入力データが渡される。
(A)楕円枠描画機能の場合
W err = gp_fra_ovl(W gid, RECT r, UW lattr, W pid, W mode); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パターンID | pid | W |
線属性 | lattr | UW |
描画モード | mode | W |
長方形領域 | r | RECT |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
パターンID | パターンを識別するためのID |
線属性 | 線の太さの指定 |
描画モード | すでに描画されている図形との演算指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
(B)楕円塗りつぶし機能の場合
W err = gp_fil_ovl(W gid, RECT r, W pid, W mode); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パターンID | pid | W |
描画モード | mode | W |
長方形領域 | r | RECT |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
パターンID | パターンを識別するためのID |
描画モード | すでに描画されている図形との演算指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
(C)楕円ピッキング機能の場合
W sts = gp_pic_ovl(PNT pt, RECT r, W width); |
名称 | ニモニック | 型名 |
座標 | pt | PNT |
線太さ | width | W |
長方形領域 | r | RECT |
名称 | 意味 |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
線太さ | 線の太さの指定 |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(A)楕円枠描画機能」「(B)楕円塗りつぶし機能」の場合、システムコールの副作用として画面への描画がおこなわれる。
(A)楕円枠描画機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(B)楕円塗りつぶし機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(C)楕円ピッキング機能の場合
名称 | ニモニック | 型名 |
エラーコード | sts | W |
ピッキング結果 | sts | W |
※stsは、値が負の場合にはエラーコードを示し、値が0または正の場合にはピッキング結果を示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
(4)例外条件及び制約条件
なし。
(5)特記事項
なし。
付録1.2.5 文字描画機能
(1)機能説明
パネル管理機能のうち、描画環境に文字列を描画する機能を提供する。また、文字列のサイズを取得する機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)フォント設定機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「フォント」を設定する。
(B)文字列描画機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「座標」「文字列」「文字列長」「パターンID」「描画モード」にもとづいて文字列を描画する。
(C)文字列サイズ取得機能
入力データで指定された「描画環境ID」 で、 入力データで指定された「文字列」「文字列長」を描画した場合の長方形領域を、入力データで指定された「長方形配列」の領域に格納する。
(2)入力データ
文字描画機能には、アプリケーションから以下の入力データが渡される。
(A)フォント設定機能の場合
W err = gp_set_fon(W gid, FONT *font); |
typedef struct {
W type;
TC start;
TC end;
SIZE size;
UB data[0];
} FONT;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
フォント§ | font | FONT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
フォント | 文字のビットマップを文字コード順に並べたもの |
FONT構造体の内容:
名称 | ニモニック | 型名 |
フォント種別 | type | W |
先頭文字コード | start | TC |
末尾文字コード | end | TC |
フォントサイズ | size | SIZE |
フォントデータ | data | UB[] |
※typeは0とすること。
(B)文字列描画機能の場合
W err = gp_dra_stp(W gid, PNT p, TC *str, W len, W pid, W mode); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パターンID | pid | W |
描画モード | mode | W |
座標 | p | PNT |
文字列 | str | TC* |
文字列長 | len | W |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
パターンID | パターンを識別するためのID |
描画モード | すでに描画されている図形との演算指定 |
文字列 | 描画する文字コードの配列 |
文字列長 | 文字コードの配列の長さ |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
(C)文字列サイズ取得機能の場合
W err = gp_get_str(W gid, TC *str, W len, RECT *r); |
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
長方形領域 | r | RECT* |
文字列 | str | TC* |
文字列長 | len | W |
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
文字列 | 描画する文字コードの配列 |
文字列長 | 文字コードの配列の長さ |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(B)文字列描画機能」の場合、システムコールの副作用として画面への描画がおこなわれる。
(A)フォント設定機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(B)文字列描画機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(C)文字列サイズ取得機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(4)例外条件及び制約条件
- フォントは設定後も参照されるため、解放してはならない。
(5)特記事項
なし。
付録1.2.6 ビットマップ描画機能
(1)機能説明
パネル管理機能のうち、描画環境にビットマップの描画をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)ビットマップ描画機能
入力データで指定された「描画環境ID」 に、 入力データで指定された「ビットマップ」「座標」「描画モード」にもとづいて、ビットマップを描画する。
(2)入力データ
ビットマップ描画機能には、アプリケーションから以下の入力データが渡される。
(A)ビットマップ描画機能の場合
W err = gp_dra_bmp(W gid, BMP *bmp, PNT p, W mode); |
typedef struct {
UW planes;
UH pixbits;
UH rowbytes;
RECT bounds;
UB *baseaddr[PLANES];
} BMP;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
描画モード | mode | W |
座標 | p | PNT |
ビットマップ§ | bmp | BMP* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を識別するためのID |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
描画モード | すでに描画されている図形との演算指定 |
ビットマップ | 点の集まりによる図形の表現 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
G_STORE | 0 | そのまま描画 |
G_XOR | 1 | XOR演算して描画 |
G_OR | 2 | OR演算して描画 |
G_AND | 3 | AND演算して描画 |
G_CPYN | 4 | 反転描画 |
G_XORN | 5 | 反転データでXOR描画 |
G_ORN | 6 | 反転データでOR描画 |
G_ANDN | 7 | 反転データでAND描画 |
BMP構造体の内容:
名称 | ニモニック | 型名 |
プレーン数 | planes | UW |
ピクセルビット数 | pixbits | UH |
水平バイト数 | rowbytes | UH |
ビットマップ領域 | bounds | RECT |
ビットマップアドレス | baseaddr | UB*[] |
※planesは1、pixbitsは0x0101とすること。
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(A)ビットマップ描画機能」の場合、システムコールの副作用として画面への描画がおこなわれる。
(A)ビットマップ描画機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(4)例外条件及び制約条件
なし。
(5)特記事項
なし。
付録1.2.7 パネル表示機能
(1)機能説明
パネル管理機能のうち、シーン・パネルの生成・表示・設定・取得をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)シーン生成機能
入力データで指定された「シーン生成情報」にしたがって、シーンを生成する。生成したシーンの「シーンID」を、出力データとして返す。
(B)シーン設定機能
入力データで指定された「シーンID」の「項目番号」で指定された項目を、入力データで指定された「パーツ生成情報」のパーツで置き換える。生成されたパーツのパーツIDが、出力データとして返る。
(C)シーン表示機能
今まで表示されていたシーンを非表示状態とし、入力データで指定された「シーンID」を表示状態とする。
(D)シーン表示長方形設定機能
入力データで指定された「シーンID」の表示長方形を、入力データで指定された「長方形領域」に変更する。
(E)シーンキー座標設定機能
入力データで指定された「シーンID」のキー座標を、入力データで指定された「座標」に変更する。
(F)シーン動作機能
入力データで指定された「先頭シーンID」「末尾シーンID」の範囲のシーンに対するイベントを、「タイムアウト」の時間だけ受け付ける。イベントがシーンに登録されているパーツ上でおこなった場合には、パーツの動作もおこなう。動作の対象となったシーンID・項目番号・イベントが、入力データで指定された「シーンID」「項目番号」「イベント」の領域に格納される。
(G)パネル生成機能
入力データで指定された「シーン生成情報」にしたがって、シーンを生成する。生成したシーンの「シーンID」を、出力データとして返す。
(H)パネル設定機能
入力データで指定された「パネルID」の「項目番号」で指定された項目を、入力データで指定された「パーツ生成情報」のパーツで置き換える。生成されたパーツのパーツIDが、出力データとして返る。
(I)パネル表示機能
入力データで指定された「パネルID」を、最前面に表示する。
(J)パネル表示長方形設定機能
入力データで指定された「パネルID」の表示長方形を、入力データで指定された「長方形領域」に変更する。
(K)パネルキー座標設定機能
入力データで指定された「パネルID」のキー座標を、入力データで指定された「座標」に変更する。
(L)パネル動作機能
入力データで指定された「先頭パネルID」「末尾パネルID」の範囲のパネルに対するイベントを、「タイムアウト」の時間だけ受け付ける。イベントがパネルに登録されているパーツ上でおこなった場合には、パーツの動作もおこなう。動作の対象となったパネルID・項目番号・イベントが、入力データで指定された「パネルID」「項目番号」「イベント」の領域に格納される。
(2)入力データ
パネル表示機能には、アプリケーションから以下の入力データが渡される。
(A)シーン生成機能の場合
W wid = gp_cre_scn(PARTS *parts, W nitem); |
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
名称 | ニモニック | 型名 |
パーツ生成情報§ | parts | PARTS* |
パーツ数 | nitem | W |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
パーツ生成情報 | パーツを生成するための情報 |
パーツ数 | シーンに含まれるパーツの数 |
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_NULL | 0 | NULLパーツ |
GC_TEXT | 0x100 | 文字列パーツ |
GC_RECT | 0x101 | 長方形パーツ |
GC_BMAP | 0x102 | ビットマップパーツ |
※ほかに、パーツ管理プログラム・文字入力管理プログラムのパーツタイプも指定することができる。
(B)シーン設定機能の場合
W cid = gp_set_scn(W wid, W item, PARTS *parts); |
名称 | ニモニック | 型名 |
パーツ生成情報 | parts | PARTS* |
シーンID | wid | W |
項目番号 | item | W |
名称 | 意味 |
パーツ生成情報 | パーツを生成するための情報 |
シーンID | シーンを識別するためのID |
項目番号 | シーンに登録されたパーツの番号 |
(C)シーン表示機能の場合
W err = gp_swi_scn(W wid); |
(D)シーン表示長方形設定機能の場合
W err = gp_vis_scn(W wid, RECT *r); |
名称 | ニモニック | 型名 |
長方形領域 | r | RECT* |
シーンID | wid | W |
名称 | 意味 |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
シーンID | シーンを識別するためのID |
(E)シーンキー座標設定機能の場合
W err = gp_kps_scn(W wid, PNT *p); |
名称 | ニモニック | 型名 |
座標 | p | PNT* |
シーンID | wid | W |
名称 | 意味 |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
シーンID | シーンを識別するためのID |
(F)シーン動作機能の場合
W sts = gp_act_scn(W wids, W wide, EVENT *evt, W* wid, W* item, W tmout); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
先頭シーンID | wids | W |
末尾シーンID | wide | W |
イベント§ | evt | EVENT* |
シーンID | wid | W* |
項目番号 | item | W* |
タイムアウト | tmout | W |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
シーンID | シーンを識別するためのID |
項目番号 | シーン・パネルに登録されたパーツの番号 |
先頭シーンID | シーンID範囲の、先頭ID |
末尾シーンID | シーンID範囲の、末尾ID |
イベント | PD・キーボードからの入力データ |
タイムアウト | イベントを待つまでの時間指定 |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
(G)パネル生成機能の場合
W wid = gp_cre_pnl(RECT *r, PARTS *parts, W nitem); |
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
名称 | ニモニック | 型名 |
長方形領域 | r | RECT* |
パーツ生成情報§ | parts | PARTS* |
パーツ数 | nitem | W |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
パーツ生成情報 | パーツを生成するための情報 |
パーツ数 | パネルに含まれるパーツの数 |
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_NULL | 0 | NULLパーツ |
GC_TEXT | 0x100 | 文字列パーツ |
GC_RECT | 0x101 | 長方形パーツ |
GC_BMAP | 0x102 | ビットマップパーツ |
※ほかに、パーツ管理プログラム・文字入力管理プログラムのパーツタイプも指定することができる。
(H)パネル設定機能の場合
W cid = gp_set_pnl(W wid, W item, PARTS *parts); |
名称 | ニモニック | 型名 |
パーツ生成情報 | parts | PARTS* |
項目番号 | item | W |
パネルID | wid | W |
名称 | 意味 |
パーツ生成情報 | パーツを生成するための情報 |
項目番号 | パネルに登録されたパーツの番号 |
パネルID | パネルを識別するためのID |
(I)パネル表示機能の場合
W err = gp_app_pnl(W wid); |
(J)パネル表示長方形設定機能の場合
W err = gp_vis_pnl(W wid, RECT *r); |
名称 | ニモニック | 型名 |
長方形領域 | r | RECT* |
パネルID | wid | W |
名称 | 意味 |
長方形領域 | 左辺の水平位置・上辺の垂直位置・右辺の水平位置+1・下辺の垂直位置+1の組み合わせによる、領域の指定 |
パネルID | パネルを識別するためのID |
(K)パネルキー座標設定機能の場合
W err = gp_kps_pnl(W wid, PNT *p); |
名称 | ニモニック | 型名 |
座標 | p | PNT* |
パネルID | wid | W |
名称 | 意味 |
座標 | 水平位置・垂直位置の組み合わせによる、位置の指定 |
パネルID | パネルを識別するためのID |
(L)パネル動作機能の場合
W sts = gp_act_pnl(W wids, W wide, EVENT *evt, W* wid, W* item, W tmout); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
イベント§ | evt | EVENT* |
項目番号 | item | W* |
タイムアウト | tmout | W |
先頭パネルID | wids | W |
末尾パネルID | wide | W |
パネルID | wid | W* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
項目番号 | シーン・パネルに登録されたパーツの番号 |
イベント | PD・キーボードからの入力データ |
タイムアウト | イベントを待つまでの時間指定 |
パネルID | パネルを識別するためのID |
先頭パネルID | パネルID範囲の、先頭ID |
末尾パネルID | パネルID範囲の、末尾ID |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
(3)出力データ
アプリケーションへは以下の出力データが渡される。
(A)シーン生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | wid | W |
シーンID | wid | W |
※widは、値が負の場合にはエラーコードを示し、値が0または正の場合にはシーンIDを示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_NOSPC | システムメモリ不足 |
(B)シーン設定機能の場合
名称 | ニモニック | 型名 |
エラーコード | cid | W |
パーツID | cid | W |
※cidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツIDを示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_NOSPC | システムメモリ不足 |
ER_ID | 不正ID |
(C)シーン表示機能の場合
名称 | ニモニック | 型名 |
エラーコード | err | W |
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ID | 不正ID |
(D)シーン表示長方形設定機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(E)シーンキー座標設定機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(F)シーン動作機能の場合
名称 | ニモニック | 型名 |
エラーコード | sts | W |
動作結果 | sts | W |
※stsは、値が負の場合にはエラーコードを示し、値が0または正の場合には動作結果を示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_NONE | データ無し |
ER_MINTR | 処理中断 |
(G)パネル生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | wid | W |
パネルID | wid | W |
※widは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパネルIDを示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_NOSPC | システムメモリ不足 |
(H)パネル設定機能の場合
名称 | ニモニック | 型名 |
エラーコード | cid | W |
パーツID | cid | W |
※cidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツIDを示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_NOSPC | システムメモリ不足 |
ER_ID | 不正ID |
(I)パネル表示機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_NOSPC | システムメモリ不足 |
ER_ID | 不正ID |
(J)パネル表示長方形設定機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(K)パネルキー座標設定機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_ID | 不正ID |
(L)パネル動作機能の場合
名称 | ニモニック | 型名 |
エラーコード | sts | W |
動作結果 | sts | W |
※stsは、値が負の場合にはエラーコードを示し、値が0または正の場合には動作結果を示す。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_NONE | データ無し |
ER_MINTR | 処理中断 |
(4)例外条件及び制約条件
- パネル・シーンの最大数は、システム全体でシーンとパネルを合わせて64である。
- パネル・シーンに登録できるパーツの数は、パネル・シーン毎に最大64である。
- 同時に表示できるパネルの数は、最大で16である。
- パネル・シーンの定義データは登録後も参照されるので、解放してはならない。
- 同時にイベントを待つタスクの数は、最大で64である。
(5)特記事項
なし。
付録1.2.8 パネル消去機能
(1)機能説明
パネル管理機能のうち、シーン・パネルの消去・削除をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)シーン削除機能
入力データで指定された「シーンID」を削除する。
(B)パネル消去機能
入力データで指定された「パネルID」を消去状態とする。
(C)パネル削除機能
入力データで指定された「パネルID」を削除する。
(2)入力データ
パネル消去機能には、アプリケーションから以下の入力データが渡される。
(A)シーン削除機能の場合
W err = gp_del_scn(W wid); |
(B)パネル消去機能の場合
W err = gp_del_pnl(W wid); |
(C)パネル削除機能の場合
W err = gp_dis_pnl(W wid); |
(3)出力データ
アプリケーションへは以下の出力データが渡される。
(A)シーン削除機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ID | 不正ID |
(B)パネル消去機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_PAR | 不正パラメータ |
ER_ID | 不正ID |
(C)パネル削除機能の場合
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ID | 不正ID |
(4)例外条件及び制約条件
なし。
(5)特記事項
なし。
付録1.3 パーツ管理機能
(1)機能説明
GUIミドルウェア機能のうち、パーツの管理をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)モーメンタリスイッチ管理機能
モーメンタリスイッチの生成・削除・表示・設定・取得・動作をおこなう。モーメンタリスイッチは、スイッチ上でクリック動作がおこなわれたことを検出するパーツである。
(B)オルタネートスイッチ管理機能
オルタネートスイッチの生成・削除・表示・設定・取得・動作をおこなう。オルタネートスイッチは、スイッチ上でクリックすることでオン・オフが反転するスイッチである。
(C)スイッチセレクタ管理機能
スイッチセレクタの生成・削除・表示・設定・取得・動作をおこなう。スイッチセレクタは、いくつかの選択肢を表示し、選択することができるパーツである。
(D)スクロールセレクタ管理機能
スクロールセレクタの生成・削除・表示・設定・取得・動作をおこなう。スクロールセレクタは、いくつかの選択肢を、スクロール可能な領域に表示し、選択することができるパーツである。
(E)シリアルセレクタ管理機能
シリアルの生成・削除・表示・設定・取得・動作をおこなう。シリアルセレクタは、 いくつかの選択肢のうちの1つを表示し、スイッチによって前後の選択肢を選択することができるパーツである。
(F)ボリューム管理機能
ボリュームの生成・削除・表示・設定・取得・動作をおこなう。ボリュームは、連続したある範囲の値を表示・設定するパーツである。
(2)入力データ
パーツ管理機能には、アプリケーションから以下の入力データが渡される。
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パーツ生成情報§ | parts | PARTS* |
パーツID | cid | W |
パーツ状態指定 | mode | W |
パーツ文字列 | str | TC* |
パーツ現在値 | val | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
イベント§ | evt | EVENT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
パーツ生成情報 | パーツ状態・領域等を指定する情報 |
パーツID | パーツを区別するためのID |
パーツ状態指定 | パーツ状態を変更するための指定 |
パーツ文字列 | パーツに登録されている文字列 |
パーツ現在値 | パーツに登録されている値 |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
イベント | イベントが格納されている領域 |
※パーツ文字列の終端には、TNULLを指定する。
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
※パーツ文字列の終端には、TNULLを指定する。複数の項目がある場合は、項目の間をMC_STRで区切る。
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_MSPARTS | 2 | モーメンタリスイッチ |
GC_ASPARTS | 3 | オルタネートスイッチ |
GC_WSPARTS | 4 | スイッチセレクタ |
GC_SSPARTS | 5 | スクロールセレクタ |
GC_ESPARTS | 6 | シリアルセレクタ |
GC_VLPARTS | 7 | ボリューム |
GC_HALIGN | 0x20 | 水平配置 |
GC_DOUBLE | 0x40 | 2段組み |
GC_NONOB | 0x80 | トンボ表示なし |
GC_NOSEL | 0x80 | 無選択を許可 |
GC_EMPHAS | 0x200 | 強調枠 |
GC_DISABLE | 0x800 | 禁止状態 |
※GC_NONOBはボリュームのみ、GC_NOSELはスイッチセレクタ・スクロールセレクタのみに使用されるため、同じ数値を割り当てていても問題は発生しない。
modeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_EMPHAS | 0x200 | 強調枠 |
GC_NORMAL | 0x2 | 通常枠 |
GC_DISABLE | 0x800 | 禁止状態 |
GC_ENABLE | 0x8 | 許可状態 |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_BUTDWN | 1 | プレスイベント |
(3)出力データ
アプリケーションへは以下の出力データが渡される。
名称 | ニモニック | 型名 |
エラーコード | err | W |
パーツID | cid | W |
パーツ現在値 | val | W |
※パーツが有効動作をした場合には、valにGC_ACT(0x1000)がorされる。
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_NOSPC | システムメモリ不足 |
ER_ID | 不正ID |
(4)例外条件及び制約条件
- 生成可能な最大パーツ数は、システム全体で256個である。
- 指定された領域内に文字列が表示しきれない場合は、動作は保証されない。
- モーメンタリスイッチ・オルタネートスイッチ・スイッチセレクタ・スクロールセレクタ・シリアルセレクタの場合、 strで示される領域は、表示の際に参照されるので、パーツを削除するまで解放してはならない。
(5)特記事項
なし。
(6)機能ブロックの構成及び関連
パーツ管理機能は、 小機能である「モーメンタリスイッチ管理機能」「オルタネートスイッチ管理機能」「スイッチセレクタ管理機能」「スクロールセレクタ管理機能」「シリアルセレクタ管理機能」「ボリューム管理機能」から構成される。
┌────────────────────────┐
│パーツ管理機能 │
│ │
│┌──────────┐┌──────────┐│
││モーメンタリスイッチ││オルタネートスイッチ││
││ 管理機能││ 管理機能││
│└──────────┘└──────────┘│
│┌──────────┐┌──────────┐│
││スイッチセレクタ ││スクロールセレクタ ││
││ 管理機能││ 管理機能││
│└──────────┘└──────────┘│
│┌──────────┐┌──────────┐│
││シリアルセレクタ ││ボリューム ││
││ 管理機能││ 管理機能││
│└──────────┘└──────────┘│
└────────────────────────┘
図 パーツ管理機能の機能ブロック相互関係
モーメンタリスイッチ管理機能・オルタネートスイッチ管理機能・スイッチセレクタ管理機能・スクロールセレクタ管理機能・シリアルセレクタ管理機能・ボリューム管理機能は、直接、他の小機能を呼び出してデータのやり取りをおこなうことはない。しかし、それぞれの小機能は、パーツの管理に関する情報を共有している。
付録1.3.1 モーメンタリスイッチ管理機能
(1)機能説明
パーツ管理機能のうち、モーメンタリスイッチの管理をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)モーメンタリスイッチ生成機能
入力データで指定された「パーツ生成情報」にしたがって、入力データで指定された「描画環境ID」上に、パーツを生成する。生成したパーツのパーツIDを、出力データとして返す。
(B)モーメンタリスイッチ削除機能
入力データで指定された「パーツID」で示されるパーツを削除する。
(C)モーメンタリスイッチ表示機能
入力データで指定された「パーツID」で示されるパーツの状態を、入力データで指定された「パーツ状態指定」にしたがって変更し、画面への表示をおこなう。
(D)モーメンタリスイッチ設定機能
入力データで指定された「パーツID」で示されるパーツの内容を、入力データで指定された「パーツ文字列」「パーツ現在値」の内容で置き換える。
(E)モーメンタリスイッチ取得機能
入力データで指定された「パーツID」で示されるパーツの内容を、出力データとして返す。
(F)モーメンタリスイッチ動作機能
入力データで指定された「パーツID」で示されるパーツに対し、入力データで指定された「イベント」にもとづいた動作をおこなわせる。動作の結果を、出力データとして返す。
(2)入力データ
モーメンタリスイッチ管理機能には、アプリケーションから以下の入力データが渡される。
(A)モーメンタリスイッチ生成機能の場合
W cid = gc_cre_par(W gid, PARTS *parts); |
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パーツ生成情報§ | parts | PARTS* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
パーツ生成情報 | パーツ状態・領域等を指定する情報 |
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
※パーツ文字列の終端には、TNULLを指定する。
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_MSPARTS | 2 | モーメンタリスイッチ |
GC_EMPHAS | 0x200 | 強調枠 |
GC_DISABLE | 0x800 | 禁止状態 |
(B)モーメンタリスイッチ削除機能の場合
W err = gc_del_par(W cid); |
(C)モーメンタリスイッチ表示機能の場合
W err = gc_dsp_par(W cid, W mode); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ状態指定 | mode | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ状態指定 | パーツ状態を変更するための指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_EMPHAS | 0x200 | 強調枠 |
GC_NORMAL | 0x2 | 通常枠 |
GC_DISABLE | 0x800 | 禁止状態 |
GC_ENABLE | 0x8 | 許可状態 |
(D)モーメンタリスイッチ設定機能の場合
W err = gc_set_par(W cid, TC *str, W val); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ文字列 | str | TC* |
パーツ現在値 | val | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ文字列 | パーツに登録されている文字列 |
パーツ現在値 | パーツに登録されている値 |
※パーツ文字列の終端には、TNULLを指定する。
(E)モーメンタリスイッチ取得機能の場合
W val = gc_get_par(W cid, TC *str, W size); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
※パーツ文字列の終端には、TNULLが格納される。
(F)モーメンタリスイッチ動作機能の場合
W val = gc_act_par(W cid, EVENT *evt); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
パーツID | cid | W |
イベント§ | evt | EVENT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
パーツID | パーツを区別するためのID |
イベント | イベントが格納されている領域 |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_BUTDWN | 1 | プレスイベント |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(C)モーメンタリスイッチ表示機能」の場合、システムコールの副作用として画面への表示がおこなわれる。
(A)モーメンタリスイッチ生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | cid | W |
パーツID | cid | W |
※cidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツIDを示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | partsがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | parts->typeに、GC_DISABLE以外が指定されている |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | パーツ管理テーブルに空きがない |
(B)モーメンタリスイッチ削除機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(C)モーメンタリスイッチ表示機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_PAR | 不正パラメータ | 0xfffe0000 | modeが不正 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(D)モーメンタリスイッチ設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(E)モーメンタリスイッチ取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
(F)モーメンタリスイッチ動作機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
※パーツが有効動作をした場合には、valにGC_ACT(0x1000)がorされる。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(4)例外条件及び制約条件
- 生成可能な最大パーツ数は、システム全体で256個である。
- 指定された領域内に文字列が表示しきれない場合は、動作は保証されない。
- strで示される領域は、表示の際に参照されるので、 パーツを削除するまで解放してはならない。
(5)特記事項
なし
付録1.3.2 オルタネートスイッチ管理機能
(1)機能説明
パーツ管理機能のうち、オルタネートスイッチの管理をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)オルタネートスイッチ生成機能
入力データで指定された「パーツ生成情報」にしたがって、入力データで指定された「描画環境ID」上に、パーツを生成する。生成したパーツのパーツIDを、出力データとして返す。
(B)オルタネートスイッチ削除機能
入力データで指定された「パーツID」で示されるパーツを削除する。
(C)オルタネートスイッチ表示機能
入力データで指定された「パーツID」で示されるパーツの状態を、入力データで指定された「パーツ状態指定」にしたがって変更し、画面への表示をおこなう。
(D)オルタネートスイッチ設定機能
入力データで指定された「パーツID」で示されるパーツの内容を、入力データで指定された「パーツ文字列」「パーツ現在値」の内容で置き換える。
(E)オルタネートスイッチ取得機能
入力データで指定された「パーツID」で示されるパーツの内容を、出力データとして返す。
(F)オルタネートスイッチ動作機能
入力データで指定された「パーツID」で示されるパーツに対し、入力データで指定された「イベント」にもとづいた動作をおこなわせる。動作の結果を、出力データとして返す。
(2)入力データ
オルタネートスイッチ管理機能には、アプリケーションから以下の入力データが渡される。
(A)オルタネートスイッチ生成機能の場合
W cid = gc_cre_par(W gid, PARTS *parts); |
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パーツ生成情報§ | parts | PARTS* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
パーツ生成情報 | パーツ状態・領域等を指定する情報 |
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
※パーツ文字列の終端には、TNULLを指定する。
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_ASPARTS | 3 | オルタネートスイッチ |
GC_DISABLE | 0x800 | 禁止状態 |
(B)オルタネートスイッチ削除機能の場合
W err = gc_del_par(W cid); |
(C)オルタネートスイッチ表示機能の場合
W err = gc_dsp_par(W cid, W mode); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ状態指定 | mode | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ状態指定 | パーツ状態を変更するための指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_DISABLE | 0x800 | 禁止状態 |
GC_ENABLE | 0x8 | 許可状態 |
(D)オルタネートスイッチ設定機能の場合
W err = gc_set_par(W cid, TC *str, W val); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ文字列 | str | TC* |
パーツ現在値 | val | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ文字列 | パーツに登録されている文字列 |
パーツ現在値 | パーツに登録されている値 |
※パーツ文字列の終端には、TNULLを指定する。
(E)オルタネートスイッチ取得機能の場合
W val = gc_get_par(W cid, TC *str, W size); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
※パーツ文字列の終端には、TNULLが格納される。
(F)オルタネートスイッチ動作機能の場合
W val = gc_act_par(W cid, EVENT *evt); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
パーツID | cid | W |
イベント§ | evt | EVENT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
パーツID | パーツを区別するためのID |
イベント | イベントが格納されている領域 |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_BUTDWN | 1 | プレスイベント |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(C)オルタネートスイッチ表示機能」の場合、システムコールの副作用として画面への表示がおこなわれる。
(A)オルタネートスイッチ生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | cid | W |
パーツID | cid | W |
※cidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツIDを示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | partsがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | parts->typeに、GC_DISABLE以外が指定されている |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | パーツ管理テーブルに空きがない |
(B)オルタネートスイッチ削除機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(C)オルタネートスイッチ表示機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_PAR | 不正パラメータ | 0xfffe0000 | modeが不正 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(D)オルタネートスイッチ設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(E)オルタネートスイッチ取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
(F)オルタネートスイッチ動作機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
※パーツが有効動作をした場合には、valにGC_ACT(0x1000)がorされる。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(4)例外条件及び制約条件
- 生成可能な最大パーツ数は、システム全体で256個である。
- 指定された領域内に文字列が表示しきれない場合は、動作は保証されない。
- strで示される領域は、 表示の際に参照されるので、パーツを削除するまで解放してはならない。
(5)特記事項
なし
付録1.3.3 スイッチセレクタ管理機能
(1)機能説明
パーツ管理機能のうち、スイッチセレクタの管理をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)スイッチセレクタ生成機能
入力データで指定された「パーツ生成情報」にしたがって、入力データで指定された「描画環境ID」上に、パーツを生成する。生成したパーツのパーツIDを、出力データとして返す。
(B)スイッチセレクタ削除機能
入力データで指定された「パーツID」で示されるパーツを削除する。
(C)スイッチセレクタ表示機能
入力データで指定された「パーツID」で示されるパーツの状態を、入力データで指定された「パーツ状態指定」にしたがって変更し、画面への表示をおこなう。
(D)スイッチセレクタ設定機能
入力データで指定された「パーツID」で示されるパーツの内容を、入力データで指定された「パーツ文字列」「パーツ現在値」の内容で置き換える。
(E)スイッチセレクタ取得機能
入力データで指定された「パーツID」で示されるパーツの内容を、出力データとして返す。
(F)スイッチセレクタ動作機能
入力データで指定された「パーツID」で示されるパーツに対し、入力データで指定された「イベント」にもとづいた動作をおこなわせる。動作の結果を、出力データとして返す。
(2)入力データ
スイッチセレクタ管理機能には、アプリケーションから以下の入力データが渡される。
(A)スイッチセレクタ生成機能の場合
W cid = gc_cre_par(W gid, PARTS *parts); |
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パーツ生成情報§ | parts | PARTS* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
パーツ生成情報 | パーツ状態・領域等を指定する情報 |
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
※パーツ文字列の終端には、TNULLを指定する。
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_SSPARTS | 5 | スクロールセレクタ |
GC_DISABLE | 0x800 | 禁止状態 |
(B)スイッチセレクタ削除機能の場合
W err = gc_del_par(W cid); |
(C)スイッチセレクタ表示機能の場合
W err = gc_dsp_par(W cid, W mode); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ状態指定 | mode | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ状態指定 | パーツ状態を変更するための指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_DISABLE | 0x800 | 禁止状態 |
GC_ENABLE | 0x8 | 許可状態 |
(D)スイッチセレクタ設定機能の場合
W err = gc_set_par(W cid, TC *str, W val); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ文字列 | str | TC* |
パーツ現在値 | val | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ文字列 | パーツに登録されている文字列 |
パーツ現在値 | パーツに登録されている値 |
※パーツ文字列の終端には、TNULLを指定する。
(E)スイッチセレクタ取得機能の場合
W val = gc_get_par(W cid, TC *str, W size); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
※パーツ文字列の終端には、TNULLが格納される。
(F)スイッチセレクタ動作機能の場合
W val = gc_act_par(W cid, EVENT *evt); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
パーツID | cid | W |
イベント§ | evt | EVENT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
パーツID | パーツを区別するためのID |
イベント | イベントが格納されている領域 |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_BUTDWN | 1 | プレスイベント |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(C)スイッチセレクタ表示機能」の場合、システムコールの副作用として画面への表示がおこなわれる。
(A)スイッチセレクタ生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | cid | W |
パーツID | cid | W |
※cidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツIDを示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | partsがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | parts->typeに、GC_DISABLE以外が指定されている |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | パーツ管理テーブルに空きがない |
(B)スイッチセレクタ削除機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(C)スイッチセレクタ表示機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_PAR | 不正パラメータ | 0xfffe0000 | modeが不正 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(D)スイッチセレクタ設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(E)スイッチセレクタ取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
(F)スイッチセレクタ動作機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
※パーツが有効動作をした場合には、valにGC_ACT(0x1000)がorされる。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(4)例外条件及び制約条件
- 生成可能な最大パーツ数は、システム全体で256個である。
- 指定された領域内に文字列が表示しきれない場合は、動作は保証されない。
- strで示される領域は、表示の際に参照されるので、 パーツを削除するまで解放してはならない。
(5)特記事項
なし
付録1.3.4 スクロールセレクタ管理機能
(1)機能説明
パーツ管理機能のうち、スクロールセレクタの管理をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)スクロールセレクタ生成機能
入力データで指定された「パーツ生成情報」にしたがって、入力データで指定された「描画環境ID」上に、パーツを生成する。生成したパーツのパーツIDを、出力データとして返す。
(B)スクロールセレクタ削除機能
入力データで指定された「パーツID」で示されるパーツを削除する。
(C)スクロールセレクタ表示機能
入力データで指定された「パーツID」で示されるパーツの状態を、入力データで指定された「パーツ状態指定」にしたがって変更し、画面への表示をおこなう。
(D)スクロールセレクタ設定機能
入力データで指定された「パーツID」で示されるパーツの内容を、入力データで指定された「パーツ文字列」「パーツ現在値」の内容で置き換える。
(E)スクロールセレクタ取得機能
入力データで指定された「パーツID」で示されるパーツの内容を、出力データとして返す。
(F)スクロールセレクタ動作機能
入力データで指定された「パーツID」で示されるパーツに対し、入力データで指定された「イベント」にもとづいた動作をおこなわせる。動作の結果を、出力データとして返す。
(2)入力データ
スクロールセレクタ管理機能には、アプリケーションから以下の入力データが渡される。
(A)スクロールセレクタ生成機能の場合
W cid = gc_cre_par(W gid, PARTS *parts); |
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パーツ生成情報§ | parts | PARTS* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
パーツ生成情報 | パーツ状態・領域等を指定する情報 |
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
※パーツ文字列の終端には、TNULLを指定する。
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_SSPARTS | 5 | スクロールセレクタ |
GC_DISABLE | 0x800 | 禁止状態 |
(B)スクロールセレクタ削除機能の場合
W err = gc_del_par(W cid); |
(C)スクロールセレクタ表示機能の場合
W err = gc_dsp_par(W cid, W mode); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ状態指定 | mode | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ状態指定 | パーツ状態を変更するための指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_DISABLE | 0x800 | 禁止状態 |
GC_ENABLE | 0x8 | 許可状態 |
(D)スクロールセレクタ設定機能の場合
W err = gc_set_par(W cid, TC *str, W val); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ文字列 | str | TC* |
パーツ現在値 | val | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ文字列 | パーツに登録されている文字列 |
パーツ現在値 | パーツに登録されている値 |
※パーツ文字列の終端には、TNULLを指定する。
(E)スクロールセレクタ取得機能の場合
W val = gc_get_par(W cid, TC *str, W size); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
※パーツ文字列の終端には、TNULLが格納される。
(F)スクロールセレクタ動作機能の場合
W val = gc_act_par(W cid, EVENT *evt); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
パーツID | cid | W |
イベント§ | evt | EVENT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
パーツID | パーツを区別するためのID |
イベント | イベントが格納されている領域 |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_BUTDWN | 1 | プレスイベント |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(C)スクロールセレクタ表示機能」の場合、システムコールの副作用として画面への表示がおこなわれる。
(A)スクロールセレクタ生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | cid | W |
パーツID | cid | W |
※cidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツIDを示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | partsがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | parts->typeに、GC_DISABLE以外が指定されている |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | パーツ管理テーブルに空きがない |
(B)スクロールセレクタ削除機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(C)スクロールセレクタ表示機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_PAR | 不正パラメータ | 0xfffe0000 | modeが不正 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(D)スクロールセレクタ設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(E)スクロールセレクタ取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
(F)スクロールセレクタ動作機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
※パーツが有効動作をした場合には、valにGC_ACT(0x1000)がorされる。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(4)例外条件及び制約条件
- 生成可能な最大パーツ数は、システム全体で256個である。
- 指定された領域内に文字列が表示しきれない場合は、動作は保証されない。
- strで示される領域は、 表示の際に参照されるので、パーツを削除するまで解放してはならない。
(5)特記事項
なし
付録1.3.5 シリアルセレクタ管理機能
(1)機能説明
パーツ管理機能のうち、シリアルセレクタの管理をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)シリアルセレクタ生成機能
入力データで指定された「パーツ生成情報」にしたがって、入力データで指定された「描画環境ID」上に、パーツを生成する。生成したパーツのパーツIDを、出力データとして返す。
(B)シリアルセレクタ削除機能
入力データで指定された「パーツID」で示されるパーツを削除する。
(C)シリアルセレクタ表示機能
入力データで指定された「パーツID」で示されるパーツの状態を、入力データで指定された「パーツ状態指定」にしたがって変更し、画面への表示をおこなう。
(D)シリアルセレクタ設定機能
入力データで指定された「パーツID」で示されるパーツの内容を、入力データで指定された「パーツ文字列」「パーツ現在値」の内容で置き換える。
(E)シリアルセレクタ取得機能
入力データで指定された「パーツID」で示されるパーツの内容を、出力データとして返す。
(F)シリアルセレクタ動作機能
入力データで指定された「パーツID」で示されるパーツに対し、入力データで指定された「イベント」にもとづいた動作をおこなわせる。動作の結果を、出力データとして返す。
(2)入力データ
シリアルセレクタ管理機能には、アプリケーションから以下の入力データが渡される。
(A)シリアルセレクタ生成機能の場合
W cid = gc_cre_par(W gid, PARTS *parts); |
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パーツ生成情報§ | parts | PARTS* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
パーツ生成情報 | パーツ状態・領域等を指定する情報 |
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
※パーツ文字列の終端には、TNULLを指定する。
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_ESPARTS | 6 | シリアルセレクタ |
GC_DISABLE | 0x800 | 禁止状態 |
(B)シリアルセレクタ削除機能の場合
W err = gc_del_par(W cid); |
(C)シリアルセレクタ表示機能の場合
W err = gc_dsp_par(W cid, W mode); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ状態指定 | mode | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ状態指定 | パーツ状態を変更するための指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_DISABLE | 0x800 | 禁止状態 |
GC_ENABLE | 0x8 | 許可状態 |
(D)シリアルセレクタ設定機能の場合
W err = gc_set_par(W cid, TC *str, W val); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ文字列 | str | TC* |
パーツ現在値 | val | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ文字列 | パーツに登録されている文字列 |
パーツ現在値 | パーツに登録されている値 |
※パーツ文字列の終端には、TNULLを指定する。
(E)シリアルセレクタ取得機能の場合
W val = gc_get_par(W cid, TC *str, W size); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
※パーツ文字列の終端には、TNULLが格納される。
(F)シリアルセレクタ動作機能の場合
W val = gc_act_par(W cid, EVENT *evt); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
パーツID | cid | W |
イベント§ | evt | EVENT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
パーツID | パーツを区別するためのID |
イベント | イベントが格納されている領域 |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_BUTDWN | 1 | プレスイベント |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(C)シリアルセレクタ表示機能」の場合、システムコールの副作用として画面への表示がおこなわれる。
(A)シリアルセレクタ生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | cid | W |
パーツID | cid | W |
※cidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツIDを示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | partsがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | parts->typeに、GC_DISABLE以外が指定されている |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | パーツ管理テーブルに空きがない |
(B)シリアルセレクタ削除機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(C)シリアルセレクタ表示機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_PAR | 不正パラメータ | 0xfffe0000 | modeが不正 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(D)シリアルセレクタ設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(E)シリアルセレクタ取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
(F)シリアルセレクタ動作機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
※パーツが有効動作をした場合には、valにGC_ACT(0x1000)がorされる。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(4)例外条件及び制約条件
- 生成可能な最大パーツ数は、システム全体で256個である。
- 指定された領域内に文字列が表示しきれない場合は、動作は保証されない。
- strで示される領域は、表示の際に参照されるので、 パーツを削除するまで解放してはならない。
(5)特記事項
なし
付録1.3.6 ボリューム管理機能
(1)機能説明
パーツ管理機能のうち、ボリュームの管理をおこなう機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)ボリューム生成機能
入力データで指定された「パーツ生成情報」にしたがって、入力データで指定された「描画環境ID」上に、パーツを生成する。生成したパーツのパーツIDを、出力データとして返す。
(B)ボリューム削除機能
入力データで指定された「パーツID」で示されるパーツを削除する。
(C)ボリューム表示機能
入力データで指定された「パーツID」で示されるパーツの状態を、入力データで指定された「パーツ状態指定」にしたがって変更し、画面への表示をおこなう。
(D)ボリューム設定機能
入力データで指定された「パーツID」で示されるパーツの内容を、入力データで指定された「パーツ文字列」「パーツ現在値」の内容で置き換える。
(E)ボリューム取得機能
入力データで指定された「パーツID」で示されるパーツの内容を、出力データとして返す。
(F)ボリューム動作機能
入力データで指定された「パーツID」で示されるパーツに対し、入力データで指定された「イベント」にもとづいた動作をおこなわせる。動作の結果を、出力データとして返す。
(2)入力データ
ボリューム管理機能には、アプリケーションから以下の入力データが渡される。
(A)ボリューム生成機能の場合
W cid = gc_cre_par(W gid, PARTS *parts); |
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
パーツ生成情報§ | parts | PARTS* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
パーツ生成情報 | パーツ状態・領域等を指定する情報 |
PARTS構造体の内容:
名称 | ニモニック | 型名 |
パーツタイプ | type | W |
パーツ領域 | r | RECT |
パーツ初期値 | val | W |
パーツ文字列 | str | TC* |
※パーツ文字列の終端には、TNULLを指定する。
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_VLPARTS | 7 | ボリューム |
GC_DISABLE | 0x800 | 禁止状態 |
(B)ボリューム削除機能の場合
W err = gc_del_par(W cid); |
(C)ボリューム表示機能の場合
W err = gc_dsp_par(W cid, W mode); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ状態指定 | mode | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ状態指定 | パーツ状態を変更するための指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_DISABLE | 0x800 | 禁止状態 |
GC_ENABLE | 0x8 | 許可状態 |
(D)ボリューム設定機能の場合
W err = gc_set_par(W cid, TC *str, W val); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
パーツ文字列 | str | TC* |
パーツ現在値 | val | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
パーツ文字列 | パーツに登録されている文字列 |
パーツ現在値 | パーツに登録されている値 |
※パーツ文字列の終端には、TNULLを指定する。
(E)ボリューム取得機能の場合
W val = gc_get_par(W cid, TC *str, W size); |
名称 | ニモニック | 型名 |
パーツID | cid | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
※パーツ文字列の終端には、TNULLが格納される。
(F)ボリューム動作機能の場合
W val = gc_act_par(W cid, EVENT *evt); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
パーツID | cid | W |
イベント§ | evt | EVENT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
パーツID | パーツを区別するためのID |
イベント | イベントが格納されている領域 |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_BUTDWN | 1 | プレスイベント |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(C)ボリューム表示機能」の場合、システムコールの副作用として画面への表示がおこなわれる。
(A)ボリューム生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | cid | W |
パーツID | cid | W |
※cidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツIDを示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | partsがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | parts->typeに、GC_DISABLE以外が指定されている |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | パーツ管理テーブルに空きがない |
(B)ボリューム削除機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(C)ボリューム表示機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_PAR | 不正パラメータ | 0xfffe0000 | modeが不正 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(D)ボリューム設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(E)ボリューム取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
名称 | 意味 |
パーツID | パーツを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
(F)ボリューム動作機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
パーツ現在値 | val | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。
※パーツが有効動作をした場合には、valにGC_ACT(0x1000)がorされる。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(4)例外条件及び制約条件
- 生成可能な最大パーツ数は、システム全体で256個である。
(5)特記事項
なし
付録1.4 文字入力管理機能
(1)機能説明
GUIミドルウェア機能のうち、文字の入力に関する機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)テキストボックス管理機能
文字の入力・編集をおこなうパーツとして、テキストボックスの機能を提供する。
(2)入力データ
文字入力管理機能には、アプリケーションから以下の入力データが渡される。
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
テキストボックス生成情報 | テキストボックス状態・領域等を指定する情報 |
テキストボックスID | テキストボックスを区別するためのID |
テキストボックス状態指定 | テキストボックス状態を変更するための指定 |
テキストボックス文字列 | テキストボックスに登録されている文字列 |
テキストボックス現在値 | テキストボックスのカレット位置 |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
イベント | イベントが格納されている領域 |
詳細については、該当する小機能の項目を参照。
(3)出力データ
アプリケーションへは以下の出力データが渡される。
名称 | ニモニック |
エラーコード | err |
テキストボックスID | cid |
テキストボックス現在値 | val |
エラーコードの内容:
名称 | 意味 |
ER_OK | 正常終了 |
ER_ADR | 不正アドレス |
ER_PAR | 不正パラメータ |
ER_NOSPC | システムメモリ不足 |
ER_ID | 不正ID |
詳細については、該当する小機能の項目を参照。
(4)例外条件及び制約条件
- 生成可能な最大テキストボックス数は、パーツ管理プログラムのパーツ数と合計して、システム全体で256個である。
- テキストボックス文字列が長すぎて表示しきれない場合、はみ出した部分は表示されない。
- テキストボックス文字列の長さは、最大で20文字である。
(5)特記事項
なし
(6)機能ブロックの構成及び関連
文字入力管理機能は、小機能であるテキストボックス管理機能から構成される。
┌────────────────┐
│文字入力管理機能 │
│ │
│ ┌────────────┐ │
│ │テキストボックス管理機能│ │
│ └────────────┘ │
└────────────────┘
図 文字入力管理機能の機能ブロック相互関係
付録1.4.1 テキストボックス管理機能
(1)機能説明
文字入力管理機能のうち、文字の入力に関する機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)テキストボックス生成機能
入力データで指定された「テキストボックス生成情報」にしたがって、入力データで指定された「描画環境ID」上に、テキストボックスを生成する。生成したテキストボックスのテキストボックスIDを、出力データとして返す。
(B)テキストボックス削除機能
入力データで指定された「テキストボックスID」で示されるテキストボックスを削除する。
(C)テキストボックス表示機能
入力データで指定された「テキストボックスID」で示されるテキストボックスの状態を、入力データで指定された「テキストボックス状態指定」にしたがって変更し、画面への表示をおこなう。
(D)テキストボックス設定機能
入力データで指定された「テキストボックスID」で示されるテキストボックスの内容を、入力データで指定された「テキストボックス文字列」「テキストボックス現在値」の内容で置き換える。
(E)テキストボックス取得機能
入力データで指定された「テキストボックスID」で示されるテキストボックスの内容を、出力データとして返す。
(F)テキストボックス動作機能
入力データで指定された「テキストボックスID」で示されるテキストボックスに対し、入力データで指定された「イベント」にもとづいた動作をおこなわせる。動作の結果を、出力データとして返す。
(2)入力データ
テキストボックス管理機能には、アプリケーションから以下の入力データが渡される。
(A)テキストボックス生成機能の場合
W cid = gt_cre_par(W gid, PARTS *parts); |
typedef struct {
W type;
RECT r;
W val;
TC *str;
} PARTS;
名称 | ニモニック | 型名 |
描画環境ID | gid | W |
テキストボックス生成情報§ | parts | PARTS* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
描画環境ID | 描画環境を区別するためのID |
テキストボックス生成情報 | テキストボックス状態・領域等を指定する情報 |
PARTS構造体の内容:
名称 | ニモニック | 型名 |
テキストボックスタイプ | type | W |
テキストボックス領域 | r | RECT |
テキストボックス初期値 | val | W |
テキストボックス文字列 | str | TC* |
※テキストボックス文字列の終端には、TNULLを指定する。
PARTS構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_TBPARTS | 1 | テキストボックス |
GC_DISABLE | 0x800 | 禁止状態 |
(B)テキストボックス削除機能の場合
W err = gt_del_par(W cid); |
名称 | ニモニック | 型名 |
テキストボックスID | cid | W |
名称 | 意味 |
テキストボックスID | テキストボックスを区別するためのID |
(C)テキストボックス表示機能の場合
W err = gt_dsp_par(W cid, W mode); |
名称 | ニモニック | 型名 |
テキストボックスID | cid | W |
テキストボックス状態指定 | mode | W |
名称 | 意味 |
テキストボックスID | テキストボックスを区別するためのID |
テキストボックス状態指定 | テキストボックス状態を変更するための指定 |
modeに指定できる値:
名称 | 値 | 具体的な内容 |
GC_DISABLE | 0x800 | 禁止状態 |
GC_ENABLE | 0x8 | 許可状態 |
(D)テキストボックス設定機能の場合
W err = gt_set_par(W cid, TC *str, W val); |
名称 | ニモニック | 型名 |
テキストボックスID | cid | W |
テキストボックス文字列 | str | TC* |
テキストボックス現在値 | val | W |
名称 | 意味 |
テキストボックスID | テキストボックスを区別するためのID |
テキストボックス文字列 | テキストボックスに登録されている文字列 |
テキストボックス現在値 | テキストボックスのカレット位置 |
※テキストボックス文字列の終端には、TNULLを指定する。
(E)テキストボックス取得機能の場合
W val = gt_get_par(W cid, TC *str, W size); |
名称 | ニモニック | 型名 |
テキストボックスID | cid | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
名称 | 意味 |
テキストボックスID | テキストボックスを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
※テキストボックス文字列の終端には、TNULLが格納される。
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_BUTDWN | 1 | プレスイベント |
GE_KEYDWN | 3 | キーダウンイベント |
GE_AUTKEY | 5 | キーリピートイベント |
(F)テキストボックス動作機能の場合
W val = gt_act_par(W cid, EVENT *evt); |
typedef struct {
W type;
PNT pos;
TC key;
UW stat;
} EVENT;
名称 | ニモニック | 型名 |
テキストボックスID | cid | W |
イベント§ | evt | EVENT* |
※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。
名称 | 意味 |
テキストボックスID | テキストボックスを区別するためのID |
イベント | イベントが格納されている領域 |
EVENT構造体の内容:
名称 | ニモニック | 型名 |
イベントタイプ | type | W |
イベント座標 | pos | PNT |
イベント文字 | key | TC |
イベント状態 | stat | UW |
※statには、イベント時刻情報が含まれる。
EVENT構造体のtypeに指定できる値:
名称 | 値 | 具体的な内容 |
GE_BUTDWN | 1 | プレスイベント |
GE_KEYDWN | 3 | キーダウンイベント |
GE_AUTKEY | 5 | キーリピートイベント |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(C)テキストボックス表示機能」の場合、システムコールの副作用として画面への表示がおこなわれる。
(A)テキストボックス生成機能の場合
名称 | ニモニック | 型名 |
エラーコード | cid | W |
テキストボックスID | cid | W |
※cidは、値が負の場合にはエラーコードを示し、値が0または正の場合にはテキストボックスIDを示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | partsがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | parts->typeに、GC_DISABLE以外が指定されている |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | テキストボックス管理テーブルに空きがない |
(B)テキストボックス削除機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(C)テキストボックス表示機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_PAR | 不正パラメータ | 0xfffe0000 | modeが不正 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(D)テキストボックス設定機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(E)テキストボックス取得機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
テキストボックス現在値 | val | W |
文字列領域 | str | TC* |
文字列サイズ | size | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはテキストボックス現在値を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
名称 | 意味 |
テキストボックスID | テキストボックスを区別するためのID |
文字列領域 | 文字列取り出しのための領域 |
文字列サイズ | 文字列領域の長さ(単位はTC) |
(F)テキストボックス動作機能の場合
名称 | ニモニック | 型名 |
エラーコード | val | W |
テキストボックス現在値 | val | W |
※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはテキストボックス現在値を示す。
※テキストボックスが有効動作をした場合には、valにGC_ACT(0x1000)がorされる。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_ADR | 不正アドレス | 0xffff0000 | evtがNULL |
ER_ID | 不正ID | 0xfffb0000 | cidが不正 |
(4)例外条件及び制約条件
- 生成可能な最大テキストボックス数は、パーツ管理プログラムのパーツ数と合計して、システム全体で256個である。
- テキストボックス文字列が長すぎて表示しきれない場合、はみ出した部分は表示されない。
- テキストボックス文字列の長さは、最大で20文字である。
(5)特記事項
なし
付録1.5 データボックス管理機能
(1)機能説明
GUIミドルウェア機能のうち、 データボックスの管理に関する機能を提供する。
以下の機能がシステムコールの形で提供される。
(2)入力データ
データボックス管理機能には、アプリケーションから以下の入力データが渡される。
名称 | ニモニック | 型名 |
データボックス | data | TC* |
ID配列 | id | W* |
配列サイズ | size | W |
ファイル名 | filename | TC* |
名称 | 意味 |
データボックス | データボックス定義データへのポインタ |
ID配列 | 登録したIDを格納するための配列 |
配列サイズ | ID配列のサイズ |
ファイル名 | データボックスファイルのファイル名 |
(3)出力データ
アプリケーションへは以下の出力データが渡される。
名称 | ニモニック | 型名 |
エラーコード | err | W |
エラーコード | cnt | W |
登録数 | cnt | W |
※cntは、値が負の場合にはエラーコードを示し、値が0または正の場合には登録数を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | dataがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | size・データボックス定義データが不正 |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | 最大数を超えた |
(4)例外条件及び制約条件
- 1つのシーン・パネルあたりのパーツ数は、最大で32である。
- データボックス定義データは登録後も参照されるので、解放してはならない。
(5)特記事項
なし。
(6)機能ブロックの構成及び関連
データボックス管理機能は、データボックス登録機能から構成される。
┌────────────────┐
│データボックス管理機能 │
│ │
│ ┌────────────┐ │
│ │データボックス登録機能 │ │
│ └────────────┘ │
└────────────────┘
図 データボックス管理機能の機能ブロック相互関係
付録1.5.1 データボックス登録機能
(1)機能説明
データボックス管理機能のうち、機能を提供する。
以下の機能がシステムコールの形で提供される。
(A)データボックス登録機能
メモリ上に用意したデータボックスを、パネル管理機能を呼び出して登録する機能。
(B)データボックスファイル出力機能
メモリ上に用意したデータボックスを、ワークファイルに出力する機能。
(C)データボックスファイル入力機能
ファイルとして用意したデータボックスを、パネル管理機能を呼び出して登録する機能。
(2)入力データ
機能には、アプリケーションから以下の入力データが渡される。
(A)データボックス登録機能の場合
W cnt = gd_reg_dat(TC *data, W *id, W size); |
名称 | ニモニック | 型名 |
データボックス | data | TC* |
ID配列 | id | W* |
配列サイズ | size | W |
名称 | 意味 |
データボックス | データボックス定義データへのポインタ |
ID配列 | 登録したIDを格納するための配列 |
配列サイズ | ID配列のサイズ |
データボックス定義データの形式:
シーン定義
名称 | 型 | 具体的な内容 |
head | TC | GD_SCENEとする(シーン定義を示す) |
type | TC | パーツの種類(1番目) |
left | TC | パーツ領域left |
top | TC | パーツ領域top |
right | TC | パーツ領域right |
bottom | TC | パーツ領域bottom |
val | TC | パーツ現在値 |
len | TC | パーツ文字列長 |
str | TC[len] | パーツ文字列 |
head | TC | GD_NEXT |
type | TC | パーツの種類(2番目) |
left | TC | パーツ領域left |
top | TC | パーツ領域top |
right | TC | パーツ領域right |
bottom | TC | パーツ領域bottom |
val | TC | パーツ現在値 |
len | TC | パーツ文字列長 |
str | TC[len] | パーツ文字列 |
head | TC | GD_NEXT |
type | TC | パーツの種類(1番目) |
left | TC | パーツ領域left |
top | TC | パーツ領域top |
right | TC | パーツ領域right |
bottom | TC | パーツ領域bottom |
val | TC | パーツ現在値 |
len | TC | パーツ文字列長 |
str | TC[len] | パーツ文字列 |
(必要なパーツの数だけ、GD_NEXT以下を繰り返す)
パネル定義
名称 | 型 | 具体的な内容 |
head | TC | GD_PANELとする(パネル定義を示す) |
left | TC | パネル領域left |
top | TC | パネル領域top |
right | TC | パネル領域right |
bottom | TC | パネル領域bottom |
type | TC | パーツの種類(1番目) |
left | TC | パーツ領域left |
top | TC | パーツ領域top |
right | TC | パーツ領域right |
bottom | TC | パーツ領域bottom |
val | TC | パーツ現在値 |
len | TC | パーツ文字列長 |
str | TC[len] | パーツ文字列 |
head | TC | GD_NEXT |
type | TC | パーツの種類(2番目) |
left | TC | パーツ領域left |
top | TC | パーツ領域top |
right | TC | パーツ領域right |
bottom | TC | パーツ領域bottom |
val | TC | パーツ現在値 |
len | TC | パーツ文字列長 |
str | TC[len] | パーツ文字列 |
head | TC | GD_NEXT |
type | TC | パーツの種類(1番目) |
left | TC | パーツ領域left |
top | TC | パーツ領域top |
right | TC | パーツ領域right |
bottom | TC | パーツ領域bottom |
val | TC | パーツ現在値 |
len | TC | パーツ文字列長 |
str | TC[len] | パーツ文字列 |
(必要なパーツの数だけ、GD_NEXT以下を繰り返す)
終端定義
名称 | 型 | 具体的な内容 |
head | TC | GD_ENDとする |
(B)データボックスファイル出力機能の場合
W err = gd_wri_dat(TC *filename, TC *data); |
名称 | ニモニック | 型名 |
データボックス | data | TC* |
ファイル名 | filename | TC* |
名称 | 意味 |
データボックス | データボックス定義データへのポインタ |
ファイル名 | データボックスファイルのファイル名 |
(C)データボックスファイル入力機能の場合
W cnt = gd_rea_dat(TC *filename, W *id, W size); |
名称 | ニモニック | 型名 |
ID配列 | id | W* |
配列サイズ | size | W |
ファイル名 | filename | TC* |
名称 | 意味 |
ID配列 | 登録したIDを格納するための配列 |
配列サイズ | ID配列のサイズ |
ファイル名 | データボックスファイルのファイル名 |
(3)出力データ
アプリケーションへは以下の出力データが渡される。また、「(B)データボックスファイル出力機能」の場合、システムコールの副作用としてワークファイルが生成される。
(A)データボックス登録機能の場合
名称 | ニモニック | 型名 |
エラーコード | cnt | W |
登録数 | cnt | W |
※cntは、値が負の場合にはエラーコードを示し、値が0または正の場合には登録数を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | dataがNULL |
ER_PAR | 不正パラメータ | 0xfffe0000 | size・データボックス定義データが不正 |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | 最大数を超えた |
(B)データボックスファイル出力機能の場合
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_ADR | 不正アドレス | 0xffff0000 | dataがNULL |
(C)データボックスファイル入力機能の場合
名称 | ニモニック | 型名 |
エラーコード | cnt | W |
登録数 | cnt | W |
※cntは、値が負の場合にはエラーコードを示し、値が0または正の場合には登録数を示す。
エラーコードの内容:
名称 | 意味 | 値 | 具体的なエラー内容 |
ER_OK | 正常終了 | 0 | − |
ER_PAR | 不正パラメータ | 0xfffe0000 | size・データボックス定義データが不正 |
ER_NOSPC | システムメモリ不足 | 0xfffc0000 | 最大数を超えた |
(4)例外条件及び制約条件
- 1つのシーン・パネルあたりのパーツ数は、最大で32である。
- データボックス定義データは登録後も参照されるので、解放してはならない。
(5)特記事項
なし
目次にもどる|
5章へ|