From ae8d4b59a44108c22b668c5781524cdc2a1e4d37 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Thu, 11 Oct 2012 13:58:45 +0300 Subject: [PATCH] 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 Signed-off-by: Pekka Paalanen --- protocol/wayland.xml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/protocol/wayland.xml b/protocol/wayland.xml index 1903d1cc..275ea28d 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. @@ -889,8 +891,8 @@ 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.