以下の記述を追加する。
JIS X 0212
(補助漢字)94区×94点のうち、93区までをシステムスクリプトBゾーンに割り当てている。
64文字をシステムスクリプトBゾーンに割り当てている。
256文字をシステムスクリプトBゾーンに割り当てている。
94区×94点、8836文字分の領域をシステムスクリプトCゾーンに割り当てている。
94区×94点、8836文字分の領域をシステムスクリプトDゾーンに割り当てている。
94区×94点、7面分の領域を確保、スクリプト第6〜7面に割り当てている。
96800 文字分の領域を確保、スクリプト第2〜3面に割り当てている。
57236文字分の領域を確保、スクリプト第8面、および第9面Aゾーンに割り当てている。
39564 文字分の領域を確保、スクリプト第9面B,C,Dゾーンに割り当てている。
65536文字分の領域を確保、スクリプト第16〜17面に割り当てている。
第3水準の文字を、システムスクリプトのAゾーンに割り当てている。 第3水準の文字は、第1水準および第2水準の隙間領域に割り当てられているため、 TRON コードでも、そのままの位置(第1水準および第2水準の隙間領域) に割り当てている。
第4水準の文字については、2436文字分の領域を確保、 システムスクリプトのBゾーン(補助漢字の直前)に割り当てている。 規格では、第4水準の文字を補助漢字の空きの区に割り当てているが、 TRONコードでは、Bゾーンの補助漢字の直前に順番に割り当てている。
(2) TRON仕様文字コード、(3) 言語指定コードを以下の内容とする。
第1ブロック: | (21)(21)×(7E)(7E) | Aゾーン | 8,836文字 |
(0x21 / 0x21 SP(漢字固定ピッチ)) | |||
0x2121〜0x2D7E 非漢字領域 | ( 1〜13区) | 1222文字 | |
0x2E21〜0x7E7E 漢字領域 | ( 14〜94区) | 7614文字 | |
うち 0x3021〜0x4F53 第1水準漢字 | (16〜47区51点) | 2965文字 | |
うち 0x5021〜0x7426 第2水準漢字 | (48〜84区6点) | 3390文字 | |
うち 上記以外のコード 第3水準漢字 | 1249文字 | ||
第2ブロック: | (80)(21)×(FD)(7E) | Bゾーン | 11,844文字 |
0x8021〜0x8060 六点点字 | 64文字 | ||
0x8121〜0x8364 八点点字 | 256文字 | ||
0x8721〜0xa07E 第4水準漢字 | 2436文字 | ||
0xA121〜0xFD7E 補助漢字 | 8742文字 | ||
第3ブロック: | (21)(80)×(7E)(FD) | Cゾーン | 11,844文字 |
0x2180〜0x678F GB 3212 | 8836文字 | ||
第4ブロック: | (80)(80)×(FD)(FD) | Dゾーン | 15,876文字 |
0xB780〜0xFD8F KS X 1001 | 8836文字 |
第3水準の文字は、14,15,85〜94区の他、第1水準の文字、および、第2水準の文字の隙間領域にも割り当てられている。
CNS面 | 言語指定コード | 文字コード |
---|---|---|
CNS1面 | 0xFE26 | 0x2121〜0x7E7E |
CNS2面 | 0xFE26 | 0x8021〜0xDD7E |
CNS3面 | 0xFE26 | 0xDE21〜0xFD7E, 0x2180〜0x4F9F |
CNS4面 | 0xFE26 | 0x5080〜0x7EFD, 0x8080〜0x978F |
CNS5面 | 0xFE26 | 0x9880〜0xDE8F |
CNS6面 | 0xFE27 | 0x2121〜0x7E7E |
CNS7面 | 0xFE27 | 0x8021〜0xDD7E |
GT書体番号 | 言語指定コード | 文字コード |
---|---|---|
1〜 48400 | 0xFE22 | 0x2121〜0xFDFD |
48401〜 66773 | 0xFE23 | 0x2121〜0xE54B |
66774〜 67551 | 0xFE23 | 0xE54C〜0xED65 |
(予約) | 0xFE23 | 0xED66〜0xFDFD |
大漢和番号 | 言語指定コード | 文字コード |
---|---|---|
本巻 1〜48055 | 0xFE28 | 0x2121〜0xFDFD |
本巻 48056〜49964 | 0xFE29 | 0x2121〜0x353A |
補巻 1〜804 | 0xFE29 | 0x353B〜0x3D6E |
(予約) | 0xFE29 | 0x3D6F〜0x7E7E |
文字種別 | 言語指定コード | 文字コード |
---|---|---|
(予約) | 0xFE29 | 0x8021〜0x907E |
iモード絵文字 | 0xFE29 | 0x9121〜0x937E |
ホツマ文字 | 0xFE29 | 0x9421〜0x957E |
陰陽五行 | 0xFE29 | 0x9621〜0x967E |
序数記号 | 0xFE29 | 0x9721〜0x977E |
アーヴ文字 | 0xFE29 | 0x9821〜0x987E |
(予約) | 0xFE29 | 0x9921〜0xFDFD |
文字種別 | 言語指定コード | 文字コード |
---|---|---|
トンパ文字 | 0xFE2A | 0x2121〜0x2F7E |
(予約) | 0xFE2A | 0x3021〜0xFDFD |
Unicode | 言語指定コード | 文字コード |
---|---|---|
U+0000-U+abff | 0xFE30 | 0x2121-0xDBA9 |
U+ac00-U+ffff | 0xFE31 | 0x2121-0x27C3 |
面 | 割り当て | 言語指定コード |
---|---|---|
1 | システムスクリプト | 0xFE21 |
2〜3 | GT書体フォント | 0xFE22, 0xFE23 |
4〜5 | (予約) | 0xFE24, 0xFE25 |
6〜7 | CNS-11643(中国伝統字) | 0xFE26, 0xFE27 |
8 | 大漢和辞典収録文字 | 0xFE28 |
9 | 大漢和辞典収録文字・記号文字類 | 0xFE29 |
10 | 中国伝承文字、少数民族文字類 | 0xFE2A |
11〜13 | (欠番) | 0xFE2B 〜 0xFE2D |
14〜15 | (予約) | 0xFE2E, 0xFE2F |
16〜17 | Unicode | 0xFE30, 0xFE31 |
18〜31 | (予約) | 0xFE32 〜 0xFE3F |
UB dat[dlen] -- 固有データ ( dlen バイト )を、以下のように変更する:
UB data[dlen] -- 固有データ ( dlen バイト )
ファイルシステムの総容量4GB超に対応する拡張形式2を追加。
これに伴い、従来の拡張形式を拡張形式1とする。
以下のように拡張形式2を追加
標準形式の場合 0x42FE 拡張形式の場合 0x52FE (拡張形式1および2共通)
標準形式の場合 0x6400 拡張形式1の場合 0x6401 拡張形式2の場合 0x6402
拡張形式2のファイルヘッダは以下の形式となる。
拡張形式1に、レコードインデックス開始位置 ridxofs が追加されている。
typedef struct { UW startid; /* ファイルヘッダ開始 ID (0x54726F6E) */ UH ftype; /* ファイルタイプ */ UH atype; /* アプリケーションタイプ */ VB own[28]; /* 所有者名+隠し名 */ VB grp[28]; /* グループ名+隠し名 */ UH gacclv; /* グループアクセスレベル */ UH pacclv; /* 一般アクセスレベル */ H nlnk; /* 含まれるリンク数 */ H idxlv; /* インデックスレベル */ W size; /* ファイルの総バイト数 */ W nblk; /* 総使用論理ブロック数 */ W nrec; /* 総レコード数 */ VB reserved1[8]; W ltime; /* 保存期限 */ W atime; /* 最新のアクセス日時 */ W mtime; /* 最新の更新日時 */ W ctime; /* ファイルの生成日時 */ VB name[40]; /* ファイル名 */ VB pswd[24]; /* 合言葉 */ W refcnt; /* ファイル参照カウント (≧255) */ UH ridxofs; /* レコードインデックス開始位置 */ VB reserved2[8]; UH fid; /* ファイル ID */ UW endid; /* ファイルヘッダ終了 ID (0x82DDE96B) */ } DfFileHeader;
(192 + 16) ≦ ridxofs ≦ (論理ブロックサイズ - 16)
拡張形式2のフラグメントテーブルは以下の形式となる。
typedef struct { UH size; /* フラグメントサイズ */ UH offset; /* ブロック内オフセット */ UW blk; /* 論理ブロックアドレス */ } DfFragment2;
フラグメントテーブルの最大登録数は可変となる。
ファイルヘッダの終端から、ファイルヘッダに指定されたレコードインデックス開始位置までがフラグメントテーブルとなる。
以下のシステムコールを追加する
WERR lod_mod( LINK *lnk, P_DYNLDINF *info )
ERR unl_mod( W loadid )
|
WERR prc_inf( W pid, W item, VP buf, W len )
pid
(プロセスID) で指定したプロセスに関する各種情報を取得し
buf
へ格納する。
情報の種類は item
で指定する。
pid = 0
は自プロセス、pid = -1
は親プロセスを示す。
len
は buf
のサイズ (バイト数) で、
必要サイズに満たないときはエラー (ER_PAR
) となり
buf
には何も格納されない。
戻値に、buf
に必要なサイズ(バイト数)を返す。
buf = NULL
を指定した場合は情報は格納されないが、
戻値には buf
に必要なサイズが返される。
この場合、len
は無視される。
情報の種類(item) #define PI_LINK 0x00010000 /* プログラムファイルのリンク */ #define PI_NTSK 0x00020000 /* プロセス内タスク数 */ #define PI_TSKSTAT 0x00030000 /* 各タスクの状態 */
item PI_LINK buf LINK
プログラムファイルのリンクを取得する。
cre_prc()
で指定されたプログラムファイルのリンクを返す。
item PI_NTSK buf W ntsk
プロセス内のタスク数(メインタスクとサブタスクの合計)を取得する。
item PI_TSKSTAT + n buf typedef struct { W tskid; /* タスクID */ UW state; /* タスク状態 */ W priority; /* タスク優先度 */ } P_TSKSTAT; state = P_WAIT ‖ P_READY ‖ P_RUN
n 番目のタスクの状態情報を取得する。
n = 0 がメインタスクの情報となり、n >= 1 がサブタスクとなる。
n は、PI_NTSK
で得られたタスク数 - 1 までが有効となる。
|
WERR req_emg( W pid, W t_mask )
指定のプロセスの終了を、メッセージで通知する。
pid
で指定したプロセスが終了した時、
終了通知のメッセージが自プロセスに送信されるように設定する。
通知される終了の種類を t_mask
で指定する。
pid = -1
は親プロセスを表わす。
自プロセスは指定できない( ER_SELF
)。
t_mask = [MM_ABORT] | [MM_EXIT] | [MM_TERM] MM_ABORT プロセスが異常終了した時通知 MM_EXIT プロセスが正常終了した時通知 MM_TERM プロセスが強制終了した時通知
t_mask = 0
の時は、終了通知を解除する。
t_mask < 0
の時は、設定を変更しない。
戻値に変更前の t_mask
の設定値を返す。
自プロセスが終了した時は自動的に設定は解除される。
終了通知のメッセージは次の形式となる。
typedef struct { W type; /* メッセージタイプ (MS_SYS2) */ W size; /* メッセージサイズ */ W kind; /* 終了タイプ (MS_ABORT,MS_EXIT,MS_TERM) */ W pid; /* 終了したプロセスのプロセス ID */ W code; /* 終了コード */ } EXITMSG;
kind, pid, code は親プロセスに送られる終了メッセージと同じ内容である。
kind |
終了メッセージタイプ (MS_ABORT, MS_EXIT, MS_TERM のいずれか) |
pid |
終了したプロセスのプロセス ID |
code |
システムのエラーコードまたは ext_prc(), ter_prc() で指定した終了コード |
EXITMSG
は MS_SYS2
の各種システムメッセージの中の 1 つとなる。
typedef union { struct { /* MS_SYS2 の基本形式 */ W type; /* メッセージタイプ (MS_SYS2) */ W size; /* メッセージサイズ */ W kind; /* 種別 */ VW info[1];/* 種別ごとに異なる各種情報 */ } base; EXITMSG exitmsg; /* 終了通知 */ } MSG_SYS2;
終了通知のメッセージは、
通常の子プロセスの終了時に親プロセスに通知される終了メッセージとは別に送信される。
したがって、子プロセスに対して終了通知を設定した場合は、
終了通知のメッセージ( MS_SYS2
)が来た後に、
さらに終了メッセージ( MS_ABORT,MS_EXIT,MS_TERM
)が来ることになる。
|
WERR lod_mod( LINK *lnk, P_DYNLDINF *info )
typedef struct { VP loadaddr; /* ロードアドレス */ UW loadsize; /* ロードサイズ */ FP entry; /* エントリーアドレス */ UW info[3]; /* 機種依存の情報 */ } P_DYNLDINF;
lnk で指定した共有オブジェクトを自プロセスのローカル空間にローディングする。 ロードした共有オブジェクトに関する情報を info に返す。 ロードID (>0)を戻値に返す。
リンク時の指定とは無関係に、ローカル空間の空き領域にロードする。 共有オブジェクトをメモリー上に読み出す(マッピングする)のみで、リロケーション等の処理は行わない。 すでにロードされている共有オブジェクトと同じものを指定した場合も、新たに別のメモリー空間を割り当ててロードする。
|
ERR unl_mod( W loadid )
loadid で指定した共有オブジェクトをアンローディングする。 共有オブジェクトが使用中であるか否かは関知しない。
なお、プロセス終了時には自動的にすべての共有オブジェクトがアンロードされる。
|
brk_msg()
は、
中心核 ( ITRON ) のサイクリックハンドラなど、
プロセス / タスク以外からも呼び出すことができる。
以下の記述を追加する。
PC-AT の場合、下位 16MB のメモリー空間に対してしか DMA 転送を行うことができず、 また 64KB or 128KB 境界を含む領域に対して DMA 転送ができない。 これらの制約から、DMA 転送可能な領域を確保するための特殊なメモリー管理機能を用意している。
※ この機能は PC-AT 固有の機能であり、他機種ではサポートされない。
メモリー管理のシステムコールに、 DMA 専用メモリー確保のためのオプションが追加されている。
|
ERR get_mbk( VP *adr, W nblk, UW atr )
M_DMA 0x80000000 DMA 専用メモリー指定
atr = M_DMA|M_SYSTEM|M_RESIDENT
の指定により、
DMA 専用メモリーを確保する。
M_DMA を指定する場合、他のオプションの組み合わせは許されない。
得られるメモリーは 64KB 境界を含まないことが保証される。 したがって、最大で 64 KB の連続領域しか確保できない。 得られるアドレスは論理アドレスである。
DMA 専用メモリーは、mbk_sts()
によって得られるメモリー状態情報には含まれない。
DMA 専用メモリーはシステム起動時にその領域およびサイズが決定されるため、 それを超えて確保することはできない。 標準では約 30KB の領域が DMA 専用メモリーとして用意されている。
以下の記述を追加する。
0x0000 〜 0x001f
の制御コードは無効。
0xff00 〜 0xffff
の特殊コードは無効。
これらのコードが含まれた場合、ER_FNAME
となる。
なお、0xff21 〜 0xff23
はパス名の区切り等の特殊文字として使用されており、
その用途においては使用可能である。
パス名の区切りと区切りの間が一意表現であるものとする。
したがって、パス名の区切りごとにシステムスクリプト(0xfe21
)に戻ることになる。
(例) ○:システムスクリプト(0xfe21)の文字 △:他スクリプト(0xfe31)の文字 /:パス名の区切り(TC_FDLM=0xff21) /○○[fe31]△△/○○ ←正 /○○[fe31]△△[fe21]/○○ ←誤
この 2 つは同じパス名とはみなされない。
下のパス名は一意表現になっていないので誤りであるが、
ファイル管理はチェックしない。
typedef struct { UH fs_bsize; /* 論理ブロックのバイト数 */ UH fs_nfile; /* 最大ファイル数 */ H fs_lang; /* ファイルシステムでの使用言語 */ H fs_level; /* ファイルシステムのアクセス管理レベル */ W fs_nblk; /* 全体のブロック数 */ W fs_nfree; /* 未使用ブロックの総数 */ STIME fs_mtime; /* 最新のシステムブロックの更新日時 */ STIME fs_ctime; /* ファイルシステムの生成日時 */ TC fs_name[L_FSNM]; /* ファイルシステム名 */ TC fs_locat[L_DLNM]; /* デバイス所在名 */ } FS_STATE;
|
解説の項にある以下の記述を削除する。
現在レコードがリンクレコードのときはbuf
の内容はLINK
構造体となるが、 属性データ部分のみが書き込まれ、参照するファイル自体を変更することはできない。 この場合、offset = 0
、size ≧LINK 構造体のサイズ
(またはsize = 0
) でなくてはいけない。
|
パスワードはサポートしていない。
|
パスワードはサポートしていない。
|
このシステムコールはサポートしていない。
|
次の場合には、マップできないという制限がある。
|
ERR syn_fil( W fd )
fd ファイルディスクリプタ
= 0 正常 < 0 エラー (エラーコード)
指定されたオープン中のファイルに関して、
一時的にメモリーに保持されている内容等をディスクに書き出す。
レコードマップ(map_rec
)による書き込みも同様にディスクに書き出される。
以下の記述を追加する。
イベント構造体(EVENT
)のメタキー状態情報
(stat
)に下記の状態が追加されている。
ES_KBSEL 0x00020000 キーボード選択 0: かな入力 1: ローマ字入力
ホイールマウスのホイールの回転をイベントで通知するための特殊イベント (ホイールイベント)が追加されている。
※ この機能は、将来仕様が変更される可能性がある。
ホイールのイベントは EV_AUTKEY
のキーイベントとなる。
ただし、イベントの優先度は本来のキーリピートによる
EV_AUTKEY
とは異なり、
ホイールによる EV_AUTKEY
は最低優先度
( EV_NULL
よりは上)とする。
イベント内容 type EV_AUTKEY data.key.keytop 0x8000 + 回転量 回転量 > 0 ホイールを手前に回転 回転量 < 0 ホイールを奥に回転 data.key.code KC_SS_D ホイールを手前に回転 KC_SS_U ホイールを奥に回転
※ ホイールの回転による EV_KEYDWN, EV_KEYUP イベントは発生しない。
ホイールのイベントは、下記の条件のいずれかが成立したとき、 イベントキューから自動的に消滅する。
EV_NULL
を除く)
をアプリケーションが取り出したとき。
なお、アプリケーションが取り出すまでの間に、 ホイールが複数回回転させられたときは、 その合計量が 1 回のイベントとして扱われる。 ただし、回転方向が反転した場合は、それ以前の回転量は捨てられる。
|
WERR chg_pda( W atr )
ポインティングデバイス属性 atr が次のように拡張されている。
xx..xx xWQV CCCA RRRR SSSS
OS バージョンの取得機能のみサポートしている。
|
このシステムコールはサポートしていない。
|
このシステムコールはサポートしていない。
|
このシステムコールはサポートしていない。
ビットマップの圧縮、復元機能はサポートしていない。つまり、圧縮形式が NOCOMPAC 以外の場合は、エラーとなる。
描画環境を生成したプロセスが終了した場合は、 そのプロセスが生成した全ての描画環境は自動的に削除される。
マスクピクセル値の機能はサポートしてしない。
文字のグレースケール表示をサポートしている。
フォントとしてグレースケール表示指定を行い、
実際にグレースケールフォントのイメージが取り出された場合にグレースケール描画を行う。
グレースケールは文字前景色かた文字背景色へのグラデーションとして描画される。
文字色の指定として透明色が指定されている場合、グレースケール部分の描画に関しては、
指定色指定の最上位ビットを 0 にしたものとして扱い、グレースケールの色を決定する。
したがって、文字前景色に 0x10000000
(黒
)、背景色に 0x90FFFFFF
(白 + 0x80000000
)を指定した場合、文字色は黒から白へのグラデーションとして、
背景色は透明として描画が行われる。
描画環境には、
言語指定コードが指定されていない状態で文字コード描画が要求された場合の、
デフォルトの言語指定として使用される文字セットが保持されている。
文字セットは不定長の言語指定コードを短縮したもので、
言語指定コードを以下のように変形したものである。
言語指定コード 文字セット(SCRIPT) 0xFE×N, (0x21〜0x7E,0x80〜0xFD) N-1, (0x21〜0x7E,0x80〜0xFD) 現時点では、N = 1 のみサポートしている。
システムスクリプト( 0xFE21
)の文字セット( SCRIPT
)は
0x0021
となる。
描画環境の文字セットは言語指定コードを含む文字列描画によって変更される。
描画環境の初期値は 0x0021
である。
|
プロセスが終了した場合には、 そのプロセスが生成したすべての描画環境は自動的に削除される。
|
【形式】にあるシンボルOUT
を削除する。
すなわち、形式は以下のようになる。
|
【解説】の項第3段落の文:
*pat には、生成された内部パターンイメージへのポインタが戻され、 そのバイト数が *size に戻される。 得られたポインタを PAT 構造体の ipat.ptr に設定することにより、 パターンとして使用できることになる。 loc != NULL の場合には、*pat には loc の値が設定されることになる。を、以下のように変更する。
*pat には、生成された内部パターンイメージへのポインタが戻され、 そのバイト数が *size に戻される。 得られたポインタを PAT 構造体の ipat.pat に設定することにより、 パターンとして使用できることになる。 loc != NULL の場合には、*pat には loc の値が設定されることになる。
|
形式変換指定を行う場合、 転送元ビットマップの形式として複数プレーンをサポートしている。
|
形式変換指定を行う場合、 転送元ビットマップの形式として複数プレーンをサポートしている。
|
【解説】の項第2段落:
関数値として、パターンで塗りつぶされた部分の矩形領域の数が戻り、 rlp が NULL でない場合は、その矩形領域のリストが設定される。 rlpの要素が不足する場合は、rlp の要素分のみ設定される。を、以下のように変更する。
関数値として、 パターンで塗りつぶされた部分の矩形領域の数が戻り、 rlp が NULL でない場合は、その矩形領域のリストが絶対座標値で設定される。 rlpの要素が不足する場合は、rlpの要素分のみ設定される。
|
この関数はサポートしていない。
常にエラー ( EG_NOSPT
)を戻す。
|
この関数はサポートしていない。
常にエラー ( EG_NOSPT
)を戻す。
|
圧縮形式が
NOCOMPAC
以外の場合、
常にエラー ( EG_NOSPT
) を戻す。
|
グレースケールフォントが適用される場合に、 文字前景色、文字背景色がグラデーション色の生成に使用される。 透明色が指定されている場合でも、 設定値の最上位ビットを 0 として解釈し、 グラデーション色の生成に使用される。
ポインタの前景色と背景色の指定はピクセル値だけではなく 絶対カラー表現でもよい。
同一プロセスでオープンした複数の主ウインドウをグループとして取り扱うための
「グループウィンドウ属性(WA_GROUP)」の機能を追加。
グループウィンドウ属性を持った主ウィンドウは以下の動作
(実身/仮身マネージャに関連した動作も含む)となる。
osta_prc()
は、最初に開いたグループウィンドウに対してのみ 1 回だけ実行し、oend_prc()
は、最後のグループウィンドウを閉じた時点でのみ 1 回だけ実行すること。
以下の説明を追加。
#define WA_GROUP 0x10000 /* グループ主ウィンドウ */ #define WA_THIN 0x20000 /* スクロールバー無、変形可のとき細枠 */ #define WA_NOFRAME 0x40000 /* タイトルバー無、変形不可のとき枠なし */
WA_GROUP の指定より、グループウィンドウであることを指定する。 この属性は主ウィンドウ、および従属ウィンドウのときのみ有効で、 他の場合は無視される。
WA_THIN を指定し、かつ変形可能なときは、スクロールバーがない部分の枠の幅が 細くなる。
WA_NOFRAME を指定し、かつタイトルバーなし、変形不可のときは、枠がない ウィンドウとなる。
ウィンドウのデザイン、色はシステムで規定しているため、 ウィンドウの表示属性の指定は無視される。
○ EV_REQUEST
W_REDISP
での src に以下の値を追加。
src = 0x10 : ウィンドウの配色が変更された。
ウィンドウ情報レコードとして対応している項目は以下の通り。
R : 取得のみ RW : 取得と設定 RECT, W[] .. : 項目のデータタイプ ○ 一般項目 ( WI_GENERAL= 200 ) WI_FRAMESIZE (+ 0) R RECT スクリーン全体の領域 WI_WORKSIZE (+ 1) R RECT スクリーンからシステムメッセージパネルを 除いた領域 WI_WINLIST (+ 2) R W[] 表示されている全ウィンドウのウィンドウIDの 配列、手前に位置するウィンドウの順 WI_FRONTLIST (+ 3) R W[] 全フロントエンドプロセスのプロセスIDの配列 WI_MSGSTR (+ 4) RW TC[] システムメッセージパネルの表示文字列 WI_MENUSTR (+ 5) RW TC[] ウィンドウの基本メニュー文字列 ○ イネーブルウェア項目 ( WI_ENABLEWARE = 300 ) WI_TITLEFONT (+ 0) RW W タイトルバーのフォントサイズ WI_MENUFONT (+ 1) RW W メニューのフォントサイズ WI_SBARWIDTH (+ 2) RW W スクロールバーの幅 WI_DRAGWIDTH (+ 3) RW W 移動/変形時のラバーバンド幅 WI_DCLICKT (+ 4) RW W ダブルクリック間隔 WI_DCLICKW (+ 5) RW W ダブルクリック位置許容度 WI_CARETT (+ 6) RW W カレット点滅間隔 WI_CARETW (+ 7) RW W カレット幅の倍率 WI_SELECTT (+ 8) RW W 選択枠点滅間隔 WI_SELECTW (+ 9) RW W 選択枠線幅の倍率 ○ 修飾項目 ( WI_ATTRIBUTE = 400 ) WI_WORKBACK (+ 0) RW PAT 背景画面のパターン WI_PANELBACK (+ 1) RW PAT パネル背景のパターン WI_HLIGHT (+ 51) RW PAT ハイライト部分の線のパターン WI_SHADOW (+ 52) RW PAT 影の部分の線のパターン WI_MSGBACK (+ 53) RW PAT システムメッセージパネル背景のパターン WI_ACTFRAME (+ 54) RW PAT アクティブ主ウィンドウ枠のパターン WI_INACTFRAME (+ 55) RW PAT インアクティブ主ウィンドウ枠のパターン WI_SUBFRAME (+ 56) RW PAT 従属ウィンドウ枠のパターン WI_FRONTFRAME (+ 57) RW PAT 前面ウィンドウ枠のパターン WI_MAINMENU (+ 58) RW PAT メインメニュー背景のパターン WI_MAINMENUF (+ 59) RW PAT メインメニュー枠のパターン WI_SUBMENU (+ 60) RW PAT サブメニュー背景のパターン WI_SUBMENUF (+ 61) RW PAT サブメニュー枠のパターン WI_ACTPARTS (+ 62) RW PAT アクティブパーツ領域のパターン WI_INACTPARTS (+ 63) RW PAT その他のパーツ領域のパターン WI_VOLKNOB (+ 64) RW PAT ボリュームのノブのパターン WI_VOLBACK (+ 65) RW PAT ボリューム背景のパターン WI_INDON (+ 66) RW PAT ON状態のインジケータのパターン WI_INDONF (+ 67) RW PAT ON状態のインジケータ枠のパターン WI_INDOFF (+ 68) RW PAT OFF状態のインジケータのパターン WI_INDOFFF (+ 69) RW PAT OFF状態のインジケータ枠のパターン WI_PEMPHAS (+ 70) RW PAT パーツ強調色のパターン WI_PTOMBO (+ 71) RW PAT ボリュームのトンボのパターン WI_SBARKNOB (+ 72) RW PAT スクロールバーのノブのパターン WI_SBARBACK (+ 73) RW PAT スクロールバー背景のパターン WI_SBARTOMBO (+ 74) RW PAT スクロールバーのトンボのパターン WI_MINDON (+ 75) RW PAT メニューのON状態のインジケータのパターン WI_MINDONF (+ 76) RW PAT メニューのON状態のインジケータ枠のパターン WI_MINDOFF (+ 77) RW PAT メニューのOFF状態のインジケータのパターン WI_MINDOFFF (+ 78) RW PAT メニューのOFF状態のインジケータ枠のパターン WI_PANELFRAME (+ 79) RW PAT 標準パネルの枠のパターン WI_POPUPFRAME (+ 80) RW PAT ポップアップウィンドウの枠のパターン WI_PANELWARN (+ 82) RW PAT 警告パネルの枠のパターン WI_PANELFATAL (+ 83) RW PAT 致命的エラーパネルの枠のパターン ○ その他 ( WI_OTHER = 500 ) WI_LASTCARPOS (+ 0) R PNT 最後にカレットが表示された絶対座標 WI_LASTCARTIME (+ 1) R W 最後にカレットが表示されたシステム時刻 WI_ACTWTFCOL (+ 50) RW COLOR アクティブウィンドウの前景タイトル色 WI_ACTWTBCOL (+ 51) RW COLOR アクティブウィンドウの背景タイトル色 WI_INACTWTFCOL (+ 52) RW COLOR インアクティブウィンドウの前景タイトル色 WI_INACTWTBCOL (+ 53) RW COLOR インアクティブウィンドウの背景タイトル色 WI_ACTWDTFCOL (+ 54) RW COLOR アクティブ虚身ウィンドウの前景タイトル色 WI_ACTWDTBCOL (+ 55) RW COLOR アクティブ虚身ウィンドウの背景タイトル色 WI_INACTWDTFCOL (+ 56) RW COLOR インアクティブ虚ウィンドウの前景タイトル色 WI_INACTWDTBCOL (+ 57) RW COLOR インアクティブ虚身ウィンドウの背景タイトル色 WI_ACTMENUCOL (+ 58) RW COLOR 許可状態の標準メニュー文字色 WI_INACTMENUCOL (+ 59) RW COLOR 禁止状態の標準メニュー文字色 WI_ACTGMENUCOL (+ 60) RW COLOR 許可状態の汎用メニュー文字色 WI_INACTGMENUCOL(+ 61) RW COLOR 禁止状態の汎用メニュー文字色 WI_MSGPNLCOL (+ 62) RW COLOR システムメッセージパネルの文字色 WI_ACTPARTSCOL (+ 63) RW COLOR パーツのアクティブな文字色 WI_INACTPARTSCOL(+ 64) RW COLOR パーツのインアクティブな文字色 WI_LIGHTPARTSCOL(+ 65) RW COLOR パーツのハイライト文字色 WI_VOBJBGCOL (+ 66) RW COLOR 仮身のデフォールトのタイトル背景色 WI_FSTITLE (+ 80) RW FSSPEC ウィンドウタイトル文字書体 WI_FSMENU (+ 81) RW FSSPEC メニュー文字書体 WI_FSPARTS (+ 82) RW FSSPEC パーツ文字書体 WI_FSMSGPNL (+ 83) RW FSSPEC システムメッセージ文字書体 WI_FSPANEL (+ 84) RW FSSPEC パネル文字書体 WI_FSWINDOW (+ 85) RW FSSPEC ウィンドウ内文字書体 WI_FSVOBJ (+ 86) RW FSSPEC 仮身文字書体
PAT
)の取得において、size
が不足した場合は、先頭部分のみを取り出し、構造体に含まれる
ポインタの内容は一切保証されない。
PAT
)の設定において、size
は意味を持たないが、p
のアドレスから size
バイトのアクセスができない場合は EX_ADR
のエラーとなる。
PAT
)として、mpat
を設定する場合、
ビットマップの形式はスクリーンの形式と同じでなくてはいけない。
WI_WORKBACK
を除く各種のパターン)、および、その他の項目(色、書体)の設定は、設定後の再表示の時点で反映されるが、項目によってはアプリケーション側の対応に依存する。
FSSPEC
) 内の文字サイズは意味を持たず、設定しても無視される。
#define WI_GSBGC(n) (5000 + (n)) /* R BG COLOR */
wopn_wnd(), wset_bgp(), wchg_dsp()
の背景パターンとして直接指定することができる。
(例: (PAT*)WI_PANELBACK
)
|
ウィンドウの表示属性 (atr
) の指定は無視される。
WA_GROUP を指定した場合、par, org は、グループウィンドウのそれぞれのオープン時に同じ値を設定しなくてはいけない。
|
親ウィンドウが存在しない入力受付状態のウィンドウをクローズした場合の説明を、 以下のように変更する。
親ウィンドウが存在しない入力受付状態のウィンドウをクローズした場合は、
もっとも手前にあるウィンドウに EV_SWITCH
が送られて入力受付状態が移行する。
なお、この場合は生成元は存在しないものとみなされる。
|
WVENT *evt 取り出されたウィンドウイベント W mode ::= ( WAIT ‖ NOMSG ‖ RAWEVT ‖ DRGEVT ‖ MSG ‖ DSPEVT ) | [ NOWAIT ] MSG 0x0040 ウィンドウは切り替えない DSPEVT 0x0050 再表示要求イベントのみを取り出す
mode
により以下のように振る舞う。
MSG
:
EV_SWITCH
を発生せず、EV_BUTDWN
として戻す
( 入力受付状態の切換は行なわない ) 。
W_REDISP
以外の EV_REQUEST
は取り出さない。WAIT
指定と同じ処理を行なう。
WAIT
指定の場合と同じ。
MSG|NOWAIT:MSG
指定に対して、以下の点が異なる。
EV_NULL
が返る。
EV_NOMSG
が返る。
DSPEVT
:
EV_NOMSG
を返す。
フロントエンドプロセスが存在する時は、
WAIT
指定と同じ処理を行なう。
WAIT
指定の場合と同じ。
EV_NOMSG
を返す。
DSPEVT|NOWAIT:DSPEVT
指定と同じ動作をする。
|
ERR wugt_evt2(WEVENT *evt)
WEVENT *evt ウィンドウ・イベント
≧ 0 正常 < 0 エラー(エラーコード)
*evt
に格納されているウィンドウ・イベントを戻して、
次に WAIT
または NOMSG
または MSG
のモードで実行される、
wget_evt()
関数で取り出すウィンドウ・イベントとする。
他のモードで実行した場合は取り出されない。
戻したイベントは、通常のイベントに優先して取り出される。 なお、wugt_evt()で戻したイベントは、wugt_evt2()で戻したイベントに優先して取り出される また、取り出される順番は戻した順番である。 イベントの内容については一切チェックされない。
wugt_evt()で戻したイベントとは別に、1 プロセスで最大16個のウィンドウ・イベントをイベントキューに戻すことができる。
同時に使用できるプロセスはウィンドウ数個までであり、
それ以上はエラー ( EX_NOSPC
) となる。
wugt_evt2()
で戻したイベントが、wget_evt()
で取り出された場合、
フロントエンド・プロセスには渡されない。
この処理は1つのプロセス内で行なわれるため、
戻したイベントは、他のプロセスからの wget_evt()
では取り出されない点に注意が必要である。
プロセスが終了した場合は、 そのプロセスによって戻されたイベントは自動的に捨てられる。
この関数は、パーツの処理で期待外のイベントが得られた場合、
そのイベントを一旦戻して、
通常のイベントループに戻った後、
wget_evt()
で取り出して処理するために使用される。
wugt_evt2()
は、
特殊な用途に使用される関数であり、
通常アプリケーションは使用しない。
EX_ADR : アドレス(evt)のアクセスは許されていない。 EX_NOSPC : システムのメモリ領域が不足した (戻したイベントが16個以上)。
|
wid としてパネルID を指定することにより、パネルの状態を取り出すことができる機能が追加された。パネルの場合、stat->r
以外の値は意味を持たない。
【解説】の項の後半にある、以下の記述:
全面モードの場合にを、以下のように変更する。stat->attr
にWA_FULL
がセットされる。 またstat->attr
によって、WA_STD
指定時には正規座標が、WA_WORK
指定時には作業領域座標が、WA_FRAME
指定時には外枠座標が、stat->r
に格納される。
また、wopn_wnd()
によって指定されたウィンドウ属性によって、WA_STD
が指定されている時には正規座標が、WA_WORK
が指定されている時には作業領域座標が、WA_FRAME
が指定されている時には外枠座標が、stat->r
に格納される。
|
ウィンドウの表示属性 (atr
) の指定は無視される。
|
wid としてパネルID を指定することにより、パネル内をパネル背景で塗り潰す機能
を追加。
ウィンドウやパネルの背景パターンが変更されることに対応するために、
wera_wnd()
を使用して、ウィンドウやパネル内を消去することが
望ましい。ただし、wera_wnd()
は、gset_vis()
で
設定したクリッピングが利かない点に注意する必要がある。
#define MC_MENU(n) (0x1004 + ((n) << 4)) n : 1 〜 63
属性コードとして、拡張文字属性指定コード(MC_EATTR) が追加された。
MC_EATTR (0x1008) の直後に、以下の 20バイト固定のデータがくる。最初の 12 バイトは MC_ATTR による文字属性と同一である。
COLOR chcol -- 文字色の指定 (W)chcol < 0 ときは指定なし H class -- 文字クラスの下位16ビットの指定 class == -1 のときは指定なし UH attr -- 文字属性の下位16ビットの指定 PNT csize -- 文字サイズの指定 csize.x > 0 かつ csize.y > 0 のときのみ有効 UH eclass -- 文字クラスの上位16バイトの指定 UH eattr -- 文字属性の上位16ビットの指定 TC fontnm[12] -- フォントファミリ名 空文字列のときは指定なし項目リストの先頭に拡張文字属性指定コードがある場合、その指定は以降の項目リスト全体に有効となるため、同じ属性のときに項目ごとに属性コードを入れる必要はない。
属性コード ( メタコード ) は、 区切り文字としての意味と、 続く項目の属性指定の意味を持ち、属性コードの出現によってシステムスクリプトへの切り替えも行われる。したがって、それぞれの項目文字列は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
|
標準メニューのデザイン、色はシステムで規定しているため、 この関数によるデフォルト表示属性の変更は無視される。 (エラーとはならない。)
文字属性指定コードの class
と attr
は 16bits 幅とする。すなわち:
COLOR chcol -- 文字色指定 (-1は文字色指定無し) H class -- フォントクラス指定 (-1はデフォルトフォント) UH attr -- フォント属性指定 (0は通常体) PNT csize -- フォントサイズ指定 (csize.c.h または csize.c.v が0以下はデフォルトサイズ)
ドラッグ中の中断 | :P_DRAGBREAK | =1 | : 中断する |
0 | : 中断しない |
パーツの点滅はサポートしていないため、点滅状態 (P_BLINK
)
の指定は無視される。
そのため、以降の個々のパーツでの点滅状態の説明はすべて意味を持たない。
text
は初期の表示文字列へのポインタであり、
初期表示文字列は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
txsize
は、
入力可能な最大の文字数である ( TNULL
を含む)。
言語指定コードも文字として数えるため、実際に入力できる見かけの文字数は、最大文字数に満たない場合がある。
text
は初期の表示文字列へのポインタであり、
初期表示文字列は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
txsize
は、入力可能な最大の文字数である ( TNULL
を含む)。
言語指定コードも文字として数えるため、実際に入力できる見かけの文字数は、最大文字数に満たない場合がある。
fmt
は表示フォーマットを指定するワードデータ列であり、
表示フォーマット指定は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
それぞれの固定文字列は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
それぞれの候補項目は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
name
はスイッチ名文字列へのポインタであり、
スイッチ名文字列は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
name
はスイッチ名文字列へのポインタであり、
スイッチ名文字列は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
name
は各選択肢の文字列を属性コードで区切って繋げたものである。
それぞれの選択肢は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
name
は各選択肢の文字列を属性コードで区切って繋げたものである。
それぞれの選択肢は、先頭に言語切り替えコードがない場合、システムスクリプトで始まるものと解釈される。
最初の属性コードにMC_KEYが指定してある場合は、属性コードの直後にフィールド指定が続くものと解釈される。フィールド指定は、スクロールセレクタの項目どうしで桁位置をそろえるのに使用できる。MC_KEY2 0x0004 0x0002 という属性コードがあった場合、最初のフィールドが標準文字幅で4桁分、次のフィールドが標準文字幅で2桁分となり、3番目のフィールドが残り全体となる。文字列中にタブコードを入れることで、次のフィールドまで文字位置を進めることができる。最後のフィールドにタブコードが現われた場合、単なる文字として扱われる。
見えている部分がごくわずかの場合は、 ノブは以下のようになり、これ以上圧縮されることはない。 ただしP_NONOB属性の場合は、指定通りの比率で表示される。
P_DRAGBREAK | : 0 | : ドラッグ中に中断しない |
: 1 | : ドラッグ 中に中断する |
P_DRAGBREAKがボリュームパーツに対して指定された場合、cact_par()でボリュームのジャンプスクロール中に、値が変化するたびにパーツ処理が中断する。
|
P_BLINK
(点滅) の指定は、エラー (EX_PAR
)となる。
|
P_BLINK
(点滅) の指定は、エラー (EX_PAR
)となる。
|
EV_BUTDWN
または EV_SWITCH
の場合 :
パーツ属性がP_DRAGBREAKの場合、
ドラッグによる現在値の変化が発生すると、以下の関数値を戻して処理を中断する。
この時 *ev
のイベント・タイプは
EV_NULL
に設定される。
関数値:0110 0000 0000 10DD D = 0: P_UP -- 上方向 への移動 = 1: P_DOWN -- 下方向 への移動 = 2: P_LEFT -- 左方向 への移動 = 3: P_RIGHT -- 右方向 への移動
アプリケーションは、対応する処理を行なった後、
再び cact_par()
をコールする必要がある。
|
W pid パーツID UW cmd cmd は以下の5種の状態指定の任意の組合せ (OR) となる。
P_EMPHAS / P_NORMAL | -- 強調枠 / 通常枠 |
P_NOFRAME / P_FRAME | -- 枠無し / 枠有り |
P_DISABLE / P_ENABLE | -- 操作禁止 / 操作許可 |
P_INACT / P_ACT | -- 不能状態 / 可能状態 |
P_DRAGBREAK / P_NODRAGBREAK | -- ドラッグ中に中断する / しない |
|
パーツの点滅はサポートしていない。
|
この関数はサポートしていない。
常にエラー ( EG_NOSPT
)を戻す。
pact_msg
に NULL
イベントを渡すことで同等の機能が実現される。
PICT_DATA
)イメージのマスク、および複数サイズへの拡張を行った以下の形式の ピクトグラムイメージをサポートしている。
CBMP 構造体 [ マスクイメージ ] [別サイズデータへのオフセット] −> (a) プレーンイメージ #1 : : CBMP 構造体 <− (a) [ マスクイメージ ] [別サイズデータへのオフセット] −> (b) プレーンイメージ #1 : :
ギャップ = 0 マスクなし、別サイズデータなし = 4 マスクなし、別サイズデータあり = マスクサイズ マスクあり、別サイズデータなし = マスクサイズ + 4 マスクあり、別サイズデータあり
BMAP_DATA
)
pixbits
, rowbytes
を UH
に変更する。
よって、「図 110 : 図形ビットマップイメージ」は以下のようになる。
TIPREC.caret
のビット構成:
xxxx xxxx xxxx xxxx xPPP PPPP PPPP PPPPを、以下のように変更する。
XPPP PPPP PPPP PPPP PPPP PPPP PPPP PPPP
TIPREC.clause
のビット構成:
MXXX XXXX XXXX XXXX XPPP PPPP PPPP PPPPを、以下のように変更する。
MPPP PPPP PPPP PPPP PPPP PPPP PPPP PPPP
|
WERR iput_key( W tipid, EVENT *evt )
tipid
で指定したテキスト入力ポートに
evt
で指定したイベントを入力し、
その結果のテキスト入力ポートの状態をオープン時に割り当てた
TIPREC
に戻す。
戻値に、テキスト入力ポートの状態変化等を示す次の値を OR した値を返す。
TIP_OUT | 0x01 | 確定文節が発生した。 |
TIP_CNV | 0x02 | 未確定文字列が変更された。 |
TIP_CAR | 0x04 | カレット位置が変化した。 |
TIP_CL | 0x08 | 対象文節が移動した。または、区切り位置が変化した。 |
TIP_PUPREQ | 0x10 | 候補選択ポップアップのオープン要求。 |
TIP_PUPOPN | 0x20 | 候補選択ポップアップが開いている。 |
TIP_IGNORE | 0x1000 | イベントは無視された。 |
TIP_PUPREQ
は、
候補選択ポップアップを開く場面になったときに返される。
TIP_PUPREQ
が返されたら ipup_sel()
によりポップアップを開く必要がある。
候補選択ポップアップが開いている間は常に TIP_PUPOPN
が返される。TIP_PUPOPN
が返されている間は、
ipup_sel()
により返されたポップアップウインドウID が有効である。
イベント evt
には WEVENT
で定義されるすべてのイベント、
およびイベントタイプに TIP_EVENT
が指定された特殊イベントを使用できる。
ただし、候補選択ポップアップの処理を含むかな漢字変換の処理に必要なイベント以外は無視される。
イベントを無視した場合は、TIP_IGNORE
が戻値に返される。
候補選択ポップアップ内の表示などの処理もこのシステムコールによって行われるため、
かな漢字変換中は、キーイベントだけでなく再表示イベントなど原則としてすべてのイベントを
iput_key()
でシステムへ送らなくてはならない。
次の場合はエラーとなる。
EX_CKEY
)。
EX_KEY
)。
イベントを処理する前に、TIPREC.n_out
で示される確定文節は
TIPREC
から削除される。
イベントを無視した場合も同様に確定文節は削除される。
TIP_PUPREQ, TIP_PUPOPN, TIP_IGNORE
を追加。
EV_KEYDWN, EV_AUTKEY
以外のイベントはエラー (ER_PAR
)
となっていたが、かな漢字変換に不要なイベントは無視するように変更。
|
WERR ipup_sel( W tipid, W pwid, RECT *r )
tipid
で指定したテキスト入力ポートの候補選択ポップアップを開く。
pwid
は候補選択ポップアップの親となるウインドウのウインドウID。
r
は現在の変換対象文節の領域を示す座標で、
pwid
のウインドウの相対座標で表わす。
r
の近傍に候補選択ポップアップが表示される。
戻値に、開いた(開いている)候補選択ポップアップのウインドウID を返す。
iput_key()
で TIP_PUPREQ
が返されたときに
ipup_sel()
を呼び出すが、
候補選択ポップアップを開く必要がない場合は呼び出さなくてもよい。
その場合も、候補選択ポップアップが開かないだけで、かな漢字変換の動作自体には影響はない。
iput_key()
で TIP_PUPREQ
が返されていない状態で
ipup_sel()
を呼び出すとエラー ( EX_NOEXS
) となる。
すでに候補選択ポップアップが開いている状態で再び呼び出した場合は、
現在表示されているポップアップの位置が r
の近傍に移動する。
この場合、現在表示中のポップアップと pwid
が異なっている場合はエラー
( EX_PAR
)となる。
|
WERR ichg_mod( W mode )
mode
の TIP_ROMAN1
と TIP_ROMAN2
はローマ字入力モードの指定として同じ意味とする。
n 方式、nn 方式の区別は行わない。
したがって、かな入力/ローマ字入力の選択のみの機能となる。
この切替は、キーボードのメタキー状態の
ES_KBSEL
の現在状態をかな入力/ローマ字入力に合わせて切り替える。
|
WERR ichg_lrn( UW kind, W stat )
kind 0x0001 共通辞書 0x0002 単漢字変換辞書(未サポート) 0x0004 個人辞書 その他 未サポート stat 0 学習 OFF 1 学習 ON
※ この機能は、かな漢字変換のカスタマイズ機能に統合される。 互換性のために残っているが、将来的には廃止の方向にある。
|
WERR iopn_tip( TIPREC *tip, W mode )
mode = ( TIP_DIRMD ‖ TIP_CNVMD ) | ( TIP_TORIGHT ‖ TIP_TOLEFT ‖ TIP_TOUP ‖ TIP_TODOWN ) | [ TIP_TCONLY ] TIP_DIRMD 0x0100 直接モード(変換なし) TIP_CNVMD 0x0000 変換モード 新規 TIP_TORIGHT 0x0000 横書き(左から右) 新規 TIP_TOLEFT 0x0010 横書き(右から左) 新規 TIP_TOUP 0x0020 縦書き(下から上) 新規 TIP_TODOWN 0x0030 縦書き(上から下) 新規 TIP_TCONLY 0x0008 文字のみ 廃止 TIP_AUTO 0x0000 自動変換モード 廃止 TIP_MANUAL 0x0001 指定変換モード
TIP_TORIGHT, TIP_TOLEFT, TIP_TOUP, TIP_TODOWN
TIP_TCONLY
TIPREC
の変換中文字列 (cnv
)
およびよみ文字列 (in
) には文字コードのみが格納される。
この文字列は一意表現となる。TSC_SYS
)の文章データであるとする。互換性のため、TIP_AUTO と TIP_MANUAL の指定は無視する。 この機能は、かな漢字変換のカスタマイズ機能に統合される。
キー割り当て等のカスタマイズに影響することなく使用できる特殊イベントとして下記のものがある。
これらは、iput_key()
の入力イベントとして使用できる。
#define TIP_EVENT 0x80000000 /* TIP 特殊イベント指定 */
※ WEVENT の内容で特に記述のないものは 0 クリアしておく。
WEVENT.e.type = TIP_EVENT | EV_KEYDWN WEVENT.e.data.key.code = KC_IEND 0x0004 [○]
未確定文字列を強制的にすべて確定する。
WEVENT.e.type = TIP_EVENT | EV_KEYDWN WEVENT.e.data.key.code = KC_DEL 0x007f [削除]
未確定文字列をすべて破棄する。
WEVENT.e.type = TIP_EVENT | EV_KEYDWN WEVENT.e.data.key.code = KC_CNV 0x001e [変換] WEVENT.e.data.key.keytop= 0 変換動作(次候補) > 0 候補番号
keytop = 0
の場合は、変換動作(次候補)を行う。
keytop > 0
の場合は、指定した候補番号の候補を選択する。
WEVENT.e.type = TIP_EVENT | EV_KEYDWN WEVENT.e.data.key.code = KC_PGDN 0x1247 [PgDn]
次の候補一覧を表示する。
WEVENT.e.type = TIP_EVENT | EV_KEYDWN WEVENT.e.data.key.code = KC_PGUP 0x1246 [PgUp]
前の候補一覧を表示する。
仮身の操作の項最後の段落冒頭の文:
以下は、アプリケーションの付箋に関する標準的な操作方法の説明であり、 実身 / 仮身マネージャでは、 これらの操作を行なうための基本的な機能を提供している。を以下のように変更する。
以下は、アプリケーションの付箋に関する標準的な操作方法の説明であり、 実身 / 仮身マネージャでは、 これらの操作を行なうための基本的な機能を提供している。
|
関数名 b_odup_vob
を odup_vob
に変更する。
|
【解説】の最終段落にある、特殊機能についての記述を、 以下のように変更する。
特殊機能として、vid < 0
のときは- vid
をウィンドウIDとみなし、 そのウィンドウを開く元となった仮身を探して、 その仮身が属するファイルシステムをvlnk
に取り出す。
|
を、以下のように変更する。*evt
はパネルの動作実行で得られたメニューイベントでなくてはいけない。
*evt
がEV_KEYDWN
のときは、 キーメニューとしての処理を行ない、 そうでないときは、以下の内容のメニューを画面に表示して、 選択された項目に応じた処理を行なう。
*epv
はパネルの動作実行で得られたメニューイベントでなくてはいけない。
*epv
がEV_KEYDWN
のときは、 キーメニューとしての処理を行ない、 そうでないときは、以下の内容のメニューを画面に表示して、 選択された項目に応じた処理を行なう。
フォント属性が追加された。
/* フォント属性:固定ピッチ文字枠 */ #define FT_BOUNDLESS 0x00080000 /* イメージを文字枠に収めない*/FT_FIXEDと共に指定した場合に有効となり、文字イメージが文字枠をはみだす場合でも、文字イメージを移動・縮小しない。
インデックス・文字幅データ は次の形式となる。
typedef struct { UB widform; /* 文字幅等データの形式 */ UB idxform; /* インデックスデータ形式 */ UB opt; /* フォント定義オプション */ UB fontnum; /* フォント番号 */ OFFSET offwidth; /* 文字幅データへのオフセット */ OFFSET offidxtable; /* インデックスデータへのオフセット */ } IDXWDATA;
|
mode & FT_SYS != 0
の場合、
得られたビットマップは、フォントマネージャが管理するメモリ領域上に存在する。
同一のフォントディスクリプタによる新たなフォントマネージャのシステムコールを呼び出すまでは存在していることが保証される。
通常のアプリケーションは FT_SYS
を指定してはいけない。
TrueType 形式の文字イメージデータの場合、
複数の文字イメージデータが一つの文字イメージデータレコードに含まれる場合がある。
この場合は、フォント定義データのレコード・サブタイプ、もしくはインデックス・文字幅データの fontnum
により区別する。
インデックスを必要としない標準ドット形式イメージデータの場合に、文字が未定義であることを表すために、インデックスデータ形式としてビットマップ形式がサポートされている。
ビットマップ形式は、フォント定義データが指定する最初の文字コードから、 定義域内の文字全てについて、未定義であるかどうかを表すビットマップである。 低位アドレスのバイトのMSB(最上位ビット)が最初の文字に対応する。 ビットが0の場合は、その文字が未定義であることを表す。
WERR so_ioctl(W s, W reqid , W arg) で、 reqid == SIOSELTMO (0x80000000|(4 << 16)|('s' << 8)|255) のとき、以下の動作となる。 *((W*)arg) != 0 のとき s で指定した ソケットに対するタイムアウト要求をセットして、 so_select() を強制的にタイムアウトで終了させる。 s に対して、so_select() がまだ実行されていない場合にも、タ イムアウト要求はセットされるため、so_select() を実行すると すぐにタイムアウトすることになる。 タイムアウト要求はネストしない。 *((W*)arg) == 0 のとき s で指定した ソケットに対するタイムアウト要求をクリアする。
以下の定義が、BSD ソケットとの互換性向上のため変更されている。互換性がないため注意が必要である。
/* getsockopt(), setsockopt() のオプション */ #define IPPROTO_TCP 0x0006 /* options for TCP level */ #define IPPROTO_IP 0x0000 /* options for IP level */ #define TCP_MAXSEG 0x0002 /* maximum segment size */ #define TCP_NODELAY 0x0001 /* immediate send() */ /* ioctl のオプション */ #define SIOCATMARK (0x40000000 | (4 << 16) | ('s' << 8) | 7) /* check for out of bound data */ #define FIONBIO (0x80000000 | (4 << 16) | ('f' << 8) | 126) /* set/clear non-blocking I/O */ #define FIONREAD (0x40000000 | (4 << 16) | ('f' << 8) | 127) /* number of bytes to read */ /* select のビットマスク */ #define FD_SETSIZE 256 #define NFDBITS (sizeof(long) * 8) /* bits per mask */ #define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS))) #define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS))) #define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS))) #define FD_ZERO(p) memset((void *)(p), 0, sizeof (*(p))) typedef struct fd_set { /* Bit mask for select() */ long fds_bits[(FD_SETSIZE + NFDBITS - 1) / NFDBITS]; } fd_set;
EX_FAULT のエラーは発生しない。EX_ADR のエラーとなる。
|
【解説】の項第2文において、
B buf[HBUFLE]
で定義される作業領域を指定する必要がある。
とあるが、これを以下のように変更する。
B buf[HBUFLEN]
で定義される作業領域を指定する必要がある。
|
【解説】の項第2文において、
B buf[HBUFLE]
で定義される作業領域を指定する必要がある。
とあるが、これを以下のように変更する。
B buf[HBUFLEN]
で定義される作業領域を指定する必要がある。
基本印刷レイアウタは、 印刷管理を処理を実際に行うためのシステムアプリケーションであり、 印刷マネージャから起動される。
を、以下のように変更する。基本印刷レイアウタは、 印刷管理の処理を実際に行うためのシステムアプリケーションであり、 印刷マネージャから起動される。
PR_PAR
の印刷仕様 (spec
) に、
下記の指定が追加されている。
#define PR_ROTATE 0x100 /* 用紙回転 */
PR_ROTATE
を指定すると、
用紙を回転しなくても印刷できるような場合にも用紙を回転させて印刷する。
PR_ROTATE
が指定されなければ、
用紙を回転しなくては印刷できないような場合のみ用紙を回転する。
選択したプリンタによっては、この指定は無視されることがある。