Data Fields | |
int(* | open_im )(MInputMethod *im) |
入力メソッドをオープンする. | |
void(* | close_im )(MInputMethod *im) |
入力メソッドをクローズする. | |
int(* | create_ic )(MInputContext *ic) |
入力コンテクストを生成する. | |
void(* | destroy_ic )(MInputContext *ic) |
入力コンテクストを破壊する. | |
int(* | filter )(MInputContext *ic, MSymbol key, void *arg) |
入力キーをフィルタする. | |
int(* | lookup )(MInputContext *ic, MSymbol key, void *arg, MText *mt) |
入力コンテクストで生成されるテキストの獲得. | |
MPlist * | callback_list |
コールバック関数のリスト. |
MInputDriver
は、入力メソッドを取り扱う関数を含む入力メソッドドライバの構造体の型である。
|
この関数は、入力メソッド im をオープンする。im の <info> 以外の全メンバーがセットされた後で、関数 minput_open_im() から呼ばれる。im をオープンできれば 0 を、できなければ -1を返す。 この関数は im->info を設定して、他のドライバ関数から参照される情報を保持することができる。 |
|
この関数は、入力メソッド im をクローズする。関数 minput_close_im() から呼ばれる。 入力メソッドのクローズがすべて終了した時点で、この関数はim->info に割り当てられているメモリを(あれば)すべて開放する。 ただし、im の他のメンバに影響を与えてはならない。 |
|
この関数は入力コンテクスト ic を生成する。 ic の <info> 以外の全メンバーがセットされた後で、関数 minput_create_ic() から呼ばれる。 ic を生成できれば 0 を、できなければ -1 を返す。 この関数は ic->info を設定して、他のドライバ関数から参照される情報を保持することができる。 |
|
関数 minput_destroy_ic() から呼ばれ、入力コンテクスト ic を破壊する。入力コンテクストの破壊がすべて終了した時点で、ic->info に割り当てられているメモリを(あれば)すべて開放する。ただし、ic の他のメンバに影響を与えてはならない。 |
|
関数 minput_filter() から呼ばれ、入力キーをフィルタする。引数 key, arg は関数 minput_filter() のものと同じ。 この関数は key を処理し、ic の内部状態を更新する。 key が入力メソッドに吸収されてテキストが生成されなかった場合には、 1 を返す。そうでなければ 0 を返す。 メンバ <callback> に必要であれば、ic->status, ic->preedit, ic->cursor_pos, ic->ncandidates, ic->candidates, ic->produced を更新できる。
arg の意味は入力メソッドドライバに依存する。例は |
|
関数 minput_lookup() から呼ばれ、入力コンテクスト ic で生成されるテキストを検索する。入力キー key によって生成されるテキストがあれば、M-text mt に追加する。 key が入力メソッド ic によって正しく処理されれば 0 を返す。そうでなければ 1 を返す。
arg の意味は入力メソッドドライバに依存する。例は |
|