+<?xml version="1.0" encoding="UTF-8"?>
<protocol name="text">
- <interface name="text_model" version="1">
+
+ <copyright>
+ Copyright © 2012 Intel Corporation
+
+ Permission to use, copy, modify, distribute, and sell this
+ software and its documentation for any purpose is hereby granted
+ without fee, provided that the above copyright notice appear in
+ all copies and that both that copyright notice and this permission
+ notice appear in supporting documentation, and that the name of
+ the copyright holders not be used in advertising or publicity
+ pertaining to distribution of the software without specific,
+ written prior permission. The copyright holders make no
+ representations about the suitability of this software for any
+ purpose. It is provided "as is" without express or implied
+ warranty.
+
+ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ THIS SOFTWARE.
+ </copyright>
+
+ <interface name="text_model" version="1">
+ <description summary="text model">
+ A model for text input. Adds support for text input and input methods to
+ applications. A text_model object is created from a text_model_factory and
+ corresponds typically to a text entry in an application. Requests are used
+ to activate/deactivate the model and set information like surrounding and
+ selected text or the content type. The information about entered text is
+ sent to the model via the pre-edit and commit events. Using this interface
+ 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
+ position within the surrounding text. Anchor is the position of the
+ selection anchor within the surrounding text. If there is no selected
+ text anchor is the same as cursor.
+ </description>
<arg name="text" type="string"/>
+ <arg name="cursor" type="uint"/>
+ <arg name="anchor" type="uint"/>
</request>
- <request name="set_cursor_index">
- <arg name="index" type="uint"/>
+ <request name="activate">
+ <description summary="request activation">
+ Requests the model to be activated (typically when the text entry gets
+ focus). The seat argument is a wl_seat which maintains the focus for
+ this activation. The surface argument is a wl_surface assigned to the
+ model and tracked for focus lost. The activated event is emitted on
+ successful activation.
+ </description>
+ <arg name="seat" type="object" interface="wl_seat"/>
+ <arg name="surface" type="object" interface="wl_surface"/>
</request>
- <request name="activate"/>
- <request name="deactivate"/>
- <request name="set_selected_text">
- <arg name="text" type="string"/>
- <arg name="index" type="int"/>
+ <request name="deactivate">
+ <description summary="request deactivation">
+ Requests the model to be deactivated (typically when the text entry
+ lost focus). The seat argument is a wl_seat which was used for
+ activation.
+ </description>
+ <arg name="seat" type="object" interface="wl_seat"/>
</request>
<request name="set_micro_focus">
<arg name="x" type="int"/>
<arg name="text" type="string"/>
<arg name="index" type="uint"/>
</event>
+ <event name="delete_surrounding_text">
+ <arg name="index" type="int"/>
+ <arg name="length" type="uint"/>
+ </event>
<event name="preedit_styling"/>
- <event name="key"/>
+ <event name="key">
+ <arg name="key" type="uint"/>
+ <arg name="state" type="uint"/>
+ </event>
<event name="selection_replacement"/>
<event name="direction"/>
- <event name="locale"/>
+ <event name="locale"/>
+ <event name="activated">
+ <description summary="activated event">
+ Notify the model when it is activated. Typically in response to an
+ activate request.
+ </description>
+ </event>
+ <event name="deactivated">
+ <description summary="deactivated 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>
</interface>
- <interface name="input_method" version="1">
+ <interface name="text_model_factory" version="1">
+ <description summary="text model factory">
+ A factory for text models. This object is a singleton global.
+ </description>
<request name="create_text_model">
+ <description summary="create text model">
+ Creates a new text model object.
+ </description>
<arg name="id" type="new_id" interface="text_model"/>
- <arg name="surface" type="object" interface="wl_surface"/>
- </request>
-
- <request name="commit_string">
- <arg name="text" type="string"/>
- <arg name="index" type="uint"/>
</request>
</interface>
</protocol>