mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-07-21 10:44:25 +00:00
text: Order requests and events in a nice way
Signed-off-by: Jan Arne Petersen <jpetersen@openismus.com>
This commit is contained in:
parent
fa3573852d
commit
7ef8effca5
|
@ -428,17 +428,17 @@ text_model_text_direction(void *data,
|
|||
}
|
||||
|
||||
static const struct text_model_listener text_model_listener = {
|
||||
text_model_commit_string,
|
||||
text_model_preedit_string,
|
||||
text_model_delete_surrounding_text,
|
||||
text_model_cursor_position,
|
||||
text_model_preedit_styling,
|
||||
text_model_preedit_cursor,
|
||||
text_model_modifiers_map,
|
||||
text_model_keysym,
|
||||
text_model_enter,
|
||||
text_model_leave,
|
||||
text_model_modifiers_map,
|
||||
text_model_input_panel_state,
|
||||
text_model_preedit_string,
|
||||
text_model_preedit_styling,
|
||||
text_model_preedit_cursor,
|
||||
text_model_commit_string,
|
||||
text_model_cursor_position,
|
||||
text_model_delete_surrounding_text,
|
||||
text_model_keysym,
|
||||
text_model_language,
|
||||
text_model_text_direction
|
||||
};
|
||||
|
|
|
@ -37,17 +37,6 @@
|
|||
removes the need for applications to directly process hardware key events
|
||||
and compose text out of them.
|
||||
</description>
|
||||
<request name="set_surrounding_text">
|
||||
<description summary="sets the surrounding text">
|
||||
Sets the plain surrounding text around the input position. Cursor is the
|
||||
byte index within the surrounding text. Anchor is the byte index of the
|
||||
selection anchor within the surrounding text. If there is no selected
|
||||
text anchor then it is the same as cursor.
|
||||
</description>
|
||||
<arg name="text" type="string"/>
|
||||
<arg name="cursor" type="uint"/>
|
||||
<arg name="anchor" type="uint"/>
|
||||
</request>
|
||||
<request name="activate">
|
||||
<description summary="request activation">
|
||||
Requests the model to be activated (typically when the text entry gets
|
||||
|
@ -68,6 +57,16 @@
|
|||
</description>
|
||||
<arg name="seat" type="object" interface="wl_seat"/>
|
||||
</request>
|
||||
<request name="show_input_panel">
|
||||
<description summary="show input panels">
|
||||
Requests input panels (virtual keyboard) to show.
|
||||
</description>
|
||||
</request>
|
||||
<request name="hide_input_panel">
|
||||
<description summary="hide input panels">
|
||||
Requests input panels (virtual keyboard) to hide.
|
||||
</description>
|
||||
</request>
|
||||
<request name="reset">
|
||||
<description summary="reset">
|
||||
Should be called by an editor widget when the input state should be
|
||||
|
@ -76,11 +75,16 @@
|
|||
</description>
|
||||
<arg name="serial" type="uint"/>
|
||||
</request>
|
||||
<request name="set_cursor_rectangle">
|
||||
<arg name="x" type="int"/>
|
||||
<arg name="y" type="int"/>
|
||||
<arg name="width" type="int"/>
|
||||
<arg name="height" type="int"/>
|
||||
<request name="set_surrounding_text">
|
||||
<description summary="sets the surrounding text">
|
||||
Sets the plain surrounding text around the input position. Cursor is the
|
||||
byte index within the surrounding text. Anchor is the byte index of the
|
||||
selection anchor within the surrounding text. If there is no selected
|
||||
text anchor then it is the same as cursor.
|
||||
</description>
|
||||
<arg name="text" type="string"/>
|
||||
<arg name="cursor" type="uint"/>
|
||||
<arg name="anchor" type="uint"/>
|
||||
</request>
|
||||
<enum name="content_hint">
|
||||
<description summary="content hint">
|
||||
|
@ -136,21 +140,11 @@
|
|||
<arg name="hint" type="uint"/>
|
||||
<arg name="purpose" type="uint"/>
|
||||
</request>
|
||||
<request name="invoke_action">
|
||||
<arg name="button" type="uint"/>
|
||||
<arg name="index" type="uint"/>
|
||||
</request>
|
||||
<request name="commit_state">
|
||||
</request>
|
||||
<request name="show_input_panel">
|
||||
<description summary="show input panels">
|
||||
Requests input panels (virtual keyboard) to show.
|
||||
</description>
|
||||
</request>
|
||||
<request name="hide_input_panel">
|
||||
<description summary="hide input panels">
|
||||
Requests input panels (virtual keyboard) to hide.
|
||||
</description>
|
||||
<request name="set_cursor_rectangle">
|
||||
<arg name="x" type="int"/>
|
||||
<arg name="y" type="int"/>
|
||||
<arg name="width" type="int"/>
|
||||
<arg name="height" type="int"/>
|
||||
</request>
|
||||
<request name="set_preferred_language">
|
||||
<description summary="sets preferred language">
|
||||
|
@ -164,17 +158,39 @@
|
|||
</description>
|
||||
<arg name="language" type="string"/>
|
||||
</request>
|
||||
<event name="commit_string">
|
||||
<description summary="commit">
|
||||
Notify when text should be inserted into the editor widget. The text to
|
||||
commit could be either just a single character after a key press or the
|
||||
result of some composing (pre-edit). It also sets the new cursor
|
||||
position (as byte index) relative to the beginning of inserted text.
|
||||
|
||||
Any previously set composing text should be removed.
|
||||
<request name="commit_state">
|
||||
</request>
|
||||
<request name="invoke_action">
|
||||
<arg name="button" type="uint"/>
|
||||
<arg name="index" type="uint"/>
|
||||
</request>
|
||||
<event name="enter">
|
||||
<description summary="enter event">
|
||||
Notify the model when it is activated. Typically in response to an
|
||||
activate request.
|
||||
</description>
|
||||
<arg name="serial" type="uint"/>
|
||||
<arg name="text" type="string"/>
|
||||
<arg name="surface" type="object" interface="wl_surface"/>
|
||||
</event>
|
||||
<event name="leave">
|
||||
<description summary="leave event">
|
||||
Notify the model when it is deactivated. Either in response to a
|
||||
deactivate request or when the assigned surface lost focus or was
|
||||
destroyed.
|
||||
</description>
|
||||
</event>
|
||||
<event name="modifiers_map">
|
||||
<description summary="modifiers map">
|
||||
Transfer an array of 0-terminated modifiers names. The position in
|
||||
the array is the index of the modifier as used in the modifiers
|
||||
bitmask in the keysym event.
|
||||
</description>
|
||||
<arg name="map" type="array"/>
|
||||
</event>
|
||||
<event name="input_panel_state">
|
||||
<description summary="state of the input panel">
|
||||
Notify when the visibility state of the input panel changed.
|
||||
</description>
|
||||
<arg name="state" type="uint"/>
|
||||
</event>
|
||||
<event name="preedit_string">
|
||||
<description summary="pre-edit">
|
||||
|
@ -189,25 +205,6 @@
|
|||
<arg name="text" type="string"/>
|
||||
<arg name="commit" type="string"/>
|
||||
</event>
|
||||
<event name="delete_surrounding_text">
|
||||
<description summary="delete surrounding text">
|
||||
Notify when the text around the current cursor position should be
|
||||
deleted. Index is relative to the current cursor (as byte index).
|
||||
Length is the length of deleted text (in bytes).
|
||||
</description>
|
||||
<arg name="serial" type="uint"/>
|
||||
<arg name="index" type="int"/>
|
||||
<arg name="length" type="uint"/>
|
||||
</event>
|
||||
<event name="cursor_position">
|
||||
<description summary="set cursor to new position">
|
||||
Notify when the cursor or anchor position should be modified. It
|
||||
should take effect after the next commit_string event.
|
||||
</description>
|
||||
<arg name="serial" type="uint"/>
|
||||
<arg name="index" type="int"/>
|
||||
<arg name="anchor" type="int"/>
|
||||
</event>
|
||||
<enum name="preedit_style">
|
||||
<entry name="default" value="1"/>
|
||||
<entry name="active" value="2"/>
|
||||
|
@ -243,13 +240,36 @@
|
|||
<arg name="serial" type="uint"/>
|
||||
<arg name="index" type="int"/>
|
||||
</event>
|
||||
<event name="modifiers_map">
|
||||
<description summary="modifiers map">
|
||||
Transfer an array of 0-terminated modifiers names. The position in
|
||||
the array is the index of the modifier as used in the modifiers
|
||||
bitmask in the keysym event.
|
||||
<event name="commit_string">
|
||||
<description summary="commit">
|
||||
Notify when text should be inserted into the editor widget. The text to
|
||||
commit could be either just a single character after a key press or the
|
||||
result of some composing (pre-edit). It also sets the new cursor
|
||||
position (as byte index) relative to the beginning of inserted text.
|
||||
|
||||
Any previously set composing text should be removed.
|
||||
</description>
|
||||
<arg name="map" type="array"/>
|
||||
<arg name="serial" type="uint"/>
|
||||
<arg name="text" type="string"/>
|
||||
</event>
|
||||
<event name="cursor_position">
|
||||
<description summary="set cursor to new position">
|
||||
Notify when the cursor or anchor position should be modified. It
|
||||
should take effect after the next commit_string event.
|
||||
</description>
|
||||
<arg name="serial" type="uint"/>
|
||||
<arg name="index" type="int"/>
|
||||
<arg name="anchor" type="int"/>
|
||||
</event>
|
||||
<event name="delete_surrounding_text">
|
||||
<description summary="delete surrounding text">
|
||||
Notify when the text around the current cursor position should be
|
||||
deleted. Index is relative to the current cursor (as byte index).
|
||||
Length is the length of deleted text (in bytes).
|
||||
</description>
|
||||
<arg name="serial" type="uint"/>
|
||||
<arg name="index" type="int"/>
|
||||
<arg name="length" type="uint"/>
|
||||
</event>
|
||||
<event name="keysym">
|
||||
<description summary="keysym">
|
||||
|
@ -266,26 +286,6 @@
|
|||
<arg name="state" type="uint"/>
|
||||
<arg name="modifiers" type="uint"/>
|
||||
</event>
|
||||
<event name="enter">
|
||||
<description summary="enter event">
|
||||
Notify the model when it is activated. Typically in response to an
|
||||
activate request.
|
||||
</description>
|
||||
<arg name="surface" type="object" interface="wl_surface"/>
|
||||
</event>
|
||||
<event name="leave">
|
||||
<description summary="leave event">
|
||||
Notify the model when it is deactivated. Either in response to a
|
||||
deactivate request or when the assigned surface lost focus or was
|
||||
destroyed.
|
||||
</description>
|
||||
</event>
|
||||
<event name="input_panel_state">
|
||||
<description summary="state of the input panel">
|
||||
Notify when the visibility state of the input panel changed.
|
||||
</description>
|
||||
<arg name="state" type="uint"/>
|
||||
</event>
|
||||
<event name="language">
|
||||
<description summary="language">
|
||||
Sets the language of the input text. The "language" argument is a RFC-3066
|
||||
|
|
|
@ -219,12 +219,12 @@ text_model_reset(struct wl_client *client,
|
|||
}
|
||||
|
||||
static void
|
||||
text_model_set_micro_focus(struct wl_client *client,
|
||||
struct wl_resource *resource,
|
||||
int32_t x,
|
||||
int32_t y,
|
||||
int32_t width,
|
||||
int32_t height)
|
||||
text_model_set_cursor_rectangle(struct wl_client *client,
|
||||
struct wl_resource *resource,
|
||||
int32_t x,
|
||||
int32_t y,
|
||||
int32_t width,
|
||||
int32_t height)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -317,17 +317,17 @@ text_model_set_preferred_language(struct wl_client *client,
|
|||
}
|
||||
|
||||
static const struct text_model_interface text_model_implementation = {
|
||||
text_model_set_surrounding_text,
|
||||
text_model_activate,
|
||||
text_model_deactivate,
|
||||
text_model_reset,
|
||||
text_model_set_micro_focus,
|
||||
text_model_set_content_type,
|
||||
text_model_invoke_action,
|
||||
text_model_commit_state,
|
||||
text_model_show_input_panel,
|
||||
text_model_hide_input_panel,
|
||||
text_model_set_preferred_language
|
||||
text_model_reset,
|
||||
text_model_set_surrounding_text,
|
||||
text_model_set_content_type,
|
||||
text_model_set_cursor_rectangle,
|
||||
text_model_set_preferred_language,
|
||||
text_model_commit_state,
|
||||
text_model_invoke_action
|
||||
};
|
||||
|
||||
static void text_model_factory_create_text_model(struct wl_client *client,
|
||||
|
|
|
@ -148,17 +148,17 @@ text_model_text_direction(void *data,
|
|||
}
|
||||
|
||||
static const struct text_model_listener text_model_listener = {
|
||||
text_model_commit_string,
|
||||
text_model_preedit_string,
|
||||
text_model_delete_surrounding_text,
|
||||
text_model_cursor_position,
|
||||
text_model_preedit_styling,
|
||||
text_model_preedit_cursor,
|
||||
text_model_modifiers_map,
|
||||
text_model_keysym,
|
||||
text_model_enter,
|
||||
text_model_leave,
|
||||
text_model_modifiers_map,
|
||||
text_model_input_panel_state,
|
||||
text_model_preedit_string,
|
||||
text_model_preedit_styling,
|
||||
text_model_preedit_cursor,
|
||||
text_model_commit_string,
|
||||
text_model_cursor_position,
|
||||
text_model_delete_surrounding_text,
|
||||
text_model_keysym,
|
||||
text_model_language,
|
||||
text_model_text_direction
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue