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 <br...@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 <br...@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 <yba...@humanoriented.com> Date: Wed Aug 17 16:08:17 2016 -0700 server: Document display parameter Signed-off-by: Yong Bakos <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paala...@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 <yba...@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 <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@osg.samsung.com> Reviewed-by: Pekka Paalanen <pekka.paala...@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 <br...@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 <yba...@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 <yba...@humanoriented.com> Reviewed-by: Eric Engestrom <eric.engest...@imgtec.com> Reviewed-by: Pekka Paalanen <pekka.paala...@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 <yba...@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 <yba...@humanoriented.com> Reviewed-by: Pekka Paalanen <pekka.paala...@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 <br...@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 <br...@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 <yba...@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 <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@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 <yba...@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 <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@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 <yba...@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 <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@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 <yba...@humanoriented.com> Date: Thu Aug 11 14:33:02 2016 -0700 protocol: Correct description indentation Signed-off-by: Yong Bakos <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@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 <yba...@humanoriented.com> Date: Thu Aug 11 14:33:01 2016 -0700 protocol: Add missing line break Signed-off-by: Yong Bakos <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@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 <yba...@humanoriented.com> Date: Thu Aug 11 14:33:00 2016 -0700 protocol: Capitalize ID for consistency Signed-off-by: Yong Bakos <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@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 <yba...@humanoriented.com> Date: Thu Aug 11 14:32:59 2016 -0700 protocol: Hyphenate subsurface Signed-off-by: Yong Bakos <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@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 <yba...@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 <yba...@humanoriented.com> Reviewed-by: Bryce Harrington <br...@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>