[Logo Mark of ITRON]情報家電のための分散ソフトウェアプラットフォームの構築
(JCGプロジェクト)


| index | 1章| 2章| 3章| 4章| 5章| 付録|

付録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)イベント管理機能の場合
名称ニモニック
エラーコードerr
(B)パネル管理機能の場合
名称ニモニック型名
エラーコードerrW
描画環境IDgidW
長方形数cntW
パターンIDpidW
ピッキング結果stsW
パネルID widW
シーンIDwidW
パーツIDcidW
動作結果stsW
(C)パーツ管理機能の場合
名称ニモニック型名
エラーコードerrW
パーツIDcidW
パーツ現在値valW
(D)文字入力管理機能の場合
名称ニモニック
エラーコードerr
テキストボックスIDcid
テキストボックス現在値val
(E)データボックス管理機能の場合
名称ニモニック型名
エラーコードerrW
エラーコードcntW
登録数cntW

※cntは、値が負の場合にはエラーコードを示し、値が0または正の場合には登録数を示す。

(4)例外条件及び制約条件

(5)特記事項

対応する中機能を参照。

(6)機能ブロックの構成及び関連

GUIミドルウェア機能は、 「イベント管理機能」 「パネル管理機能」「パーツ管理機能」「文字入力管理機能」「データボックス管理機能」から構成される。

┌────┐                ┌───────┐
│データ  │───────→│パネル管理機能│
│ボックス│                └───────┘
│管理機能│                  ↑    ↑    ↑
│        │      ┌───────┐│    │
│        │──→│パーツ管理機能││    │
│        │      └───────┘│    │
│        │                  ↑    │  ┌────────┐
│        │────────────│→│文字入力管理機能│
└────┘                  │    │  └────────┘
            │    │          ↑
          ┌────────────────┐
          │        イベント管理機能        │
          └────────────────┘


      図 GUIミドルウェア機能の機能ブロック相互関係

パネル管理機能は、イベント管理機能・パーツ管理機能・文字入力管理機能・データボックス管理機能を使用する。

パーツ管理機能は、イベント管理機能・データボックス管理機能を使用する。

文字入力管理機能は、イベント管理機能・データボックス管理機能を使用する。


付録1.1 イベント管理機能

(1)機能説明

GUIミドルウェア機能のうち、 入力機器からの入力を「イベント」として蓄え、順に取り出す機能を提供する。

(A)イベントキュー管理機能

イベントキュー管理機能は、イベントを順に蓄え、また順に取り出す機能を提供する。また、イベントを消去する機能を提供する。

(B)入力機器管理機能

入力機器管理機能は、PD・キーボードといった入力機器からの入力を加工し、イベントとして発生させる機能を提供する。また、イベントの加工に関する設定をおこなう機能を提供する。

(2)入力データ

名称意味
イベント発生させる生イベントへのポインタ
生イベント加工・発生させるイベントへのポインタ
PD属性PDイベントの加工設定
キー属性キーイベントの加工設定
キーテーブルサイズキーテーブルのサイズ(TC単位)
キーテーブルキーの番号と、そのキーを押した時に入力される文字との対応表

詳細は小機能の該当する項目を参照。

(3)出力データ

名称ニモニック
エラーコードerr

エラーコードの内容:

名称意味
ER_OK正常終了
ER_ADR不正アドレス
ER_PAR不正パラメータ
ER_LIMITキューあふれ
ER_NONEデータ無し
ER_BUSY使用中

詳細は小機能の該当する項目を参照。

(4)例外条件及び制約条件

