| <?xml version="1.0" encoding="UTF-8"?> |
| <protocol name="cursor_shapes_v1"> |
| |
| <copyright> |
| Copyright 2018 The Chromium Authors. |
| |
| Permission is hereby granted, free of charge, to any person obtaining a |
| copy of this software and associated documentation files (the "Software"), |
| to deal in the Software without restriction, including without limitation |
| the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| and/or sell copies of the Software, and to permit persons to whom the |
| Software is furnished to do so, subject to the following conditions: |
| |
| The above copyright notice and this permission notice (including the next |
| paragraph) shall be included in all copies or substantial portions of the |
| Software. |
| |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
| FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
| DEALINGS IN THE SOFTWARE. |
| </copyright> |
| |
| <interface name="zcr_cursor_shapes_v1" version="1"> |
| <description summary="Allows to set the cursor shape"> |
| Allows to set the semantic cursor shape rather than a surface for a |
| pointer cursor. |
| |
| Warning! The protocol described in this file is experimental and |
| backward incompatible changes may be made. Backward compatible changes |
| may be added together with the corresponding uinterface version bump. |
| Backward incompatible changes are done by bumping the version number in |
| the protocol and uinterface names and resetting the interface version. |
| Once the protocol is to be declared stable, the 'z' prefix and the |
| version number in the protocol and interface names are removed and the |
| interface version number is reset. |
| </description> |
| |
| <enum name="error"> |
| <entry name="invalid_shape" value="0" |
| summary="the specified shape value is invalid"/> |
| </enum> |
| |
| <enum name="cursor_shape_type"> |
| <description summary="the type of cursor shape"/> |
| <entry name="pointer" value="0"/> |
| <entry name="cross" value="1"/> |
| <entry name="hand" value="2"/> |
| <entry name="ibeam" value="3"/> |
| <entry name="wait" value="4"/> |
| <entry name="help" value="5"/> |
| <entry name="east_resize" value="6"/> |
| <entry name="north_resize" value="7"/> |
| <entry name="north_east_resize" value="8"/> |
| <entry name="north_west_resize" value="9"/> |
| <entry name="south_resize" value="10"/> |
| <entry name="south_east_resize" value="11"/> |
| <entry name="south_west_resize" value="12"/> |
| <entry name="west_resize" value="13"/> |
| <entry name="north_south_resize" value="14"/> |
| <entry name="east_west_resize" value="15"/> |
| <entry name="north_east_south_west_resize" value="16"/> |
| <entry name="north_west_south_east_resize" value="17"/> |
| <entry name="column_resize" value="18"/> |
| <entry name="row_resize" value="19"/> |
| <entry name="middle_panning" value="20"/> |
| <entry name="east_panning" value="21"/> |
| <entry name="north_panning" value="22"/> |
| <entry name="north_east_panning" value="23"/> |
| <entry name="north_west_panning" value="24"/> |
| <entry name="south_panning" value="25"/> |
| <entry name="south_east_panning" value="26"/> |
| <entry name="south_west_panning" value="27"/> |
| <entry name="west_panning" value="28"/> |
| <entry name="move" value="29"/> |
| <entry name="vertical_text" value="30"/> |
| <entry name="cell" value="31"/> |
| <entry name="context_menu" value="32"/> |
| <entry name="alias" value="33"/> |
| <entry name="progress" value="34"/> |
| <entry name="no_drop" value="35"/> |
| <entry name="copy" value="36"/> |
| <entry name="none" value="37"/> |
| <entry name="not_allowed" value="38"/> |
| <entry name="zoom_in" value="39"/> |
| <entry name="zoom_out" value="40"/> |
| <entry name="grab" value="41"/> |
| <entry name="grabbing" value="42"/> |
| <entry name="dnd_none" value="43"/> |
| <entry name="dnd_move" value="44"/> |
| <entry name="dnd_copy" value="45"/> |
| <entry name="dnd_link" value="46"/> |
| </enum> |
| |
| <request name="set_cursor_shape"> |
| <description summary="set pointer cursor to the shape"> |
| Sets the pointer cursor to the specified shape. The server will change |
| the cursor graphics based on the specified shape and its graphic assets |
| and system condition. |
| |
| The "shape" argument needs to be one of the values in cursor_shape_type |
| enum. Otherwise invalid_shape error is raised. |
| |
| This is similar to wl_pointer::set_cursor request, but this accepts a |
| shape instead of contents in the form of a surface. |
| |
| The client which do not know this protocol should work as-is, so |
| wl_pointer::set_cursor will change the cursor graphics even when it's |
| combined with this request; and another invocation of set_cursor_shape |
| will change the cursor shape again. This means the last invoked one will |
| be used for the actual cursor. |
| </description> |
| <arg name="pointer" type="object" interface="wl_pointer"/> |
| <arg name="shape" type="int"/> |
| </request> |
| </interface> |
| </protocol> |