summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2011-03-07 15:05:27 +0100
committerKristian Høgsberg <krh@bitplanet.net>2011-04-22 10:11:12 -0400
commit0bf5285b44b0a8630a3b6a308e96fe7fd01572b0 (patch)
tree18577f6803688a9fb96b5135c80cb3f487f67d43
parent589e581f76ef5aaa29499abaa82703745b69f7d5 (diff)
Add buffer.damage request to the protocol
Thus remove the server-side used vfunc buffer::damage.
-rw-r--r--protocol/wayland.xml26
-rw-r--r--wayland/wayland-server.h3
2 files changed, 18 insertions, 11 deletions
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index f853c29..11976fa 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -110,9 +110,21 @@
<!-- 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>
@@ -349,12 +361,10 @@
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"/>
diff --git a/wayland/wayland-server.h b/wayland/wayland-server.h
index 09ffcd1..e0909ed 100644
--- a/wayland/wayland-server.h
+++ b/wayland/wayland-server.h
@@ -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 {