(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;
名称ニモニック型名
イベント§evtEVENT*

※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。

名称意味
イベント発生させるイベントへのポインタ

EVENT構造体の内容:

名称ニモニック型名
イベントタイプtypeW
イベント座標posPNT
イベント文字keyTC
イベント状態statUW

※ statには、イベント時刻情報が含まれる。

EVENT構造体のtypeに指定できる値:

名称具体的な内容
GE_NULL0ヌルイベント
GE_BUTDWN1プレスイベント
GE_BUTUP2リリースイベント
GE_KEYDWN3キーダウンイベント
GE_KEYUP4キーアップイベント
GE_AUTKEY5キーリピートイベント
(B)イベント取得機能の場合
W err = ge_get_evt(EVENT *evt, W tmout, W clr);

名称ニモニック型名
タイムアウトtmoutW
クリア指定clrW

名称意味
タイムアウトイベントの発生を待つ時間
クリア指定取り出したイベントを削除する
(C)イベント消去機能の場合
W err = ge_clr_evt(W all);
名称ニモニック型名
クリア方法allW

名称意味
クリア方法1で全イベントの削除、0で先頭イベントの削

(3)出力データ

アプリケーションへは以下の出力データが渡される。

(A)イベント発生機能の場合
名称ニモニック型名
エラーコードerrW

エラーコードの内容:

名称意味具体的なエラー内容
ER_OK正常終了0
ER_ADR不正アドレス0xffff0000evtがNULL
ER_PAR不正パラメータ0xfffe0000evt->typeが不正
ER_LIMITキューあふれ0xffdc0000イベントキューに空きがない
(B)イベント取得機能の場合
typedef struct  {
  W       type;
  PNT     pos;
  TC      key;
  UW      stat;
} EVENT;
名称ニモニック型名
エラーコードerrW
イベントevtEVENT*

エラーコードの内容:

名称意味具体的なエラー内容
ER_OK正常終了0
ER_ADR不正アドレス0xffff0000evtがNULL
ER_NONEデータ無し0xffe80000受信タイムアウト
ER_BUSY使用中0xffd50000複数のタスクが同時にイベントを受信しようとした

名称意味
イベント取得したイベント
(C)イベント消去機能の場合
名称ニモニック型名
エラーコードerrW

エラーコードの内容:

名称意味具体的なエラー内容
ER_OK正常終了0

(4)例外条件及び制約条件

(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;
名称ニモニック型名
生イベント§evtRAWEVT*

※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。

名称意味
生イベント加工・発生させる生イベントへのポインタ

RAWEVT構造体の内容:

名称ニモニック型名
生イベントタイプtypeW
パラメータXxW
パラメータYyW

RAWEVT構造体のtypeに指定できる値:

名称具体的な内容パラメータXの意味パラメータYの意味
GE_RMOVE0相対移動横方向の移動量縦方向の移動量
GE_AMOVE1絶対移動横方向の座標縦方向の座標
GE_PDBUT2ボタン操作ボタン状態(未使用)
GE_KEYON3キー押下キー番号(未使用)
GE_KEYOFF4キー解放キー番号(未使用)
(B)PD属性設定機能の場合
W err = ge_set_pda(PD_ATTR *attr);
typedef struct  {
  W       sense_x, sense_y;
} PD_ATTR;
名称ニモニック型名
PD属性§attrPD_ATTR*

※名称の欄に「§」をつけた項目については、このあとにその内容の説明がある。

名称意味
PD属性PDイベントの加工設定

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属性PDイベントの加工設定

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)イベント生成機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ADR 不正アドレス 0xffff0000 evtがNULL
ER_PAR 不正パラメータ0xfffe0000 evt->typeが不正
ER_LIMIT キューあふれ 0xffdc0000イベントキューに空きがない
(B)PD属性設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ADR不正アドレス0xffff0000 attrがNULL
(C)PD属性取得機能の場合
名称 ニモニック 型名
エラーコード err W
PD属性 attr PD_ATTR*

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ADR不正アドレス0xffff0000 attrがNULL
名称 意味
PD属性PDイベントの加工設定
(D)キー属性設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ADR不正アドレス0xffff0000 attrがNULL
(E)キー属性取得機能の場合
名称 ニモニック 型名
エラーコード err W
キー属性 attr KEY_ATTR*

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ADR不正アドレス0xffff0000 attrがNULL
名称 意味
キー属性キーイベントの加工設定
(F)キーテーブル設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
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)例外条件及び制約条件

(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)例外条件及び制約条件

(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 gid W
名称 意味
描画環境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 pid W
名称 意味
パターンIDパターンを識別するためのID

(3)出力データ

アプリケーションへは以下の出力データが渡される。

(A)描画環境生成機能の場合
名称 ニモニック型名
エラーコード gid W
描画環境ID gid W

※gidは、値が負の場合にはエラーコードを示し、値が0または正の場合には描画環境IDを示す。

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR 不正アドレス
ER_NOSPT 未サポート
ER_NOSPCシステムメモリ不足
ER_ID 不正ID
(B)描画環境削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ID 不正ID
(C)描画オフセット設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR不正アドレス
ER_ID 不正ID
(D)描画オフセット取得機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR不正アドレス
ER_ID 不正ID
(E)表示長方形設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR不正アドレス
ER_ID 不正ID
(F)表示長方形取得機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR不正アドレス
ER_ID 不正ID
(G)前置長方形配列設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
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)パターン削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ID 不正ID

(4)例外条件及び制約条件

