Add buffer.damage request to the protocol
authorBenjamin Franzke <benjaminfranzke@googlemail.com>
Mon, 7 Mar 2011 14:05:27 +0000 (15:05 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Fri, 22 Apr 2011 14:11:12 +0000 (10:11 -0400)
Thus remove the server-side used vfunc buffer::damage.

protocol/wayland.xml
wayland/wayland-server.h

index f853c29..11976fa 100644 (file)
 
   <!-- A pixel buffer. Created using the drm, shm or similar objects.
        It has a size, visual and contents, but not a location on the
-       screen -->
+       screen. -->
   <interface name="wl_buffer" version="1">
-    <!-- Abandon a buffer.  This will invalidate the object id. -->
+    <!-- Notify the server that the specified area of the buffers
+         contents have changed.  To describe a more complicated area
+         of damage, break down the region into rectangles and use this
+         request several times.
+    -->
+    <request name="damage">
+      <arg name="x" type="int"/>
+      <arg name="y" type="int"/>
+      <arg name="width" type="int"/>
+      <arg name="height" type="int"/>
+    </request>
+
+    <!-- Destroy a buffer.  This will invalidate the object id. -->
     <request name="destroy" type="destructor"/>
   </interface>
 
          active?  -->
     <request name="map_fullscreen"/>
 
-    <!-- Notify the server that the attached buffer's contents have
-         changed, and request a redraw. The arguments allow you to
-         damage only a part of the surface, but the server may ignore
-         it and redraw the entire contents of the surface.  To
-         describe a more complicated area of damage, use this request
-         several times. -->
+    <!-- After attaching a new buffer, this request is used to
+         describe the regions where the new buffer is different from
+         the previous buffer and needs to be repainted.  Coordinates
+         are relative to the new buffer. -->
     <request name="damage">
       <arg name="x" type="int"/>
       <arg name="y" type="int"/>
index 09ffcd1..e0909ed 100644 (file)
@@ -125,9 +125,6 @@ struct wl_buffer {
        struct wl_visual *visual;
        int32_t width, height;
        void (*attach)(struct wl_buffer *buffer, struct wl_surface *surface);
-       void (*damage)(struct wl_buffer *buffer,
-                      struct wl_surface *surface,
-                      int32_t x, int32_t y, int32_t width, int32_t height);
 };
 
 struct wl_listener {