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