diff options
author | Pekka Paalanen <ppaalanen@gmail.com> | 2012-10-11 13:58:45 +0300 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2012-10-11 09:45:22 -0400 |
commit | ae8d4b59a44108c22b668c5781524cdc2a1e4d37 (patch) | |
tree | 5649de0bfda5f72c7028b66ff0f4bbe11855e340 /protocol | |
parent | e09ac6450bc7dd2ae99acb9cc40b722a78ba69f4 (diff) |
protocol: fix clarification of input region on drags and pointers
The previous clarification did not follow the current implementation in
Weston, where when a surface stops being a cursor or an icon, it becomes
a plain unmapped surface again.
Rewrite the related paragraphs, and fix some typos while at it.
For start drag, make it explicit of which surface argument we are
talking about.
v2:
Make the input region undefined when the use ends. Most likely no-one
will re-use these surfaces for anything else than the same use case, so
leave some slack for the implementations to avoid useless work on
resetting the regions.
Reported-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
Diffstat (limited to 'protocol')
-rw-r--r-- | protocol/wayland.xml | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/protocol/wayland.xml b/protocol/wayland.xml index 1903d1c..275ea28 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -357,9 +357,11 @@ relative position. Attach requests must be confirmed with wl_surface.commit as usual. - The current and pending input regions of the wl_surface are + The current and pending input regions of the icon wl_surface are cleared, and wl_surface.set_input_region is ignored until the - wl_surface is destroyed. + wl_surface is no longer used as the icon surface. When the use + as an icon ends, the the current and pending input regions + become undefined, and the wl_surface is unmapped. </description> <arg name="source" type="object" interface="wl_data_source" allow-null="true"/> <arg name="origin" type="object" interface="wl_surface"/> @@ -889,8 +891,8 @@ <request name="set_cursor"> <description summary="set the pointer surface"> Set the pointer surface, i.e., the surface that contains the - pointer image. This request only takes effect if the pointer - focus for this device is one of the requesting client surfaces + pointer image (cursor). This request only takes effect if the pointer + focus for this device is one of the requesting client's surfaces or the surface parameter is the current pointer surface. If there was a previous surface set with this request it is replaced. If surface is NULL, the pointer image is hidden. @@ -905,13 +907,15 @@ passed to the request. Attach must be confirmed by wl_surface.commit as usual. - The hotspot can also be updated by passing the current set + The hotspot can also be updated by passing the currently set pointer surface to this request with new values for hotspot_x - and/or hotspot_y. + and hotspot_y. The current and pending input regions of the wl_surface are cleared, and wl_surface.set_input_region is ignored until the - wl_surface is destroyed. + wl_surface is no longer used as the cursor. When the use as a + cursor ends, the current and pending input regions become + undefined, and the wl_surface is unmapped. </description> <arg name="serial" type="uint"/> |