変数 | |
MInputMethod * | im |
MText * | produced |
void * | arg |
int | active |
struct { | |
int x | |
int y | |
int ascent | |
int descent | |
int fontsize | |
MText * mt | |
int pos | |
} | spot |
void * | info |
MText * | status |
int | status_changed |
MText * | preedit |
int | preedit_changed |
int | cursor_pos |
int | cursor_pos_changed |
MPlist * | candidate_list |
int | candidate_index |
int | candidate_from |
int | candidate_to |
int | candidate_show |
int | candidates_changed |
MPlist * | plist |
MInputContext
は、入力コンテクストオブジェクト用の構造体の型である。
入力メソッドへの逆ポインタ。関数 minput_create_ic() によって設定される。
入力メソッドによって生成される M-text。関数 minput_lookup() によって設定される。
void* MInputContext::arg |
関数 minput_create_ic() に渡される引数。
入力コンテクストがアクティブかどうかを示すフラグ。 入力コンテクストが生成された時点では値は 1 (アクティブ)であり、関数 minput_toggle() によってトグルされる。
int MInputContext::x |
スポットの X, Y 座標.
int MInputContext::y |
スポットのアセントとディセントのピクセル数.
preedit テキスト用のフォントサイズ (1/10 ポイント単位).
スポット上の M-text、または NULL.
<mt> におけるスポットの文字位置.
struct { ... } MInputContext::spot |
入力コンテクストのスポットの位置と大きさ.
void* MInputContext::info |
以下のメンバの使用法は入力メソッドドライバによって異なる。 以下の説明は、内部入力メソッド用の入力ドライバに対するものである。 これらは関数 <im>->driver.filter() によって設定される。 <im>->driver.create_ic() が設定する追加情報へのポインタ。 入力コンテクストの内部状態を記録するために用いられる。
入力コンテクストの現在の状態を表す M-text
関数 <im>->driver.filter() は、<status> を変えた際にこの値を 1 に設定する。
現在の preedit テキストを含む M-text。関数 <im>->driver.filter() によって設定される。
関数 <im>->driver.filter() は、<preedit> を変えた際にこの値を 1 に設定する。
<preedit>のカーソル位置
関数 <im>->driver.filter() は、<cursor_pos> を変えた際にこの値を 1 に設定する。
現在の候補グループの Plist 。各要素は M-text か plist である。 要素が M-text の場合(キーが Mtext である場合)には、そのグループの候補はその M-text 中の各文字である。 要素が plist の場合(キーが Mplist である場合)には、そのリストの各要素は M-text であり、それらがそのグループの候補となる。
現在選択されている候補が全候補中で何番目かをを示すインデックス。 最初の候補のインデックスは 0。最初の候補グループに七つの候補が含まれており、この値が 8 ならば、現在の候補は二番目の候補グループの二番目の要素ということになる。
preedit テキスト中で、<candidate_list>に対応する最初と最後の位置。
現在の候補グループを表示するかどうかを示すフラグ。 関数 <im>->driver.filter() は、入力メソッドが候補の表示を要求した時この値を 1 に、それ以外の時 0 に設定する。
関数 <im>->driver.filter() は、上記のメンバ <candidate_XXX> の1つでも変更した際には、この値を enum
MInputCandidatesChanged
のビット単位での論理 OR に設定する。そう でなければ 0 に設定する。
<im>->driver の関数群によって自由に使用できる plist。 内部入力メソッド用ドライバはこれをコールバック関数との引数や返値 の受渡しに使用する。関数 <im>->driver.create_ic() はこの plist を空に設定する。関数<im>->driver.destroy_ic() は m17n_object_unref() を用いてこの plist を解放する。