(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)直線描画機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
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)長方形枠描画機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_PAR不正パラメータ
ER_ID 不正ID
(B)長方形塗りつぶし機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_PAR不正パラメータ
ER_ID 不正ID
(C)長方形ピッキング機能の場合
名称 ニモニック型名
エラーコード sts W
ピッキング結果 sts W

※stsは、値が負の場合にはエラーコードを示し、値が0または正の場合にはピッキング結果を示す。

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_PAR不正パラメータ
(D)角丸長方形枠描画機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_PAR不正パラメータ
ER_ID 不正ID
(E)角丸長方形塗りつぶし機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
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)楕円枠描画機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_PAR不正パラメータ
ER_ID 不正ID
(B)楕円塗りつぶし機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
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)フォント設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR 不正アドレス
ER_PAR不正パラメータ
ER_ID 不正ID
(B)文字列描画機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR 不正アドレス
ER_PAR不正パラメータ
ER_ID 不正ID
(C)文字列サイズ取得機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
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)ビットマップ描画機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
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);
名称 ニモニック型名
シーンID wid W
名称 意味
シーンIDシーンを識別するためのID
(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);
名称 ニモニック型名
パネルID wid W
名称 意味
パネルIDパネルを識別するためのID
(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)シーン表示長方形設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR不正アドレス
ER_ID 不正ID
(E)シーンキー座標設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
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)パネル表示機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_PAR 不正パラメータ
ER_NOSPCシステムメモリ不足
ER_ID 不正ID
(J)パネル表示長方形設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR不正アドレス
ER_ID 不正ID
(K)パネルキー座標設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR不正アドレス
ER_ID 不正ID
(L)パネル動作機能の場合
名称 ニモニック型名
エラーコード sts W
動作結果 sts W

※stsは、値が負の場合にはエラーコードを示し、値が0または正の場合には動作結果を示す。

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ADR 不正アドレス
ER_NONE データ無し
ER_MINTR 処理中断

(4)例外条件及び制約条件

(5)特記事項

なし。


付録1.2.8 パネル消去機能

(1)機能説明

パネル管理機能のうち、シーン・パネルの消去・削除をおこなう機能を提供する。

以下の機能がシステムコールの形で提供される。

(A)シーン削除機能

入力データで指定された「シーンID」を削除する。

(B)パネル消去機能

入力データで指定された「パネルID」を消去状態とする。

(C)パネル削除機能

入力データで指定された「パネルID」を削除する。

(2)入力データ

パネル消去機能には、アプリケーションから以下の入力データが渡される。

(A)シーン削除機能の場合
W err = gp_del_scn(W wid);
名称 ニモニック型名
シーンID wid W
名称 意味
シーンIDシーンを識別するためのID
(B)パネル消去機能の場合
W err = gp_del_pnl(W wid);
名称 ニモニック型名
パネルID wid W
名称 意味
パネルIDパネルを識別するためのID
(C)パネル削除機能の場合
W err = gp_dis_pnl(W wid);
名称 ニモニック型名
パネルID wid W
名称 意味
パネルIDパネルを識別するためのID

(3)出力データ

アプリケーションへは以下の出力データが渡される。

(A)シーン削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_ID 不正ID
(B)パネル消去機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
ER_OK 正常終了
ER_PAR不正パラメータ
ER_ID 不正ID
(C)パネル削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味
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_DISABLE0x800 禁止状態

※GC_NONOBはボリュームのみ、GC_NOSELはスイッチセレクタ・スクロールセレクタのみに使用されるため、同じ数値を割り当てていても問題は発生しない。

modeに指定できる値:

名称 具体的な内容
GC_EMPHAS 0x200 強調枠
GC_NORMAL 0x2 通常枠
GC_DISABLE0x800 禁止状態
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)例外条件及び制約条件

