wayland: Changes to 'upstream-unstable'
Makefile.am | 8
configure.ac | 4
cursor/cursor-data.h | 2
cursor/wayland-cursor.c | 1
doc/publican/doxygen-to-publican.xsl | 2
doc/publican/sources/Book_Info.xml | 2
protocol/wayland.xml | 401 ++++++++++++++++++----------------
src/event-loop.c | 12 -
src/scanner.c | 36 ++-
src/wayland-client-core.h | 3
src/wayland-private.h | 4
src/wayland-server-core.h | 115 +++++++--
src/wayland-server.c | 281 +++++++++++++++++++++++
src/wayland-server.h | 3
src/wayland-shm.c | 2
src/wayland-util.c | 53 ++--
src/wayland-util.h | 11
tests/compositor-introspection-test.c | 172 ++++++++++++++
tests/connection-test.c | 1
tests/display-test.c | 2
tests/event-loop-test.c | 1
tests/exec-fd-leak-checker.c | 2
tests/list-test.c | 13 +
tests/map-test.c | 1
tests/os-wrappers-test.c | 1
tests/protocol-logger-test.c | 148 ++++++++++++
tests/queue-test.c | 1
tests/resources-test.c | 1
tests/test-compositor.c | 1
tests/test-compositor.h | 1
30 files changed, 1017 insertions(+), 268 deletions(-)
New commits:
commit a0d76ffda5c3483e5e67fed19b7d8afe8966782c
Author: Bryce Harrington <bryce@osg.samsung.com>
Date: Tue Sep 20 10:45:10 2016 -0700
configure.ac: bump to version 1.12.0 for the official release
diff --git a/configure.ac b/configure.ac
index 11e42c4..a21109a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,8 @@
AC_PREREQ([2.64])
m4_define([wayland_major_version], [1])
-m4_define([wayland_minor_version], [11])
-m4_define([wayland_micro_version], [94])
+m4_define([wayland_minor_version], [12])
+m4_define([wayland_micro_version], [0])
m4_define([wayland_version],
[wayland_major_version.wayland_minor_version.wayland_micro_version])
commit a4aba37ba178f8400cfdc2b595005bb76d6af2c0
Author: Bryce Harrington <bryce@osg.samsung.com>
Date: Tue Sep 13 12:13:57 2016 -0700
configure.ac: bump to version 1.11.94 for the RC2 release
diff --git a/configure.ac b/configure.ac
index 429a590..11e42c4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ AC_PREREQ([2.64])
m4_define([wayland_major_version], [1])
m4_define([wayland_minor_version], [11])
-m4_define([wayland_micro_version], [93])
+m4_define([wayland_micro_version], [94])
m4_define([wayland_version],
[wayland_major_version.wayland_minor_version.wayland_micro_version])
commit 9afa4bfb7b1e8abfb798e25fc28545e60673ed50
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Wed Aug 17 16:08:17 2016 -0700
server: Document display parameter
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/src/wayland-server.c b/src/wayland-server.c
index 9ecfd97..9d7d9c1 100644
--- a/src/wayland-server.c
+++ b/src/wayland-server.c
@@ -1528,6 +1528,7 @@ wl_log_set_handler_server(wl_log_func_t handler)
*
* \a errno is set on error.
*
+ * \param display The display object
* \param func The function to call to log a new protocol message
* \param user_data The user data pointer to pass to \a func
*
commit 2c8fc3eae27c9c0b02694c60d46886ebf47cc83c
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Wed Aug 17 16:03:31 2016 -0700
protocol: Replace '#defines' with 'macros'
The use of # within a description causes the documentation generator
to mistake C syntax with a documentation link.
Remove the # from the documentation, suppressing the warning.
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 3f2d967..6c6d078 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -287,7 +287,7 @@
formats are optional and may not be supported by the particular
renderer in use.
- The drm format codes match the #defines in drm_fourcc.h.
+ The drm format codes match the macros defined in drm_fourcc.h.
The formats actually supported by the compositor will be
reported by the format event.
</description>
commit da58173cfe047864d073ba078e0b8db982a31b12
Author: Bryce Harrington <bryce@osg.samsung.com>
Date: Tue Sep 6 14:22:03 2016 -0700
configure.ac: bump to version 1.11.93 for the RC1 release
diff --git a/configure.ac b/configure.ac
index 5f416a1..429a590 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ AC_PREREQ([2.64])
m4_define([wayland_major_version], [1])
m4_define([wayland_minor_version], [11])
-m4_define([wayland_micro_version], [92])
+m4_define([wayland_micro_version], [93])
m4_define([wayland_version],
[wayland_major_version.wayland_minor_version.wayland_micro_version])
commit 2bdbb741e2ac0ec9ecc564463a59b3ef8f499f6a
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Sun Sep 4 13:23:05 2016 -0700
tests: Add test for wl_list_length
list-test.c did not cover wl_list_length, so add one test that specifically
tests this method.
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/tests/list-test.c b/tests/list-test.c
index 21ca4ec..0752618 100644
--- a/tests/list-test.c
+++ b/tests/list-test.c
@@ -57,6 +57,19 @@ TEST(list_insert)
assert(e.link.prev == &list);
}
+TEST(list_length)
+{
+ struct wl_list list;
+ struct element e;
+
+ wl_list_init(&list);
+ assert(wl_list_length(&list) == 0);
+ wl_list_insert(&list, &e.link);
+ assert(wl_list_length(&list) == 1);
+ wl_list_remove(&e.link);
+ assert(wl_list_length(&list) == 0);
+}
+
TEST(list_iterator)
{
struct wl_list list;
commit d9ef882139e6178edf68c3fce147afdb3b57b894
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Sun Sep 4 10:15:49 2016 -0700
doc: Correct docbook title
The docbook title was "The Wayland display server," which is inaccurate.
Change the title to "The Wayland Protocol".
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/doc/publican/sources/Book_Info.xml b/doc/publican/sources/Book_Info.xml
index e9e5ff0..0b7bf07 100644
--- a/doc/publican/sources/Book_Info.xml
+++ b/doc/publican/sources/Book_Info.xml
@@ -5,7 +5,7 @@
]>
<bookinfo id="book-Wayland-Wayland">
<title>Wayland</title>
- <subtitle>The Wayland display server</subtitle>
+ <subtitle>The Wayland Protocol</subtitle>
<productname>Documentation</productname>
<productnumber>0.1</productnumber>
<edition>1</edition>
commit 2d7b34e2ee7627e125496c8816f656f485fcfc81
Author: Bryce Harrington <bryce@osg.samsung.com>
Date: Tue Aug 30 11:40:23 2016 -0700
configure.ac: bump to version 1.11.92 for the beta release
diff --git a/configure.ac b/configure.ac
index 109b758..5f416a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ AC_PREREQ([2.64])
m4_define([wayland_major_version], [1])
m4_define([wayland_minor_version], [11])
-m4_define([wayland_micro_version], [91])
+m4_define([wayland_micro_version], [92])
m4_define([wayland_version],
[wayland_major_version.wayland_minor_version.wayland_micro_version])
commit 2a6b08896abeb8ce82f381b1abf5daeee53e7d79
Author: Bryce Harrington <bryce@osg.samsung.com>
Date: Tue Aug 16 11:25:12 2016 -0700
configure.ac: bump to version 1.11.91 for the alpha release
diff --git a/configure.ac b/configure.ac
index 9af3574..109b758 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ AC_PREREQ([2.64])
m4_define([wayland_major_version], [1])
m4_define([wayland_minor_version], [11])
-m4_define([wayland_micro_version], [90])
+m4_define([wayland_micro_version], [91])
m4_define([wayland_version],
[wayland_major_version.wayland_minor_version.wayland_micro_version])
commit a285fa939cb06842ff1e1d5071c9ead8141c1052
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Thu Aug 11 14:33:05 2016 -0700
protocol: Specify upper left corner of damage rectangle
Specify x and y args as the upper left corner of the surface / buffer
damage rectangle.
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 553274f..3f2d967 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1390,7 +1390,8 @@
Damage is double-buffered state, see wl_surface.commit.
- The damage rectangle is specified in surface-local coordinates.
+ The damage rectangle is specified in surface-local coordinates,
+ where x and y specify the upper left corner of the damage rectangle.
The initial value for pending damage is empty: no damage.
wl_surface.damage adds pending damage: the new pending damage
@@ -1634,7 +1635,8 @@
Damage is double-buffered state, see wl_surface.commit.
- The damage rectangle is specified in buffer coordinates.
+ The damage rectangle is specified in buffer coordinates,
+ where x and y specify the upper left corner of the damage rectangle.
The initial value for pending damage is empty: no damage.
wl_surface.damage_buffer adds pending damage: the new pending
commit 8e7e52f3353be3d30dba0c1625c232e6d6e223a3
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Thu Aug 11 14:33:04 2016 -0700
protocol: Describe serial as serial number
Change "serial" to "serial number" in arg summaries, for consistency
and clarity.
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index ac066f4..553274f 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1018,7 +1018,7 @@
A client must respond to a ping event with a pong request or
the client may be deemed unresponsive.
</description>
- <arg name="serial" type="uint" summary="serial of the ping event"/>
+ <arg name="serial" type="uint" summary="serial number of the ping event"/>
</request>
<request name="move">
@@ -1030,7 +1030,7 @@
the surface (e.g. fullscreen or maximized).
</description>
<arg name="seat" type="object" interface="wl_seat" summary="seat whose pointer is used"/>
- <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
+ <arg name="serial" type="uint" summary="serial number of the implicit grab on the pointer"/>
</request>
<enum name="resize" bitfield="true">
@@ -1060,7 +1060,7 @@
the surface (e.g. fullscreen or maximized).
</description>
<arg name="seat" type="object" interface="wl_seat" summary="seat whose pointer is used"/>
- <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
+ <arg name="serial" type="uint" summary="serial number of the implicit grab on the pointer"/>
<arg name="edges" type="uint" enum="resize" summary="which edge or corner is being dragged"/>
</request>
@@ -1175,7 +1175,7 @@
</description>
<arg name="seat" type="object" interface="wl_seat" summary="seat whose pointer is used"/>
- <arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
+ <arg name="serial" type="uint" summary="serial number of the implicit grab on the pointer"/>
<arg name="parent" type="object" interface="wl_surface" summary="parent surface"/>
<arg name="x" type="int" summary="surface-local x coordinate"/>
<arg name="y" type="int" summary="surface-local y coordinate"/>
@@ -1827,7 +1827,7 @@
undefined, and the wl_surface is unmapped.
</description>
- <arg name="serial" type="uint" summary="serial of the enter event"/>
+ <arg name="serial" type="uint" summary="serial number of the enter event"/>
<arg name="surface" type="object" interface="wl_surface" allow-null="true"
summary="pointer surface"/>
<arg name="hotspot_x" type="int" summary="surface-local x coordinate"/>
commit 7aa1f6cb2f506e49c483a2222a8f971fcf30882c
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Thu Aug 11 14:33:03 2016 -0700
protocol: Remove wl_ prefix from summary descriptions
Summary attributes sometime describe objects using their wl-prefixed type,
but more often don't.
Remove the wl_ prefix from summary descriptions, since they tend to describe
concepts.
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 55a74a7..ac066f4 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -175,7 +175,7 @@
<description summary="done event">
Notify the client when the related request is done.
</description>
- <arg name="callback_data" type="uint" summary="request-specific data for the wl_callback"/>
+ <arg name="callback_data" type="uint" summary="request-specific data for the callback"/>
</event>
</interface>
@@ -1029,7 +1029,7 @@
The server may ignore move requests depending on the state of
the surface (e.g. fullscreen or maximized).
</description>
- <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
+ <arg name="seat" type="object" interface="wl_seat" summary="seat whose pointer is used"/>
<arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
</request>
@@ -1059,7 +1059,7 @@
The server may ignore resize requests depending on the state of
the surface (e.g. fullscreen or maximized).
</description>
- <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
+ <arg name="seat" type="object" interface="wl_seat" summary="seat whose pointer is used"/>
<arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
<arg name="edges" type="uint" enum="resize" summary="which edge or corner is being dragged"/>
</request>
@@ -1174,7 +1174,7 @@
parent surface, in surface-local coordinates.
</description>
- <arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
+ <arg name="seat" type="object" interface="wl_seat" summary="seat whose pointer is used"/>
<arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
<arg name="parent" type="object" interface="wl_surface" summary="parent surface"/>
<arg name="x" type="int" summary="surface-local x coordinate"/>
commit 40feca914b94d1d3e2f1f6fc7a22a5ebee014137
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Thu Aug 11 14:33:02 2016 -0700
protocol: Correct description indentation
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 523bd9d..55a74a7 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -173,7 +173,7 @@
<event name="done">
<description summary="done event">
- Notify the client when the related request is done.
+ Notify the client when the related request is done.
</description>
<arg name="callback_data" type="uint" summary="request-specific data for the wl_callback"/>
</event>
@@ -281,11 +281,11 @@
<enum name="format">
<description summary="pixel formats">
- This describes the memory layout of an individual pixel.
+ This describes the memory layout of an individual pixel.
- All renderers should support argb8888 and xrgb8888 but any other
- formats are optional and may not be supported by the particular
- renderer in use.
+ All renderers should support argb8888 and xrgb8888 but any other
+ formats are optional and may not be supported by the particular
+ renderer in use.
The drm format codes match the #defines in drm_fourcc.h.
The formats actually supported by the compositor will be
commit 3f1104d64cd24b0580c0b8c86ca699bf03fe9d1f
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Thu Aug 11 14:33:01 2016 -0700
protocol: Add missing line break
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index cc0deac..523bd9d 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -170,6 +170,7 @@
Clients can handle the 'done' event to get notified when
the related request is done.
</description>
+
<event name="done">
<description summary="done event">
Notify the client when the related request is done.
commit 83ec381bf8e40273c02170028598212f738b9dfd
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Thu Aug 11 14:33:00 2016 -0700
protocol: Capitalize ID for consistency
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index b20d35c..cc0deac 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -98,7 +98,7 @@
When the client receives this event, it will know that it can
safely reuse the object ID.
</description>
- <arg name="id" type="uint" summary="deleted object id"/>
+ <arg name="id" type="uint" summary="deleted object ID"/>
</event>
</interface>
commit aaf2c91873d77df2bdc1aa32bd7bf6ced41ac53b
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Thu Aug 11 14:32:59 2016 -0700
protocol: Hyphenate subsurface
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 8793293..b20d35c 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -2511,7 +2511,7 @@
</description>
<arg name="id" type="new_id" interface="wl_subsurface"
- summary="the new subsurface object ID"/>
+ summary="the new sub-surface object ID"/>
<arg name="surface" type="object" interface="wl_surface"
summary="the surface to be turned into a sub-surface"/>
<arg name="parent" type="object" interface="wl_surface"
commit d7cb6c357023e2c224c169755cdb80a17c8c79aa
Author: Yong Bakos <ybakos@humanoriented.com>
Date: Thu Aug 11 14:32:58 2016 -0700
protocol: Add summary attributes to request params and enum entries
Signed-off-by: Yong Bakos <ybakos@humanoriented.com>
Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 0830afc..8793293 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -48,7 +48,8 @@
The callback_data passed in the callback is the event serial.
</description>
- <arg name="callback" type="new_id" interface="wl_callback"/>
+ <arg name="callback" type="new_id" interface="wl_callback"
+ summary="callback object for the sync request"/>
</request>
<request name="get_registry">
@@ -57,7 +58,8 @@
to list and bind the global objects available from the
compositor.
</description>
- <arg name="registry" type="new_id" interface="wl_registry"/>
+ <arg name="registry" type="new_id" interface="wl_registry"
+ summary="global registry object"/>
</request>
<event name="error">
@@ -129,8 +131,8 @@
Binds a new, client-created object to the server using the
specified name as the identifier.
</description>
- <arg name="name" type="uint" summary="unique name for the object"/>
- <arg name="id" type="new_id"/>
+ <arg name="name" type="uint" summary="unique numeric name of the object"/>
+ <arg name="id" type="new_id" summary="bounded object"/>
</request>
<event name="global">
@@ -187,14 +189,14 @@
<description summary="create new surface">
Ask the compositor to create a new surface.
</description>
- <arg name="id" type="new_id" interface="wl_surface"/>
+ <arg name="id" type="new_id" interface="wl_surface" summary="the new surface"/>
</request>
<request name="create_region">
<description summary="create new region">
Ask the compositor to create a new region.
</description>
- <arg name="id" type="new_id" interface="wl_region"/>
+ <arg name="id" type="new_id" interface="wl_region" summary="the new region"/>
</request>
</interface>
@@ -224,12 +226,12 @@
a buffer from it.
</description>
- <arg name="id" type="new_id" interface="wl_buffer"/>
- <arg name="offset" type="int"/>
- <arg name="width" type="int"/>
- <arg name="height" type="int"/>
- <arg name="stride" type="int"/>
- <arg name="format" type="uint" enum="wl_shm.format"/>
+ <arg name="id" type="new_id" interface="wl_buffer" summary="buffer to create"/>
+ <arg name="offset" type="int" summary="buffer byte offset within the pool"/>
+ <arg name="width" type="int" summary="buffer width, in pixels"/>
+ <arg name="height" type="int" summary="buffer height, in pixels"/>
+ <arg name="stride" type="int" summary="number of bytes from the beginning of one row to the beginning of the next row"/>
+ <arg name="format" type="uint" enum="wl_shm.format" summary="buffer pixel format"/>
</request>
<request name="destroy" type="destructor">
@@ -250,7 +252,7 @@
used to make the pool bigger.
</description>
- <arg name="size" type="int"/>
+ <arg name="size" type="int" summary="new size of the pool, in bytes"/>
</request>
</interface>
@@ -283,68 +285,69 @@
All renderers should support argb8888 and xrgb8888 but any other
formats are optional and may not be supported by the particular
renderer in use.
- </description>
- <entry name="argb8888" value="0" summary="32-bit ARGB format"/>
- <entry name="xrgb8888" value="1" summary="32-bit RGB format"/>
- <!-- The drm format codes match the #defines in drm_fourcc.h.
- The formats actually supported by the compositor will be
- reported by the format event. -->
- <entry name="c8" value="0x20203843"/>
- <entry name="rgb332" value="0x38424752"/>
- <entry name="bgr233" value="0x38524742"/>
- <entry name="xrgb4444" value="0x32315258"/>
- <entry name="xbgr4444" value="0x32314258"/>
- <entry name="rgbx4444" value="0x32315852"/>
- <entry name="bgrx4444" value="0x32315842"/>
- <entry name="argb4444" value="0x32315241"/>
- <entry name="abgr4444" value="0x32314241"/>
- <entry name="rgba4444" value="0x32314152"/>
- <entry name="bgra4444" value="0x32314142"/>
- <entry name="xrgb1555" value="0x35315258"/>
- <entry name="xbgr1555" value="0x35314258"/>
- <entry name="rgbx5551" value="0x35315852"/>
- <entry name="bgrx5551" value="0x35315842"/>
- <entry name="argb1555" value="0x35315241"/>
- <entry name="abgr1555" value="0x35314241"/>
- <entry name="rgba5551" value="0x35314152"/>
- <entry name="bgra5551" value="0x35314142"/>
- <entry name="rgb565" value="0x36314752"/>
- <entry name="bgr565" value="0x36314742"/>
- <entry name="rgb888" value="0x34324752"/>
- <entry name="bgr888" value="0x34324742"/>
- <entry name="xbgr8888" value="0x34324258"/>
- <entry name="rgbx8888" value="0x34325852"/>
- <entry name="bgrx8888" value="0x34325842"/>
- <entry name="abgr8888" value="0x34324241"/>
- <entry name="rgba8888" value="0x34324152"/>
- <entry name="bgra8888" value="0x34324142"/>
- <entry name="xrgb2101010" value="0x30335258"/>
- <entry name="xbgr2101010" value="0x30334258"/>
- <entry name="rgbx1010102" value="0x30335852"/>
- <entry name="bgrx1010102" value="0x30335842"/>
- <entry name="argb2101010" value="0x30335241"/>
- <entry name="abgr2101010" value="0x30334241"/>
- <entry name="rgba1010102" value="0x30334152"/>
- <entry name="bgra1010102" value="0x30334142"/>
- <entry name="yuyv" value="0x56595559"/>
- <entry name="yvyu" value="0x55595659"/>
- <entry name="uyvy" value="0x59565955"/>
- <entry name="vyuy" value="0x59555956"/>
- <entry name="ayuv" value="0x56555941"/>
- <entry name="nv12" value="0x3231564e"/>
- <entry name="nv21" value="0x3132564e"/>
- <entry name="nv16" value="0x3631564e"/>
- <entry name="nv61" value="0x3136564e"/>
- <entry name="yuv410" value="0x39565559"/>
- <entry name="yvu410" value="0x39555659"/>
- <entry name="yuv411" value="0x31315559"/>
- <entry name="yvu411" value="0x31315659"/>
- <entry name="yuv420" value="0x32315559"/>
- <entry name="yvu420" value="0x32315659"/>
- <entry name="yuv422" value="0x36315559"/>
- <entry name="yvu422" value="0x36315659"/>
- <entry name="yuv444" value="0x34325559"/>
- <entry name="yvu444" value="0x34325659"/>
+
+ The drm format codes match the #defines in drm_fourcc.h.
+ The formats actually supported by the compositor will be
+ reported by the format event.
+ </description>
+ <entry name="argb8888" value="0" summary="32-bit ARGB format, [31:0] A:R:G:B 8:8:8:8 little endian"/>
+ <entry name="xrgb8888" value="1" summary="32-bit RGB format, [31:0] x:R:G:B 8:8:8:8 little endian"/>
+ <entry name="c8" value="0x20203843" summary="8-bit color index format, [7:0] C"/>
+ <entry name="rgb332" value="0x38424752" summary="8-bit RGB format, [7:0] R:G:B 3:3:2"/>
+ <entry name="bgr233" value="0x38524742" summary="8-bit BGR format, [7:0] B:G:R 2:3:3"/>
+ <entry name="xrgb4444" value="0x32315258" summary="16-bit xRGB format, [15:0] x:R:G:B 4:4:4:4 little endian"/>
+ <entry name="xbgr4444" value="0x32314258" summary="16-bit xBGR format, [15:0] x:B:G:R 4:4:4:4 little endian"/>
+ <entry name="rgbx4444" value="0x32315852" summary="16-bit RGBx format, [15:0] R:G:B:x 4:4:4:4 little endian"/>
+ <entry name="bgrx4444" value="0x32315842" summary="16-bit BGRx format, [15:0] B:G:R:x 4:4:4:4 little endian"/>
+ <entry name="argb4444" value="0x32315241" summary="16-bit ARGB format, [15:0] A:R:G:B 4:4:4:4 little endian"/>
+ <entry name="abgr4444" value="0x32314241" summary="16-bit ABGR format, [15:0] A:B:G:R 4:4:4:4 little endian"/>
+ <entry name="rgba4444" value="0x32314152" summary="16-bit RBGA format, [15:0] R:G:B:A 4:4:4:4 little endian"/>
+ <entry name="bgra4444" value="0x32314142" summary="16-bit BGRA format, [15:0] B:G:R:A 4:4:4:4 little endian"/>
+ <entry name="xrgb1555" value="0x35315258" summary="16-bit xRGB format, [15:0] x:R:G:B 1:5:5:5 little endian"/>
+ <entry name="xbgr1555" value="0x35314258" summary="16-bit xBGR 1555 format, [15:0] x:B:G:R 1:5:5:5 little endian"/>
+ <entry name="rgbx5551" value="0x35315852" summary="16-bit RGBx 5551 format, [15:0] R:G:B:x 5:5:5:1 little endian"/>
+ <entry name="bgrx5551" value="0x35315842" summary="16-bit BGRx 5551 format, [15:0] B:G:R:x 5:5:5:1 little endian"/>
+ <entry name="argb1555" value="0x35315241" summary="16-bit ARGB 1555 format, [15:0] A:R:G:B 1:5:5:5 little endian"/>
+ <entry name="abgr1555" value="0x35314241" summary="16-bit ABGR 1555 format, [15:0] A:B:G:R 1:5:5:5 little endian"/>
+ <entry name="rgba5551" value="0x35314152" summary="16-bit RGBA 5551 format, [15:0] R:G:B:A 5:5:5:1 little endian"/>
+ <entry name="bgra5551" value="0x35314142" summary="16-bit BGRA 5551 format, [15:0] B:G:R:A 5:5:5:1 little endian"/>
+ <entry name="rgb565" value="0x36314752" summary="16-bit RGB 565 format, [15:0] R:G:B 5:6:5 little endian"/>
+ <entry name="bgr565" value="0x36314742" summary="16-bit BGR 565 format, [15:0] B:G:R 5:6:5 little endian"/>
+ <entry name="rgb888" value="0x34324752" summary="24-bit RGB format, [23:0] R:G:B little endian"/>
+ <entry name="bgr888" value="0x34324742" summary="24-bit BGR format, [23:0] B:G:R little endian"/>
+ <entry name="xbgr8888" value="0x34324258" summary="32-bit xBGR format, [31:0] x:B:G:R 8:8:8:8 little endian"/>
+ <entry name="rgbx8888" value="0x34325852" summary="32-bit RGBx format, [31:0] R:G:B:x 8:8:8:8 little endian"/>
+ <entry name="bgrx8888" value="0x34325842" summary="32-bit BGRx format, [31:0] B:G:R:x 8:8:8:8 little endian"/>
+ <entry name="abgr8888" value="0x34324241" summary="32-bit ABGR format, [31:0] A:B:G:R 8:8:8:8 little endian"/>
+ <entry name="rgba8888" value="0x34324152" summary="32-bit RGBA format, [31:0] R:G:B:A 8:8:8:8 little endian"/>
+ <entry name="bgra8888" value="0x34324142" summary="32-bit BGRA format, [31:0] B:G:R:A 8:8:8:8 little endian"/>
+ <entry name="xrgb2101010" value="0x30335258" summary="32-bit xRGB format, [31:0] x:R:G:B 2:10:10:10 little endian"/>
+ <entry name="xbgr2101010" value="0x30334258" summary="32-bit xBGR format, [31:0] x:B:G:R 2:10:10:10 little endian"/>
+ <entry name="rgbx1010102" value="0x30335852" summary="32-bit RGBx format, [31:0] R:G:B:x 10:10:10:2 little endian"/>
+ <entry name="bgrx1010102" value="0x30335842" summary="32-bit BGRx format, [31:0] B:G:R:x 10:10:10:2 little endian"/>
+ <entry name="argb2101010" value="0x30335241" summary="32-bit ARGB format, [31:0] A:R:G:B 2:10:10:10 little endian"/>
+ <entry name="abgr2101010" value="0x30334241" summary="32-bit ABGR format, [31:0] A:B:G:R 2:10:10:10 little endian"/>
+ <entry name="rgba1010102" value="0x30334152" summary="32-bit RGBA format, [31:0] R:G:B:A 10:10:10:2 little endian"/>
+ <entry name="bgra1010102" value="0x30334142" summary="32-bit BGRA format, [31:0] B:G:R:A 10:10:10:2 little endian"/>
+ <entry name="yuyv" value="0x56595559" summary="packed YCbCr format, [31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian"/>
+ <entry name="yvyu" value="0x55595659" summary="packed YCbCr format, [31:0] Cb0:Y1:Cr0:Y0 8:8:8:8 little endian"/>
+ <entry name="uyvy" value="0x59565955" summary="packed YCbCr format, [31:0] Y1:Cr0:Y0:Cb0 8:8:8:8 little endian"/>
+ <entry name="vyuy" value="0x59555956" summary="packed YCbCr format, [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian"/>
+ <entry name="ayuv" value="0x56555941" summary="packed AYCbCr format, [31:0] A:Y:Cb:Cr 8:8:8:8 little endian"/>
+ <entry name="nv12" value="0x3231564e" summary="2 plane YCbCr Cr:Cb format, 2x2 subsampled Cr:Cb plane"/>
+ <entry name="nv21" value="0x3132564e" summary="2 plane YCbCr Cb:Cr format, 2x2 subsampled Cb:Cr plane"/>
+ <entry name="nv16" value="0x3631564e" summary="2 plane YCbCr Cr:Cb format, 2x1 subsampled Cr:Cb plane"/>
+ <entry name="nv61" value="0x3136564e" summary="2 plane YCbCr Cb:Cr format, 2x1 subsampled Cb:Cr plane"/>
+ <entry name="yuv410" value="0x39565559" summary="3 plane YCbCr format, 4x4 subsampled Cb (1) and Cr (2) planes"/>
+ <entry name="yvu410" value="0x39555659" summary="3 plane YCbCr format, 4x4 subsampled Cr (1) and Cb (2) planes"/>
+ <entry name="yuv411" value="0x31315559" summary="3 plane YCbCr format, 4x1 subsampled Cb (1) and Cr (2) planes"/>
+ <entry name="yvu411" value="0x31315659" summary="3 plane YCbCr format, 4x1 subsampled Cr (1) and Cb (2) planes"/>
+ <entry name="yuv420" value="0x32315559" summary="3 plane YCbCr format, 2x2 subsampled Cb (1) and Cr (2) planes"/>
+ <entry name="yvu420" value="0x32315659" summary="3 plane YCbCr format, 2x2 subsampled Cr (1) and Cb (2) planes"/>
+ <entry name="yuv422" value="0x36315559" summary="3 plane YCbCr format, 2x1 subsampled Cb (1) and Cr (2) planes"/>
+ <entry name="yvu422" value="0x36315659" summary="3 plane YCbCr format, 2x1 subsampled Cr (1) and Cb (2) planes"/>
+ <entry name="yuv444" value="0x34325559" summary="3 plane YCbCr format, non-subsampled Cb (1) and Cr (2) planes"/>
+ <entry name="yvu444" value="0x34325659" summary="3 plane YCbCr format, non-subsampled Cr (1) and Cb (2) planes"/>
</enum>
<request name="create_pool">
@@ -356,9 +359,9 @@
descriptor, to use as backing memory for the pool.
</description>
- <arg name="id" type="new_id" interface="wl_shm_pool"/>
- <arg name="fd" type="fd"/>
- <arg name="size" type="int"/>
+ <arg name="id" type="new_id" interface="wl_shm_pool" summary="pool to create"/>
+ <arg name="fd" type="fd" summary="file descriptor for the pool"/>
+ <arg name="size" type="int" summary="pool size, in bytes"/>
</request>
<event name="format">
@@ -446,8 +449,8 @@
conjunction with wl_data_source.action for feedback.
</description>
- <arg name="serial" type="uint"/>
- <arg name="mime_type" type="string" allow-null="true"/>
+ <arg name="serial" type="uint" summary="serial number of the accept request"/>
+ <arg name="mime_type" type="string" allow-null="true" summary="mime type accepted by the client"/>
</request>
<request name="receive">
@@ -468,8 +471,8 @@
clients may preemptively fetch data or examine it more closely to
determine acceptance.
</description>
- <arg name="mime_type" type="string"/>
- <arg name="fd" type="fd"/>
+ <arg name="mime_type" type="string" summary="mime type desired by receiver"/>
+ <arg name="fd" type="fd" summary="file descriptor for data transfer"/>
</request>
<request name="destroy" type="destructor">
@@ -539,8 +542,8 @@
This request can only be made on drag-and-drop offers, a protocol error
will be raised otherwise.
</description>
- <arg name="dnd_actions" type="uint"/>
- <arg name="preferred_action" type="uint"/>
+ <arg name="dnd_actions" type="uint" summary="actions supported by the destination client"/>
+ <arg name="preferred_action" type="uint" summary="action preferred by the destination client"/>
</request>
<event name="source_actions" since="3">
@@ -615,7 +618,7 @@
advertised to targets. Can be called several times to offer
multiple types.
</description>
- <arg name="mime_type" type="string"/>
+ <arg name="mime_type" type="string" summary="mime type offered by the data source"/>
</request>
<request name="destroy" type="destructor">
@@ -689,7 +692,7 @@
wl_data_device.start_drag. Attempting to use the source other than
for drag-and-drop will raise a protocol error.
</description>
- <arg name="dnd_actions" type="uint"/>
+ <arg name="dnd_actions" type="uint" summary="actions supported by the data source"/>
</request>
<event name="dnd_drop_performed" since="3">
@@ -792,10 +795,10 @@
as an icon ends, the current and pending input regions become
undefined, and the wl_surface is unmapped.
</description>
- <arg name="source" type="object" interface="wl_data_source" allow-null="true"/>
- <arg name="origin" type="object" interface="wl_surface"/>
- <arg name="icon" type="object" interface="wl_surface" allow-null="true"/>
- <arg name="serial" type="uint" summary="serial of the implicit grab on the origin"/>
+ <arg name="source" type="object" interface="wl_data_source" allow-null="true" summary="data source for the eventual transfer"/>
+ <arg name="origin" type="object" interface="wl_surface" summary="surface where the drag originates"/>
+ <arg name="icon" type="object" interface="wl_surface" allow-null="true" summary="drag-and-drop icon surface"/>
+ <arg name="serial" type="uint" summary="serial number of the implicit grab on the origin"/>
</request>
<request name="set_selection">
@@ -805,8 +808,8 @@
To unset the selection, set the source to NULL.
</description>
- <arg name="source" type="object" interface="wl_data_source" allow-null="true"/>
- <arg name="serial" type="uint" summary="serial of the event that triggered this request"/>
+ <arg name="source" type="object" interface="wl_data_source" allow-null="true" summary="data source for the selection"/>
+ <arg name="serial" type="uint" summary="serial number of the event that triggered this request"/>
</request>
<event name="data_offer">
@@ -922,15 +925,15 @@
<description summary="create a new data source">
Create a new data source.
</description>
- <arg name="id" type="new_id" interface="wl_data_source"/>
+ <arg name="id" type="new_id" interface="wl_data_source" summary="data source to create"/>
</request>
<request name="get_data_device">
<description summary="create a new data device">
Create a new data device for a given seat.
</description>
- <arg name="id" type="new_id" interface="wl_data_device"/>
- <arg name="seat" type="object" interface="wl_seat"/>
+ <arg name="id" type="new_id" interface="wl_data_device" summary="data device to create"/>
+ <arg name="seat" type="object" interface="wl_seat" summary="seat associated with the data device"/>
</request>
<!-- Version 3 additions -->
@@ -961,10 +964,10 @@
or drags initiated with other buttons than BTN_LEFT to specific
actions (e.g. "ask").
</description>
- <entry name="none" value="0"/>
- <entry name="copy" value="1"/>
- <entry name="move" value="2"/>
- <entry name="ask" value="4"/>
+ <entry name="none" value="0" summary="no action"/>
+ <entry name="copy" value="1" summary="copy action"/>
+ <entry name="move" value="2" summary="move action"/>
+ <entry name="ask" value="4" summary="ask action"/>
</enum>
</interface>
@@ -989,8 +992,8 @@
Only one shell surface can be associated with a given surface.
</description>
- <arg name="id" type="new_id" interface="wl_shell_surface"/>
- <arg name="surface" type="object" interface="wl_surface"/>
+ <arg name="id" type="new_id" interface="wl_shell_surface" summary="shell surface to create"/>
+ <arg name="surface" type="object" interface="wl_surface" summary="surface to be given the shell surface role"/>
</request>
</interface>
@@ -1036,15 +1039,15 @@
use this information to adapt its behavior, e.g. choose
an appropriate cursor image.
</description>
- <entry name="none" value="0"/>
- <entry name="top" value="1"/>
- <entry name="bottom" value="2"/>
- <entry name="left" value="4"/>
- <entry name="top_left" value="5"/>
- <entry name="bottom_left" value="6"/>
- <entry name="right" value="8"/>
- <entry name="top_right" value="9"/>
- <entry name="bottom_right" value="10"/>
+ <entry name="none" value="0" summary="no edge"/>
+ <entry name="top" value="1" summary="top edge"/>
+ <entry name="bottom" value="2" summary="bottom edge"/>
+ <entry name="left" value="4" summary="left edge"/>
+ <entry name="top_left" value="5" summary="top and left edges"/>
+ <entry name="bottom_left" value="6" summary="bottom and left edges"/>
+ <entry name="right" value="8" summary="right edge"/>
+ <entry name="top_right" value="9" summary="top and right edges"/>
+ <entry name="bottom_right" value="10" summary="bottom and right edges"/>
</enum>
<request name="resize">
@@ -1087,10 +1090,10 @@
The flags argument controls details of the transient behaviour.
</description>
- <arg name="parent" type="object" interface="wl_surface"/>
- <arg name="x" type="int"/>
- <arg name="y" type="int"/>
- <arg name="flags" type="uint" enum="transient"/>
+ <arg name="parent" type="object" interface="wl_surface" summary="parent surface"/>
+ <arg name="x" type="int" summary="surface-local x coordinate"/>
+ <arg name="y" type="int" summary="surface-local y coordinate"/>
+ <arg name="flags" type="uint" enum="transient" summary="transient surface behavior"/>
</request>
<enum name="fullscreen_method">
@@ -1141,9 +1144,10 @@
with the dimensions for the output on which the surface will
be made fullscreen.
</description>
- <arg name="method" type="uint" enum="fullscreen_method"/>
- <arg name="framerate" type="uint"/>
- <arg name="output" type="object" interface="wl_output" allow-null="true"/>
+ <arg name="method" type="uint" enum="fullscreen_method" summary="method for resolving size conflict"/>
+ <arg name="framerate" type="uint" summary="framerate in mHz"/>
+ <arg name="output" type="object" interface="wl_output" allow-null="true"
+ summary="output on which the surface is to be fullscreen"/>
</request>
<request name="set_popup">
@@ -1171,10 +1175,10 @@
<arg name="seat" type="object" interface="wl_seat" summary="the wl_seat whose pointer is used"/>
<arg name="serial" type="uint" summary="serial of the implicit grab on the pointer"/>
- <arg name="parent" type="object" interface="wl_surface"/>
- <arg name="x" type="int"/>
- <arg name="y" type="int"/>
- <arg name="flags" type="uint" enum="transient"/>
+ <arg name="parent" type="object" interface="wl_surface" summary="parent surface"/>
+ <arg name="x" type="int" summary="surface-local x coordinate"/>
+ <arg name="y" type="int" summary="surface-local y coordinate"/>
+ <arg name="flags" type="uint" enum="transient" summary="transient surface behavior"/>
</request>
<request name="set_maximized">
@@ -1198,7 +1202,8 @@
The details depend on the compositor implementation.
</description>
- <arg name="output" type="object" interface="wl_output" allow-null="true"/>
+ <arg name="output" type="object" interface="wl_output" allow-null="true"
+ summary="output on which the surface is to be maximized"/>
</request>
<request name="set_title">
@@ -1211,7 +1216,7 @@
The string must be encoded in UTF-8.
</description>
- <arg name="title" type="string"/>
+ <arg name="title" type="string" summary="surface title"/>
</request>
<request name="set_class">
@@ -1223,7 +1228,7 @@
file name (or the full path if it is a non-standard location) of
the application's .desktop file as the class.
</description>
- <arg name="class_" type="string"/>
+ <arg name="class_" type="string" summary="surface class"/>
</request>
<event name="ping">
@@ -1369,9 +1374,10 @@
following wl_surface.commit will remove the surface content.
</description>
- <arg name="buffer" type="object" interface="wl_buffer" allow-null="true"/>
- <arg name="x" type="int"/>
- <arg name="y" type="int"/>
+ <arg name="buffer" type="object" interface="wl_buffer" allow-null="true"
+ summary="buffer of surface contents"/>
+ <arg name="x" type="int" summary="surface-local x coordinate"/>
+ <arg name="y" type="int" summary="surface-local y coordinate"/>
</request>
<request name="damage">
@@ -1398,10 +1404,10 @@
and is probably the preferred and intuitive way of doing this.
</description>
- <arg name="x" type="int"/>
- <arg name="y" type="int"/>
- <arg name="width" type="int"/>
- <arg name="height" type="int"/>
+ <arg name="x" type="int" summary="surface-local x coordinate"/>
+ <arg name="y" type="int" summary="surface-local y coordinate"/>
+ <arg name="width" type="int" summary="width of damage rectangle"/>
+ <arg name="height" type="int" summary="height of damage rectangle"/>
</request>
<request name="frame">
@@ -1440,7 +1446,7 @@
milliseconds, with an undefined base.
</description>
Reply to: