Main Page   Modules   Data Structures   Globals   Appendix  

構造体 MInputContext
[入力メソッド (基本部分)]

入力コンテクスト用構造体. [詳細]


変数

MInputMethodim
MTextproduced
void * arg
int active
struct {
   int   x
   int   y
   int   ascent
   int   descent
   int   fontsize
   MText *   mt
   int   pos
spot
void * info
MTextstatus
int status_changed
MTextpreedit
int preedit_changed
int cursor_pos
int cursor_pos_changed
MPlistcandidate_list
int candidate_index
int candidate_from
int candidate_to
int candidate_show
int candidates_changed
MPlistplist


説明

MInputContext は、入力コンテクストオブジェクト用の構造体の型である。


構造体

MInputMethod* MInputContext::im

入力メソッドへの逆ポインタ。関数 minput_create_ic() によって設定される。

MText* MInputContext::produced

入力メソッドによって生成される M-text。関数 minput_lookup() によって設定される。

void* MInputContext::arg

関数 minput_create_ic() に渡される引数。

int MInputContext::active

入力コンテクストがアクティブかどうかを示すフラグ。 入力コンテクストが生成された時点では値は 1 (アクティブ)であり、関数 minput_toggle() によってトグルされる。

int MInputContext::x

スポットの X, Y 座標.

int MInputContext::y

int MInputContext::ascent

スポットのアセントとディセントのピクセル数.

int MInputContext::descent

int MInputContext::fontsize

preedit テキスト用のフォントサイズ (1/10 ポイント単位).

MText* MInputContext::mt

スポット上の M-text、または NULL.

int MInputContext::pos

<mt> におけるスポットの文字位置.

struct { ... } MInputContext::spot

入力コンテクストのスポットの位置と大きさ.

void* MInputContext::info

以下のメンバの使用法は入力メソッドドライバによって異なる。 以下の説明は、内部入力メソッド用の入力ドライバに対するものである。 これらは関数 <im>->driver.filter() によって設定される。 <im>->driver.create_ic() が設定する追加情報へのポインタ。 入力コンテクストの内部状態を記録するために用いられる。

MText* MInputContext::status

入力コンテクストの現在の状態を表す M-text

int MInputContext::status_changed

関数 <im>->driver.filter() は、<status> を変えた際にこの値を 1 に設定する。

MText* MInputContext::preedit

現在の preedit テキストを含む M-text。関数 <im>->driver.filter() によって設定される。

int MInputContext::preedit_changed

関数 <im>->driver.filter() は、<preedit> を変えた際にこの値を 1 に設定する。

int MInputContext::cursor_pos

<preedit>のカーソル位置

int MInputContext::cursor_pos_changed

関数 <im>->driver.filter() は、<cursor_pos> を変えた際にこの値を 1 に設定する。

MPlist* MInputContext::candidate_list

現在の候補グループの Plist 。各要素は M-text か plist である。 要素が M-text の場合(キーが Mtext である場合)には、そのグループの候補はその M-text 中の各文字である。 要素が plist の場合(キーが Mplist である場合)には、そのリストの各要素は M-text であり、それらがそのグループの候補となる。

int MInputContext::candidate_index

現在選択されている候補が全候補中で何番目かをを示すインデックス。 最初の候補のインデックスは 0。最初の候補グループに七つの候補が含まれており、この値が 8 ならば、現在の候補は二番目の候補グループの二番目の要素ということになる。

int MInputContext::candidate_from

preedit テキスト中で、<candidate_list>に対応する最初と最後の位置。

int MInputContext::candidate_to

int MInputContext::candidate_show

現在の候補グループを表示するかどうかを示すフラグ。 関数 <im>->driver.filter() は、入力メソッドが候補の表示を要求した時この値を 1 に、それ以外の時 0 に設定する。

int MInputContext::candidates_changed

関数 <im>->driver.filter() は、上記のメンバ <candidate_XXX> の1つでも変更した際には、この値を enum MInputCandidatesChanged のビット単位での論理 OR に設定する。そう でなければ 0 に設定する。

MPlist* MInputContext::plist

<im>->driver の関数群によって自由に使用できる plist。 内部入力メソッド用ドライバはこれをコールバック関数との引数や返値 の受渡しに使用する。関数 <im>->driver.create_ic() はこの plist を空に設定する。関数<im>->driver.destroy_ic() は m17n_object_unref() を用いてこの plist を解放する。


このページの先頭

Main Page   Modules   Data Structures   Globals   Appendix  

mulemark