[PATCH] protocol: make pointer images regular surfaces

Ander Conselvan de Oliveira conselvan2 at gmail.com
Thu Feb 23 03:42:47 PST 2012


Replace the input_device.attach request with requests for setting
a pointer surface and a hotspot. This surface is client specific and
will be showed as the cursor sprite when one of the clients surfaces
has pointer focus.
---
 protocol/wayland.xml |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index a40e4b0..c72bf62 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -579,17 +579,26 @@
       pointer_focus.
     </description>
 
-    <request name="attach">
-      <description summary="set the pointer image">
-	Set the pointer's image.  This request only takes effect if
-	the pointer focus for this device is one of the requesting
-	clients surfaces.
+    <request name="set_pointer_surface">
+      <description summary="set the surface containing the pointer image">
+	Set the supplied client surface as the pointer surface for the
+	requesting client. When the pointer focus is on one of the
+	requesting clients surface, this pointer surface will be
+	displayed at the cursor location, offset by a hotspot that
+	may be set with the set_hotspot request.
       </description>
 
-      <arg name="time" type="uint"/>
-      <arg name="buffer" type="object" interface="wl_buffer"/>
-      <arg name="hotspot_x" type="int"/>
-      <arg name="hotspot_y" type="int"/>
+      <arg name="surface" type="object" interface="wl_surface"/>
+    </request>
+
+    <request name="set_hotspot">
+      <description summary="set the pointer surface hotspot">
+	When this surface is displayed at the cursor location, its
+	position will be displaced by -x, -y.
+      </description>
+
+      <arg name="x" type="int"/>
+      <arg name="y" type="int"/>
     </request>
 
     <event name="motion">
-- 
1.7.5.4



More information about the wayland-devel mailing list