(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_DISABLE0x800 禁止状態
(B)モーメンタリスイッチ削除機能の場合
W err = gc_del_par(W cid);
名称 ニモニック型名
パーツID cid W
名称 意味
パーツIDパーツを区別するためのID
(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_DISABLE0x800 禁止状態
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 不正パラメータ 0xfffe0000parts->typeに、GC_DISABLE以外が指定されている
ER_NOSPCシステムメモリ不足0xfffc0000 パーツ管理テーブルに空きがない
(B)モーメンタリスイッチ削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(C)モーメンタリスイッチ表示機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_PAR不正パラメータ0xfffe0000 modeが不正
ER_ID 不正ID 0xfffb0000 cidが不正
(D)モーメンタリスイッチ設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(E)モーメンタリスイッチ取得機能の場合
名称 ニモニック型名
エラーコード val W
パーツ現在値 val W
文字列領域 str TC*
文字列サイズ size W

※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_ID 不正ID0xfffb0000 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)例外条件及び制約条件

(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_DISABLE0x800 禁止状態
(B)オルタネートスイッチ削除機能の場合
W err = gc_del_par(W cid);
名称 ニモニック型名
パーツID cid W
名称 意味
パーツIDパーツを区別するためのID
(C)オルタネートスイッチ表示機能の場合
W err = gc_dsp_par(W cid, W mode);
名称 ニモニック型名
パーツID cid W
パーツ状態指定 mode W
名称 意味
パーツID パーツを区別するためのID
パーツ状態指定パーツ状態を変更するための指定

modeに指定できる値:

名称 具体的な内容
GC_DISABLE0x800 禁止状態
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 不正パラメータ 0xfffe0000parts->typeに、GC_DISABLE以外が指定されている
ER_NOSPCシステムメモリ不足0xfffc0000 パーツ管理テーブルに空きがない
(B)オルタネートスイッチ削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(C)オルタネートスイッチ表示機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_PAR不正パラメータ0xfffe0000 modeが不正
ER_ID 不正ID 0xfffb0000 cidが不正
(D)オルタネートスイッチ設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(E)オルタネートスイッチ取得機能の場合
名称 ニモニック型名
エラーコード val W
パーツ現在値 val W
文字列領域 str TC*
文字列サイズ size W

※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_ID 不正ID0xfffb0000 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)例外条件及び制約条件

(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_DISABLE0x800 禁止状態
(B)スイッチセレクタ削除機能の場合
W err = gc_del_par(W cid);
名称 ニモニック型名
パーツID cid W
名称 意味
パーツIDパーツを区別するためのID
(C)スイッチセレクタ表示機能の場合
W err = gc_dsp_par(W cid, W mode);
名称 ニモニック型名
パーツID cid W
パーツ状態指定 mode W
名称 意味
パーツID パーツを区別するためのID
パーツ状態指定パーツ状態を変更するための指定

modeに指定できる値:

名称 具体的な内容
GC_DISABLE0x800 禁止状態
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 不正パラメータ 0xfffe0000parts->typeに、GC_DISABLE以外が指定されている
ER_NOSPCシステムメモリ不足0xfffc0000 パーツ管理テーブルに空きがない
(B)スイッチセレクタ削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(C)スイッチセレクタ表示機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_PAR不正パラメータ0xfffe0000 modeが不正
ER_ID 不正ID 0xfffb0000 cidが不正
(D)スイッチセレクタ設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(E)スイッチセレクタ取得機能の場合
名称 ニモニック型名
エラーコード val W
パーツ現在値 val W
文字列領域 str TC*
文字列サイズ size W

※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_ID 不正ID0xfffb0000 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)例外条件及び制約条件

(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_DISABLE0x800 禁止状態
(B)スクロールセレクタ削除機能の場合
W err = gc_del_par(W cid);
名称 ニモニック型名
パーツID cid W
名称 意味
パーツIDパーツを区別するためのID
(C)スクロールセレクタ表示機能の場合
W err = gc_dsp_par(W cid, W mode);
名称 ニモニック型名
パーツID cid W
パーツ状態指定 mode W
名称 意味
パーツID パーツを区別するためのID
パーツ状態指定パーツ状態を変更するための指定

modeに指定できる値:

名称 具体的な内容
GC_DISABLE0x800 禁止状態
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 不正パラメータ 0xfffe0000parts->typeに、GC_DISABLE以外が指定されている
ER_NOSPCシステムメモリ不足0xfffc0000 パーツ管理テーブルに空きがない
(B)スクロールセレクタ削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(C)スクロールセレクタ表示機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_PAR不正パラメータ0xfffe0000 modeが不正
ER_ID 不正ID 0xfffb0000 cidが不正
(D)スクロールセレクタ設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(E)スクロールセレクタ取得機能の場合
名称 ニモニック型名
エラーコード val W
パーツ現在値 val W
文字列領域 str TC*
文字列サイズ size W

※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_ID 不正ID0xfffb0000 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)例外条件及び制約条件

(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_DISABLE0x800 禁止状態
(B)シリアルセレクタ削除機能の場合
W err = gc_del_par(W cid);
名称 ニモニック型名
パーツID cid W
名称 意味
パーツIDパーツを区別するためのID
(C)シリアルセレクタ表示機能の場合
W err = gc_dsp_par(W cid, W mode);
名称 ニモニック型名
パーツID cid W
パーツ状態指定 mode W
名称 意味
パーツID パーツを区別するためのID
パーツ状態指定パーツ状態を変更するための指定

modeに指定できる値:

名称 具体的な内容
GC_DISABLE0x800 禁止状態
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 不正パラメータ 0xfffe0000parts->typeに、GC_DISABLE以外が指定されている
ER_NOSPCシステムメモリ不足0xfffc0000 パーツ管理テーブルに空きがない
(B)シリアルセレクタ削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(C)シリアルセレクタ表示機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_PAR不正パラメータ0xfffe0000 modeが不正
ER_ID 不正ID 0xfffb0000 cidが不正
(D)シリアルセレクタ設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(E)シリアルセレクタ取得機能の場合
名称 ニモニック型名
エラーコード val W
パーツ現在値 val W
文字列領域 str TC*
文字列サイズ size W

※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_ID 不正ID0xfffb0000 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)例外条件及び制約条件

(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_DISABLE0x800 禁止状態
(B)ボリューム削除機能の場合
W err = gc_del_par(W cid);
名称 ニモニック型名
パーツID cid W
名称 意味
パーツIDパーツを区別するためのID
(C)ボリューム表示機能の場合
W err = gc_dsp_par(W cid, W mode);
名称 ニモニック型名
パーツID cid W
パーツ状態指定 mode W
名称 意味
パーツID パーツを区別するためのID
パーツ状態指定パーツ状態を変更するための指定

modeに指定できる値:

名称 具体的な内容
GC_DISABLE0x800 禁止状態
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 不正パラメータ 0xfffe0000parts->typeに、GC_DISABLE以外が指定されている
ER_NOSPCシステムメモリ不足0xfffc0000 パーツ管理テーブルに空きがない
(B)ボリューム削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(C)ボリューム表示機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_PAR不正パラメータ0xfffe0000 modeが不正
ER_ID 不正ID 0xfffb0000 cidが不正
(D)ボリューム設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(E)ボリューム取得機能の場合
名称 ニモニック型名
エラーコード val W
パーツ現在値 val W
文字列領域 str TC*
文字列サイズ size W

※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはパーツ現在値を示す。

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_ID 不正ID0xfffb0000 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)例外条件及び制約条件

(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)例外条件及び制約条件

(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_DISABLE0x800 禁止状態
(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_DISABLE0x800 禁止状態
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 不正パラメータ 0xfffe0000parts->typeに、GC_DISABLE以外が指定されている
ER_NOSPCシステムメモリ不足0xfffc0000 テキストボックス管理テーブルに空きがない
(B)テキストボックス削除機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(C)テキストボックス表示機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_PAR不正パラメータ0xfffe0000 modeが不正
ER_ID 不正ID 0xfffb0000 cidが不正
(D)テキストボックス設定機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ID 不正ID 0xfffb0000 cidが不正
(E)テキストボックス取得機能の場合
名称 ニモニック型名
エラーコード val W
テキストボックス現在値 val W
文字列領域 str TC*
文字列サイズ size W

※valは、値が負の場合にはエラーコードを示し、値が0または正の場合にはテキストボックス現在値を示す。

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_ID 不正ID0xfffb0000 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)例外条件及び制約条件

(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 不正パラメータ 0xfffe0000size・データボックス定義データが不正
ER_NOSPCシステムメモリ不足0xfffc0000 最大数を超えた

(4)例外条件及び制約条件

(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以下を繰り返す)

終端定義
名称具体的な内容
headTCGD_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 不正パラメータ 0xfffe0000size・データボックス定義データが不正
ER_NOSPCシステムメモリ不足0xfffc0000 最大数を超えた
(B)データボックスファイル出力機能の場合
名称 ニモニック型名
エラーコード err W

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_ADR不正アドレス0xffff0000 dataがNULL
(C)データボックスファイル入力機能の場合
名称 ニモニック型名
エラーコード cnt W
登録数 cnt W

※cntは、値が負の場合にはエラーコードを示し、値が0または正の場合には登録数を示す。

エラーコードの内容:

名称 意味 具体的なエラー内容
ER_OK 正常終了 0
ER_PAR 不正パラメータ 0xfffe0000size・データボックス定義データが不正
ER_NOSPCシステムメモリ不足0xfffc0000 最大数を超えた

(4)例外条件及び制約条件

(5)特記事項

なし


目次にもどる5章へ