Drag icon and cursor surfaces must never receive input, so their input region is always empty.
Signed-off-by: Pekka Paalanen <[email protected]> --- protocol/wayland.xml | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/protocol/wayland.xml b/protocol/wayland.xml index c45a404..6293f56 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -332,8 +332,13 @@ The icon surface is an optional (can be nil) surface that provides an icon to be moved around with the cursor. Initially, the top-left corner of the icon surface is placed at the cursor - hotspot, but subsequent surface.attach request can move the - relative position. + hotspot, but subsequent wl_surface.attach request can move the + relative position. Attach requests must be confirmed with + wl_surface.commit as usual. + + 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. </description> <arg name="source" type="object" interface="wl_data_source" allow-null="true"/> <arg name="origin" type="object" interface="wl_surface"/> @@ -742,7 +747,9 @@ wl_surface.set_input_region changes the pending input region. wl_surface.commit copies the pending region to the current region. - Otherwise the pending and current regions are never changed. + Otherwise the pending and current regions are never changed, + except cursor and icon surfaces are special cases, see + wl_pointer.set_cursor and wl_data_device.start_drag. The initial value for input region is infinite. That means the whole surface will accept input. Setting the pending input region has copy @@ -864,11 +871,16 @@ On surface.attach requests to the pointer surface, hotspot_x and hotspot_y are decremented by the x and y parameters - passed to the request. + 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 pointer surface to this request with new values for hotspot_x and/or 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. </description> <arg name="serial" type="uint"/> -- 1.7.8.6 _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
