zwp_text_input_manager_v3 | |
zwp_text_input_manager_v3_destroy | 破棄 |
---|---|
zwp_text_input_manager_v3_get_text_input | zwp_text_input_v3 を作成 |
zwp_text_input_v3 | |
zwp_text_input_v3_add_listener | ハンドラ設定 |
zwp_text_input_v3_destroy | 破棄 |
zwp_text_input_v3_enable | テキスト入力を有効にする |
zwp_text_input_v3_disable | テキスト入力を無効にする |
zwp_text_input_v3_set_surrounding_text | 周囲のテキストを設定 |
zwp_text_input_v3_set_text_change_cause | テキストが変更されたことを通知 |
zwp_text_input_v3_set_content_type | テキスト内容の設定 |
zwp_text_input_v3_set_cursor_rectangle | エディタの矩形範囲をセット |
zwp_text_input_v3_commit | 変更を適用する |
zwp_text_input_manager_v3
static void zwp_text_input_manager_v3_destroy( struct zwp_text_input_manager_v3 *zwp_text_input_manager_v3);
破棄
static struct zwp_text_input_v3 *zwp_text_input_manager_v3_get_text_input( struct zwp_text_input_manager_v3 *zwp_text_input_manager_v3, struct wl_seat *seat);
zwp_text_input_v3 を作成
zwp_text_input_v3
static int zwp_text_input_v3_add_listener( struct zwp_text_input_v3 *zwp_text_input_v3, const struct zwp_text_input_v3_listener *listener, void *data);
ハンドラ設定。
void (*enter)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, struct wl_surface *surface); void (*leave)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, struct wl_surface *surface); void (*preedit_string)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, const char *text, int32_t cursor_begin, int32_t cursor_end); void (*commit_string)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, const char *text); void (*delete_surrounding_text)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, uint32_t before_length, uint32_t after_length); void (*done)(void *data, struct zwp_text_input_v3 *zwp_text_input_v3, uint32_t serial);
enter
surface にテキスト入力フォーカスが来た。
leave
surface からテキスト入力フォーカスが離れた。
preedit 文字列をリセットする必要がある。
preedit 文字列をリセットする必要がある。
preedit_string
現在のカーソル位置に新しい編集前テキストを設定する。
以前のテキストは削除する必要がある。
text は、編集前の文字列。
cursor_begin, cursor_end は、カーソルの先頭と終端位置。
text 先頭からのバイト数。
両方が -1 なら、カーソルは非表示。
両方が同じ値なら線で、そうでなければ間の文字列を強調表示する。
以前のテキストは削除する必要がある。
text は、編集前の文字列。
cursor_begin, cursor_end は、カーソルの先頭と終端位置。
text 先頭からのバイト数。
両方が -1 なら、カーソルは非表示。
両方が同じ値なら線で、そうでなければ間の文字列を強調表示する。
commit_string
エディターに、確定した文字列を挿入させる時に来る。
delete_surrounding_text
テキストを削除する必要がある時に来る。
before_length, after_length は、現在のカーソル位置からの前後のバイト数。
before_length, after_length は、現在のカーソル位置からの前後のバイト数。
done
preedit_string, commit_string, delete_surrounding_text イベントの変更を確定させる時に来る。
1. 編集前テキストを置き換える。
2. 周囲のテキストを削除。
3. カーソルを終端に移動して、確定文字列を挿入。
4. 新しい編集前テキストをカーソル位置に挿入。
5. 編集前テキスト内にカーソルをセット。
serial は、このオブジェクトで発行された commit 要求の総数と等しくなければならない。
1. 編集前テキストを置き換える。
2. 周囲のテキストを削除。
3. カーソルを終端に移動して、確定文字列を挿入。
4. 新しい編集前テキストをカーソル位置に挿入。
5. 編集前テキスト内にカーソルをセット。
serial は、このオブジェクトで発行された commit 要求の総数と等しくなければならない。
static void zwp_text_input_v3_enable( struct zwp_text_input_v3 *zwp_text_input_v3);
enter イベント時、テキスト入力を有効にする場合に実行する。
実行時、現在の入力状態をリセットする。
commit を実行した時に適用される。
実行時、現在の入力状態をリセットする。
commit を実行した時に適用される。
static void zwp_text_input_v3_disable( struct zwp_text_input_v3 *zwp_text_input_v3);
明示的に、テキスト入力を無効にする。
commit 実行時に適用される。
commit 実行時に適用される。
static void zwp_text_input_v3_set_surrounding_text( struct zwp_text_input_v3 *zwp_text_input_v3, const char *text, int32_t cursor, int32_t anchor);
編集前テキストを除く周囲のテキストを設定する。
commit 実行時に適用される。
commit 実行時に適用される。
text
UTF-8 文字列。4000 byte 以内。
cursor
カーソル位置。text の先頭からのバイト位置。
anchor
テキストが選択されている場合、選択の終端のバイト位置。
cursor と同じ値で、選択なし。
cursor と同じ値で、選択なし。
static void zwp_text_input_v3_set_text_change_cause( struct zwp_text_input_v3 *zwp_text_input_v3, uint32_t cause);
zwp_text_input_v3_set_surrounding_text() によってテキストを変更した場合、コンポジターに通知する必要がある。
commit 実行時に適用される。
commit 実行時に適用される。
cause
変更の原因。デフォルトは INPUT_METHOD。
enum zwp_text_input_v3_change_cause { ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_INPUT_METHOD = 0, ZWP_TEXT_INPUT_V3_CHANGE_CAUSE_OTHER = 1 }
static void zwp_text_input_v3_set_content_type( struct zwp_text_input_v3 *zwp_text_input_v3, uint32_t hint, uint32_t purpose);
テキストのヒントと使用目的を設定する。
commit 実行時に適用される。
commit 実行時に適用される。
hint
enum zwp_text_input_v3_content_hint { ZWP_TEXT_INPUT_V3_CONTENT_HINT_NONE = 0x0, ZWP_TEXT_INPUT_V3_CONTENT_HINT_COMPLETION = 0x1, //完成 ZWP_TEXT_INPUT_V3_CONTENT_HINT_SPELLCHECK = 0x2, //スペルチェック ZWP_TEXT_INPUT_V3_CONTENT_HINT_AUTO_CAPITALIZATION = 0x4, //自動大文字化 ZWP_TEXT_INPUT_V3_CONTENT_HINT_LOWERCASE = 0x8, //小文字 ZWP_TEXT_INPUT_V3_CONTENT_HINT_UPPERCASE = 0x10, //大文字 ZWP_TEXT_INPUT_V3_CONTENT_HINT_TITLECASE = 0x20, ZWP_TEXT_INPUT_V3_CONTENT_HINT_HIDDEN_TEXT = 0x40, //非表示テキスト ZWP_TEXT_INPUT_V3_CONTENT_HINT_SENSITIVE_DATA = 0x80, ZWP_TEXT_INPUT_V3_CONTENT_HINT_LATIN = 0x100, //ローマ字 ZWP_TEXT_INPUT_V3_CONTENT_HINT_MULTILINE = 0x200 //複数行 }
purpose
使用目的。
enum zwp_text_input_v3_content_purpose { ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NORMAL = 0, //通常 ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_ALPHA = 1, //アルファベット ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DIGITS = 2, //数字と記号 ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NUMBER = 3, //数字 ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PHONE = 4, //電話番号 ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_URL = 5, //URL ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_EMAIL = 6, //メール ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_NAME = 7, //名前 ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PASSWORD = 8, //パスワード ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_PIN = 9, //PIN ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DATE = 10, //日 ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TIME = 11, //時間 ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_DATETIME = 12, //日時 ZWP_TEXT_INPUT_V3_CONTENT_PURPOSE_TERMINAL = 13 //端末 }