"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "protocol/wayland.xml" between
wayland-1.17.0.tar.xz and wayland-1.18.0.tar.xz

About: Wayland is a computer display server protocol for a compositor to talk to its clients and a library for Linux implementing that protocol.

wayland.xml  (wayland-1.17.0.tar.xz):wayland.xml  (wayland-1.18.0.tar.xz)
skipping to change at line 94 skipping to change at line 94
</event> </event>
<enum name="error"> <enum name="error">
<description summary="global error values"> <description summary="global error values">
These errors are global and can be emitted in response to any These errors are global and can be emitted in response to any
server request. server request.
</description> </description>
<entry name="invalid_object" value="0" <entry name="invalid_object" value="0"
summary="server couldn't find object"/> summary="server couldn't find object"/>
<entry name="invalid_method" value="1" <entry name="invalid_method" value="1"
summary="method doesn't exist on the specified interface"/> summary="method doesn't exist on the specified interface or malforme d request"/>
<entry name="no_memory" value="2" <entry name="no_memory" value="2"
summary="server is out of memory"/> summary="server is out of memory"/>
<entry name="implementation" value="3" <entry name="implementation" value="3"
summary="implementation error in compositor"/> summary="implementation error in compositor"/>
</enum> </enum>
<event name="delete_id"> <event name="delete_id">
<description summary="acknowledge object ID deletion"> <description summary="acknowledge object ID deletion">
This event is used internally by the object ID management This event is used internally by the object ID management
logic. When a client deletes an object, the server will send logic. When a client deletes an object that it had created,
this event to acknowledge that it has seen the delete request. the server will send this event to acknowledge that it has
When the client receives this event, it will know that it can seen the delete request. When the client receives this event,
safely reuse the object ID. it will know that it can safely reuse the object ID.
</description> </description>
<arg name="id" type="uint" summary="deleted object ID"/> <arg name="id" type="uint" summary="deleted object ID"/>
</event> </event>
</interface> </interface>
<interface name="wl_registry" version="1"> <interface name="wl_registry" version="1">
<description summary="global registry object"> <description summary="global registry object">
The singleton global registry object. The server has a number of The singleton global registry object. The server has a number of
global objects that are available to all clients. These objects global objects that are available to all clients. These objects
typically represent an actual object in the server (for example, typically represent an actual object in the server (for example,
skipping to change at line 296 skipping to change at line 296
</enum> </enum>
<enum name="format"> <enum name="format">
<description summary="pixel formats"> <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 All renderers should support argb8888 and xrgb8888 but any other
formats are optional and may not be supported by the particular formats are optional and may not be supported by the particular
renderer in use. renderer in use.
The drm format codes match the macros defined in drm_fourcc.h. The drm format codes match the macros defined in drm_fourcc.h, except
The formats actually supported by the compositor will be argb8888 and xrgb8888. The formats actually supported by the compositor
reported by the format event. will be reported by the format event.
</description> </description>
<!-- Note to protocol writers: don't update this list manually, instead
run the automated script that keeps it in sync with drm_fourcc.h. -->
<entry name="argb8888" value="0" summary="32-bit ARGB format, [31:0] A:R:G :B 8:8:8:8 little endian"/> <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="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="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="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="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="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="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="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="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="argb4444" value="0x32315241" summary="16-bit ARGB format, [15 :0] A:R:G:B 4:4:4:4 little endian"/>
skipping to change at line 358 skipping to change at line 360
<entry name="yuv410" value="0x39565559" summary="3 plane YCbCr format, 4x4 subsampled Cb (1) and Cr (2) planes"/> <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="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="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="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="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="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="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="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="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"/> <entry name="yvu444" value="0x34325659" summary="3 plane YCbCr format, non -subsampled Cr (1) and Cb (2) planes"/>
<entry name="r8" value="0x20203852" summary="[7:0] R"/>
<entry name="r16" value="0x20363152" summary="[15:0] R little endian"/>
<entry name="rg88" value="0x38384752" summary="[15:0] R:G 8:8 little endia
n"/>
<entry name="gr88" value="0x38385247" summary="[15:0] G:R 8:8 little endia
n"/>
<entry name="rg1616" value="0x32334752" summary="[31:0] R:G 16:16 little e
ndian"/>
<entry name="gr1616" value="0x32335247" summary="[31:0] G:R 16:16 little e
ndian"/>
<entry name="xrgb16161616f" value="0x48345258" summary="[63:0] x:R:G:B 16:
16:16:16 little endian"/>
<entry name="xbgr16161616f" value="0x48344258" summary="[63:0] x:B:G:R 16:
16:16:16 little endian"/>
<entry name="argb16161616f" value="0x48345241" summary="[63:0] A:R:G:B 16:
16:16:16 little endian"/>
<entry name="abgr16161616f" value="0x48344241" summary="[63:0] A:B:G:R 16:
16:16:16 little endian"/>
<entry name="xyuv8888" value="0x56555958" summary="[31:0] X:Y:Cb:Cr 8:8:8:
8 little endian"/>
<entry name="vuy888" value="0x34325556" summary="[23:0] Cr:Cb:Y 8:8:8 litt
le endian"/>
<entry name="vuy101010" value="0x30335556" summary="Y followed by U then V
, 10:10:10. Non-linear modifier only"/>
<entry name="y210" value="0x30313259" summary="[63:0] Cr0:0:Y1:0:Cb0:0:Y0:
0 10:6:10:6:10:6:10:6 little endian per 2 Y pixels"/>
<entry name="y212" value="0x32313259" summary="[63:0] Cr0:0:Y1:0:Cb0:0:Y0:
0 12:4:12:4:12:4:12:4 little endian per 2 Y pixels"/>
<entry name="y216" value="0x36313259" summary="[63:0] Cr0:Y1:Cb0:Y0 16:16:
16:16 little endian per 2 Y pixels"/>
<entry name="y410" value="0x30313459" summary="[31:0] A:Cr:Y:Cb 2:10:10:10
little endian"/>
<entry name="y412" value="0x32313459" summary="[63:0] A:0:Cr:0:Y:0:Cb:0 12
:4:12:4:12:4:12:4 little endian"/>
<entry name="y416" value="0x36313459" summary="[63:0] A:Cr:Y:Cb 16:16:16:1
6 little endian"/>
<entry name="xvyu2101010" value="0x30335658" summary="[31:0] X:Cr:Y:Cb 2:1
0:10:10 little endian"/>
<entry name="xvyu12_16161616" value="0x36335658" summary="[63:0] X:0:Cr:0:
Y:0:Cb:0 12:4:12:4:12:4:12:4 little endian"/>
<entry name="xvyu16161616" value="0x38345658" summary="[63:0] X:Cr:Y:Cb 16
:16:16:16 little endian"/>
<entry name="y0l0" value="0x304c3059" summary="[63:0] A3:A2:Y3:0:Cr0:0:Y
2:0:A1:A0:Y1:0:Cb0:0:Y0:0 1:1:8:2:8:2:8:2:1:1:8:2:8:2:8:2 little endian"/>
<entry name="x0l0" value="0x304c3058" summary="[63:0] X3:X2:Y3:0:Cr0:0:Y
2:0:X1:X0:Y1:0:Cb0:0:Y0:0 1:1:8:2:8:2:8:2:1:1:8:2:8:2:8:2 little endian"/>
<entry name="y0l2" value="0x324c3059" summary="[63:0] A3:A2:Y3:Cr0:Y2:A1
:A0:Y1:Cb0:Y0 1:1:10:10:10:1:1:10:10:10 little endian"/>
<entry name="x0l2" value="0x324c3058" summary="[63:0] X3:X2:Y3:Cr0:Y2:X1
:X0:Y1:Cb0:Y0 1:1:10:10:10:1:1:10:10:10 little endian"/>
<entry name="yuv420_8bit" value="0x38305559"/>
<entry name="yuv420_10bit" value="0x30315559"/>
<entry name="xrgb8888_a8" value="0x38415258"/>
<entry name="xbgr8888_a8" value="0x38414258"/>
<entry name="rgbx8888_a8" value="0x38415852"/>
<entry name="bgrx8888_a8" value="0x38415842"/>
<entry name="rgb888_a8" value="0x38413852"/>
<entry name="bgr888_a8" value="0x38413842"/>
<entry name="rgb565_a8" value="0x38413552"/>
<entry name="bgr565_a8" value="0x38413542"/>
<entry name="nv24" value="0x3432564e" summary="non-subsampled Cr:Cb plane"
/>
<entry name="nv42" value="0x3234564e" summary="non-subsampled Cb:Cr plane"
/>
<entry name="p210" value="0x30313250" summary="2x1 subsampled Cr:Cb plane,
10 bit per channel"/>
<entry name="p010" value="0x30313050" summary="2x2 subsampled Cr:Cb plane
10 bits per channel"/>
<entry name="p012" value="0x32313050" summary="2x2 subsampled Cr:Cb plane
12 bits per channel"/>
<entry name="p016" value="0x36313050" summary="2x2 subsampled Cr:Cb plane
16 bits per channel"/>
</enum> </enum>
<request name="create_pool"> <request name="create_pool">
<description summary="create a shm pool"> <description summary="create a shm pool">
Create a new wl_shm_pool object. Create a new wl_shm_pool object.
The pool can be used to create shared memory based buffer The pool can be used to create shared memory based buffer
objects. The server will mmap size bytes of the passed file objects. The server will mmap size bytes of the passed file
descriptor, to use as backing memory for the pool. descriptor, to use as backing memory for the pool.
</description> </description>
skipping to change at line 512 skipping to change at line 556
finished the drag-and-drop operation. finished the drag-and-drop operation.
Upon receiving this request, the compositor will emit Upon receiving this request, the compositor will emit
wl_data_source.dnd_finished on the drag source client. wl_data_source.dnd_finished on the drag source client.
It is a client error to perform other requests than It is a client error to perform other requests than
wl_data_offer.destroy after this one. It is also an error to perform wl_data_offer.destroy after this one. It is also an error to perform
this request after a NULL mime type has been set in this request after a NULL mime type has been set in
wl_data_offer.accept or no action was received through wl_data_offer.accept or no action was received through
wl_data_offer.action. wl_data_offer.action.
If wl_data_offer.finish request is received for a non drag and drop
operation, the invalid_finish protocol error is raised.
</description> </description>
</request> </request>
<request name="set_actions" since="3"> <request name="set_actions" since="3">
<description summary="set the available/preferred drag-and-drop actions"> <description summary="set the available/preferred drag-and-drop actions">
Sets the actions that the destination side client supports for Sets the actions that the destination side client supports for
this operation. This request may trigger the emission of this operation. This request may trigger the emission of
wl_data_source.action and wl_data_offer.action events if the compositor wl_data_source.action and wl_data_offer.action events if the compositor
needs to change the selected action. needs to change the selected action.
This request can be called multiple times throughout the This request can be called multiple times throughout the
drag-and-drop operation, typically in response to wl_data_device.enter drag-and-drop operation, typically in response to wl_data_device.enter
or wl_data_device.motion events. or wl_data_device.motion events.
This request determines the final result of the drag-and-drop This request determines the final result of the drag-and-drop
operation. If the end result is that no action is accepted, operation. If the end result is that no action is accepted,
the drag source will receive wl_drag_source.cancelled. the drag source will receive wl_data_source.cancelled.
The dnd_actions argument must contain only values expressed in the The dnd_actions argument must contain only values expressed in the
wl_data_device_manager.dnd_actions enum, and the preferred_action wl_data_device_manager.dnd_actions enum, and the preferred_action
argument must only contain one of those values set, otherwise it argument must only contain one of those values set, otherwise it
will result in a protocol error. will result in a protocol error.
While managing an "ask" action, the destination drag-and-drop client While managing an "ask" action, the destination drag-and-drop client
may perform further wl_data_offer.receive requests, and is expected may perform further wl_data_offer.receive requests, and is expected
to perform one last wl_data_offer.set_actions request with a preferred to perform one last wl_data_offer.set_actions request with a preferred
action other than "ask" (and optionally wl_data_offer.accept) before action other than "ask" (and optionally wl_data_offer.accept) before
requesting wl_data_offer.finish, in order to convey the action selected requesting wl_data_offer.finish, in order to convey the action selected
by the user. If the preferred action is not in the by the user. If the preferred action is not in the
wl_data_offer.source_actions mask, an error will be raised. wl_data_offer.source_actions mask, an error will be raised.
If the "ask" action is dismissed (e.g. user cancellation), the client If the "ask" action is dismissed (e.g. user cancellation), the client
is expected to perform wl_data_offer.destroy right away. is expected to perform wl_data_offer.destroy right away.
This request can only be made on drag-and-drop offers, a protocol error This request can only be made on drag-and-drop offers, a protocol error
will be raised otherwise. will be raised otherwise.
</description> </description>
<arg name="dnd_actions" type="uint" summary="actions supported by the dest <arg name="dnd_actions" type="uint" summary="actions supported by the dest
ination client"/> ination client"
<arg name="preferred_action" type="uint" summary="action preferred by the enum="wl_data_device_manager.dnd_action"/>
destination client"/> <arg name="preferred_action" type="uint" summary="action preferred by the
destination client"
enum="wl_data_device_manager.dnd_action"/>
</request> </request>
<event name="source_actions" since="3"> <event name="source_actions" since="3">
<description summary="notify the source-side available actions"> <description summary="notify the source-side available actions">
This event indicates the actions offered by the data source. It This event indicates the actions offered by the data source. It
will be sent right after wl_data_device.enter, or anytime the source will be sent right after wl_data_device.enter, or anytime the source
side changes its offered actions through wl_data_source.set_actions. side changes its offered actions through wl_data_source.set_actions.
</description> </description>
<arg name="source_actions" type="uint" summary="actions offered by the dat <arg name="source_actions" type="uint" summary="actions offered by the dat
a source"/> a source"
enum="wl_data_device_manager.dnd_action"/>
</event> </event>
<event name="action" since="3"> <event name="action" since="3">
<description summary="notify the selected action"> <description summary="notify the selected action">
This event indicates the action selected by the compositor after This event indicates the action selected by the compositor after
matching the source/destination side actions. Only one action (or matching the source/destination side actions. Only one action (or
none) will be offered here. none) will be offered here.
This event can be emitted multiple times during the drag-and-drop This event can be emitted multiple times during the drag-and-drop
operation in response to destination side action changes through operation in response to destination side action changes through
skipping to change at line 600 skipping to change at line 650
at this stage are always the result of inter-client negotiation, the at this stage are always the result of inter-client negotiation, the
compositor shall no longer be able to induce a different action. compositor shall no longer be able to induce a different action.
Upon "ask" actions, it is expected that the drag-and-drop destination Upon "ask" actions, it is expected that the drag-and-drop destination
may potentially choose a different action and/or mime type, may potentially choose a different action and/or mime type,
based on wl_data_offer.source_actions and finally chosen by the based on wl_data_offer.source_actions and finally chosen by the
user (e.g. popping up a menu with the available options). The user (e.g. popping up a menu with the available options). The
final wl_data_offer.set_actions and wl_data_offer.accept requests final wl_data_offer.set_actions and wl_data_offer.accept requests
must happen before the call to wl_data_offer.finish. must happen before the call to wl_data_offer.finish.
</description> </description>
<arg name="dnd_action" type="uint" summary="action selected by the composi <arg name="dnd_action" type="uint" summary="action selected by the composi
tor"/> tor"
enum="wl_data_device_manager.dnd_action"/>
</event> </event>
</interface> </interface>
<interface name="wl_data_source" version="3"> <interface name="wl_data_source" version="3">
<description summary="offer to transfer data"> <description summary="offer to transfer data">
The wl_data_source object is the source side of a wl_data_offer. The wl_data_source object is the source side of a wl_data_offer.
It is created by the source client in a data transfer and It is created by the source client in a data transfer and
provides a way to describe the offered data and a way to respond provides a way to describe the offered data and a way to respond
to requests to transfer the data. to requests to transfer the data.
</description> </description>
skipping to change at line 697 skipping to change at line 748
The dnd_actions argument must contain only values expressed in the The dnd_actions argument must contain only values expressed in the
wl_data_device_manager.dnd_actions enum, otherwise it will result wl_data_device_manager.dnd_actions enum, otherwise it will result
in a protocol error. in a protocol error.
This request must be made once only, and can only be made on sources This request must be made once only, and can only be made on sources
used in drag-and-drop, so it must be performed before used in drag-and-drop, so it must be performed before
wl_data_device.start_drag. Attempting to use the source other than wl_data_device.start_drag. Attempting to use the source other than
for drag-and-drop will raise a protocol error. for drag-and-drop will raise a protocol error.
</description> </description>
<arg name="dnd_actions" type="uint" summary="actions supported by the data <arg name="dnd_actions" type="uint" summary="actions supported by the data
source"/> source"
enum="wl_data_device_manager.dnd_action"/>
</request> </request>
<event name="dnd_drop_performed" since="3"> <event name="dnd_drop_performed" since="3">
<description summary="the drag-and-drop operation physically finished"> <description summary="the drag-and-drop operation physically finished">
The user performed the drop action. This event does not indicate The user performed the drop action. This event does not indicate
acceptance, wl_data_source.cancelled may still be emitted afterwards acceptance, wl_data_source.cancelled may still be emitted afterwards
if the drop destination does not accept any mime type. if the drop destination does not accept any mime type.
However, this event might however not be received if the compositor However, this event might however not be received if the compositor
cancelled the drag-and-drop operation before this event could happen. cancelled the drag-and-drop operation before this event could happen.
skipping to change at line 753 skipping to change at line 805
operation. operation.
The most recent action received is always the valid one. The chosen The most recent action received is always the valid one. The chosen
action may change alongside negotiation (e.g. an "ask" action can turn action may change alongside negotiation (e.g. an "ask" action can turn
into a "move" operation), so the effects of the final action must into a "move" operation), so the effects of the final action must
always be applied in wl_data_offer.dnd_finished. always be applied in wl_data_offer.dnd_finished.
Clients can trigger cursor surface changes from this point, so Clients can trigger cursor surface changes from this point, so
they reflect the current action. they reflect the current action.
</description> </description>
<arg name="dnd_action" type="uint" summary="action selected by the composi <arg name="dnd_action" type="uint" summary="action selected by the composi
tor"/> tor"
enum="wl_data_device_manager.dnd_action"/>
</event> </event>
</interface> </interface>
<interface name="wl_data_device" version="3"> <interface name="wl_data_device" version="3">
<description summary="data transfer device"> <description summary="data transfer device">
There is one wl_data_device per seat which can be obtained There is one wl_data_device per seat which can be obtained
from the global wl_data_device_manager singleton. from the global wl_data_device_manager singleton.
A wl_data_device provides access to inter-client data transfer A wl_data_device provides access to inter-client data transfer
mechanisms such as copy-and-paste and drag-and-drop. mechanisms such as copy-and-paste and drag-and-drop.
skipping to change at line 1279 skipping to change at line 1332
<description summary="popup interaction is done"> <description summary="popup interaction is done">
The popup_done event is sent out when a popup grab is broken, The popup_done event is sent out when a popup grab is broken,
that is, when the user clicks a surface that doesn't belong that is, when the user clicks a surface that doesn't belong
to the client owning the popup surface. to the client owning the popup surface.
</description> </description>
</event> </event>
</interface> </interface>
<interface name="wl_surface" version="4"> <interface name="wl_surface" version="4">
<description summary="an onscreen surface"> <description summary="an onscreen surface">
A surface is a rectangular area that is displayed on the screen. A surface is a rectangular area that may be displayed on zero
It has a location, size and pixel contents. or more outputs, and shown any number of times at the compositor's
discretion. They can present wl_buffers, receive user input, and
define a local coordinate system.
The size of a surface (and relative positions on it) is described The size of a surface (and relative positions on it) is described
in surface-local coordinates, which may differ from the buffer in surface-local coordinates, which may differ from the buffer
coordinates of the pixel content, in case a buffer_transform coordinates of the pixel content, in case a buffer_transform
or a buffer_scale is used. or a buffer_scale is used.
A surface without a "role" is fairly useless: a compositor does A surface without a "role" is fairly useless: a compositor does
not know where, when or how to present it. The role is the not know where, when or how to present it. The role is the
purpose of a wl_surface. Examples of roles are a cursor for a purpose of a wl_surface. Examples of roles are a cursor for a
pointer (as set by wl_pointer.set_cursor), a drag icon pointer (as set by wl_pointer.set_cursor), a drag icon
skipping to change at line 1368 skipping to change at line 1423
Committing a pending wl_buffer allows the compositor to read the Committing a pending wl_buffer allows the compositor to read the
pixels in the wl_buffer. The compositor may access the pixels at pixels in the wl_buffer. The compositor may access the pixels at
any time after the wl_surface.commit request. When the compositor any time after the wl_surface.commit request. When the compositor
will not access the pixels anymore, it will send the will not access the pixels anymore, it will send the
wl_buffer.release event. Only after receiving wl_buffer.release, wl_buffer.release event. Only after receiving wl_buffer.release,
the client may reuse the wl_buffer. A wl_buffer that has been the client may reuse the wl_buffer. A wl_buffer that has been
attached and then replaced by another attach instead of committed attached and then replaced by another attach instead of committed
will not receive a release event, and is not used by the will not receive a release event, and is not used by the
compositor. compositor.
If a pending wl_buffer has been committed to more than one wl_surface,
the delivery of wl_buffer.release events becomes undefined. A well
behaved client should not rely on wl_buffer.release events in this
case. Alternatively, a client could create multiple wl_buffer objects
from the same backing storage or use wp_linux_buffer_release.
Destroying the wl_buffer after wl_buffer.release does not change Destroying the wl_buffer after wl_buffer.release does not change
the surface contents. However, if the client destroys the the surface contents. However, if the client destroys the
wl_buffer before receiving the wl_buffer.release event, the surface wl_buffer before receiving the wl_buffer.release event, the surface
contents become undefined immediately. contents become undefined immediately.
If wl_surface.attach is sent with a NULL wl_buffer, the If wl_surface.attach is sent with a NULL wl_buffer, the
following wl_surface.commit will remove the surface content. following wl_surface.commit will remove the surface content.
</description> </description>
<arg name="buffer" type="object" interface="wl_buffer" allow-null="true" <arg name="buffer" type="object" interface="wl_buffer" allow-null="true"
summary="buffer of surface contents"/> summary="buffer of surface contents"/>
skipping to change at line 2465 skipping to change at line 2526
mode that was received with the current flag set. mode that was received with the current flag set.
The size of a mode is given in physical hardware units of The size of a mode is given in physical hardware units of
the output device. This is not necessarily the same as the output device. This is not necessarily the same as
the output size in the global compositor space. For instance, the output size in the global compositor space. For instance,
the output may be scaled, as described in wl_output.scale, the output may be scaled, as described in wl_output.scale,
or transformed, as described in wl_output.transform. Clients or transformed, as described in wl_output.transform. Clients
willing to retrieve the output size in the global compositor willing to retrieve the output size in the global compositor
space should use xdg_output.logical_size instead. space should use xdg_output.logical_size instead.
The vertical refresh rate can be set to zero if it doesn't make
sense for this output (e.g. for virtual outputs).
Clients should not use the refresh rate to schedule frames. Instead, Clients should not use the refresh rate to schedule frames. Instead,
they should use the wl_surface.frame event or the presentation-time they should use the wl_surface.frame event or the presentation-time
protocol. protocol.
Note: this information is not always meaningful for all outputs. Some Note: this information is not always meaningful for all outputs. Some
compositors, such as those exposing virtual outputs, might fake the compositors, such as those exposing virtual outputs, might fake the
refresh rate or the size. refresh rate or the size.
</description> </description>
<arg name="flags" type="uint" enum="mode" summary="bitfield of mode flags" /> <arg name="flags" type="uint" enum="mode" summary="bitfield of mode flags" />
<arg name="width" type="int" summary="width of the mode in hardware units" /> <arg name="width" type="int" summary="width of the mode in hardware units" />
 End of changes. 15 change blocks. 
23 lines changed or deleted 117 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)