2010-11-29 21:05:26 +02:00
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
2010-09-14 15:52:43 -04:00
|
|
|
<protocol name="wayland">
|
2010-08-03 09:26:44 -04:00
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- The core global object. This is a special singleton object.
|
|
|
|
|
It is used for internal wayland protocol features. -->
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_display" version="1">
|
2011-04-14 10:38:44 -04:00
|
|
|
<request name="bind">
|
|
|
|
|
<arg name="id" type="uint"/>
|
|
|
|
|
<arg name="interface" type="string"/>
|
|
|
|
|
<arg name="version" type="uint"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- sync is an just an echo, which will reply with a sync event.
|
|
|
|
|
Since requests are handled in-order, this can be used as a
|
|
|
|
|
barrier to ensure all previous requests have ben handled.
|
|
|
|
|
The key argument can be used to correlate between multiple
|
|
|
|
|
sync invocations. -->
|
2010-09-03 14:46:38 -04:00
|
|
|
<request name="sync">
|
|
|
|
|
<arg name="key" type="uint"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Request notification when the next frame is displayed.
|
|
|
|
|
Useful for throttling redrawing operations, and driving
|
|
|
|
|
animations. The notification will only be posted for one
|
|
|
|
|
frame unless requested again. -->
|
2010-09-03 14:46:38 -04:00
|
|
|
<request name="frame">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
2010-09-03 14:46:38 -04:00
|
|
|
<arg name="key" type="uint"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2011-05-11 10:57:06 -04:00
|
|
|
<!-- A fatal error has occurred. -->
|
|
|
|
|
<event name="error">
|
|
|
|
|
<arg name="object_id" type="object" interface="wl_object"/>
|
|
|
|
|
<arg name="code" type="uint"/>
|
|
|
|
|
<arg name="message" type="string"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
</event>
|
|
|
|
|
|
2011-05-11 10:57:06 -04:00
|
|
|
<enum name="error">
|
|
|
|
|
<entry name="invalid_object" value="0"/>
|
|
|
|
|
<entry name="invalid_method" value="1"/>
|
|
|
|
|
<entry name="no_memory" value="2"/>
|
|
|
|
|
</enum>
|
2010-08-03 09:26:44 -04:00
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Notify the client of global objects. These are objects that
|
|
|
|
|
are created by the server. Globals are published on the
|
|
|
|
|
initial client connection sequence, upon device hotplugs,
|
|
|
|
|
device disconnects, reconfiguration or other events. The
|
|
|
|
|
server will always announce an object before the object sends
|
|
|
|
|
out events. -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<event name="global">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="id" type="new_id" interface="wl_object"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
<arg name="name" type="string"/>
|
|
|
|
|
<arg name="version" type="uint"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
2011-06-14 10:35:46 +02:00
|
|
|
<!-- Notify the client of removed global objects. -->
|
|
|
|
|
<event name="global_remove">
|
|
|
|
|
<arg name="id" type="uint" />
|
|
|
|
|
</event>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Internal, deprecated, and will be changed. This is an object
|
|
|
|
|
IDs range that is used by the client to allocate object IDs
|
|
|
|
|
in "new_id" type arguments. The server sends range
|
|
|
|
|
allocations to the client before the next range is about to
|
|
|
|
|
be depleted. -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<event name="range">
|
|
|
|
|
<arg name="base" type="uint"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
2010-11-29 17:04:21 -05:00
|
|
|
<!-- A reply to the frame or sync request. The key is the one
|
|
|
|
|
used in the request. time is in millisecond units, and
|
|
|
|
|
denotes the time when the frame was posted on the
|
|
|
|
|
display. time can be used to estimaate frame rate, determine
|
|
|
|
|
how much to advance animations and compensate for jitter. -->
|
|
|
|
|
<event name="key">
|
2010-09-03 14:46:38 -04:00
|
|
|
<arg name="key" type="uint"/>
|
|
|
|
|
<arg name="time" type="uint"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
</event>
|
|
|
|
|
</interface>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
|
|
|
|
|
<!-- A compositor. This object is a global. The compositor is in
|
|
|
|
|
charge of combining the contents of multiple surfaces into one
|
|
|
|
|
displayable output. -->
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_compositor" version="1">
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Factory request for a surface objects. A surface is akin to a
|
|
|
|
|
window. -->
|
2010-09-03 14:46:38 -04:00
|
|
|
<request name="create_surface">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="id" type="new_id" interface="wl_surface"/>
|
2010-09-03 14:46:38 -04:00
|
|
|
</request>
|
2011-05-12 21:29:22 -04:00
|
|
|
|
|
|
|
|
<enum name="visual">
|
|
|
|
|
<entry name="argb32" value="0"/>
|
|
|
|
|
<entry name="premultiplied_argb32" value="1"/>
|
|
|
|
|
<entry name="xrgb32" value="2"/>
|
|
|
|
|
</enum>
|
|
|
|
|
|
|
|
|
|
<event name="token_visual">
|
|
|
|
|
<arg name="id" type="new_id" interface="wl_object"/>
|
|
|
|
|
<arg name="token" type="uint"/>
|
|
|
|
|
</event>
|
2010-09-03 14:46:38 -04:00
|
|
|
</interface>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Shared memory support -->
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_shm" version="1">
|
2011-05-11 11:00:40 -04:00
|
|
|
<enum name="error">
|
|
|
|
|
<entry name="invalid_visual" value="0"/>
|
|
|
|
|
<entry name="invalid_stride" value="1"/>
|
|
|
|
|
<entry name="invalid_fd" value="2"/>
|
|
|
|
|
</enum>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Transfer a shm buffer to the server. The allocated buffer
|
|
|
|
|
would include at least stride * height bytes starting at the
|
|
|
|
|
beginning of fd. The file descriptor is transferred over the
|
|
|
|
|
socket using AF_UNIX magical features. width, height, stride
|
|
|
|
|
and visual describe the respective properties of the pixel
|
|
|
|
|
data contained in the buffer. -->
|
2010-10-06 21:17:40 -04:00
|
|
|
<request name="create_buffer">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="id" type="new_id" interface="wl_buffer"/>
|
2010-10-06 21:17:40 -04:00
|
|
|
<arg name="fd" type="fd"/>
|
|
|
|
|
<arg name="width" type="int"/>
|
|
|
|
|
<arg name="height" type="int"/>
|
|
|
|
|
<arg name="stride" type="uint"/>
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="visual" type="object" interface="wl_visual"/>
|
2010-10-06 21:17:40 -04:00
|
|
|
</request>
|
|
|
|
|
</interface>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
|
|
|
|
|
<!-- A pixel buffer. Created using the drm, shm or similar objects.
|
|
|
|
|
It has a size, visual and contents, but not a location on the
|
2011-03-07 15:05:27 +01:00
|
|
|
screen. -->
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_buffer" version="1">
|
2011-03-07 15:05:27 +01:00
|
|
|
<!-- Notify the server that the specified area of the buffers
|
|
|
|
|
contents have changed. To describe a more complicated area
|
|
|
|
|
of damage, break down the region into rectangles and use this
|
|
|
|
|
request several times.
|
|
|
|
|
-->
|
|
|
|
|
<request name="damage">
|
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
|
<arg name="width" type="int"/>
|
|
|
|
|
<arg name="height" type="int"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
|
|
|
|
<!-- Destroy a buffer. This will invalidate the object id. -->
|
2010-09-02 20:22:42 -04:00
|
|
|
<request name="destroy" type="destructor"/>
|
2011-05-09 17:35:58 +02:00
|
|
|
|
|
|
|
|
<!-- Sent when an attached buffer is no longer used by the compositor. -->
|
|
|
|
|
<event name="release"/>
|
2010-08-09 14:43:33 -04:00
|
|
|
</interface>
|
|
|
|
|
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_shell" version="1">
|
2010-08-03 09:26:44 -04:00
|
|
|
<request name="move">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
|
|
|
<arg name="input_device" type="object" interface="wl_input_device"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2011-01-21 21:57:55 -05:00
|
|
|
<enum name="resize">
|
|
|
|
|
<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"/>
|
|
|
|
|
</enum>
|
|
|
|
|
|
2010-08-03 09:26:44 -04:00
|
|
|
<request name="resize">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
|
|
|
<arg name="input_device" type="object" interface="wl_input_device"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
<arg name="time" type="uint"/>
|
2010-08-04 22:44:55 -04:00
|
|
|
<!-- edges is an enum, need to get the values in here -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<arg name="edges" type="uint"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2010-09-02 20:22:42 -04:00
|
|
|
<request name="create_drag">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="id" type="new_id" interface="wl_drag"/>
|
2010-09-02 20:22:42 -04:00
|
|
|
</request>
|
|
|
|
|
|
2011-01-18 09:08:53 -05:00
|
|
|
<request name="create_selection">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="id" type="new_id" interface="wl_selection"/>
|
2011-01-18 09:08:53 -05:00
|
|
|
</request>
|
|
|
|
|
|
2011-06-18 08:17:40 -04:00
|
|
|
<!-- Make the surface visible as a toplevel window. -->
|
|
|
|
|
<request name="set_toplevel">
|
|
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
|
|
|
|
<!-- Map the surface relative to an existing surface. The x and y
|
|
|
|
|
arguments specify the locations of the upper left corner of
|
|
|
|
|
the surface relative to the upper left corner of the parent
|
|
|
|
|
surface. The flags argument controls overflow/clipping
|
|
|
|
|
behaviour when the surface would intersect a screen edge,
|
|
|
|
|
panel or such. And possibly whether the offset only
|
|
|
|
|
determines the initial position or if the surface is locked
|
|
|
|
|
to that relative position during moves. -->
|
|
|
|
|
<request name="set_transient">
|
|
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
|
|
|
<arg name="parent" type="object" interface="wl_surface"/>
|
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
|
<arg name="flags" type="uint"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
|
|
|
|
<!-- Map the surface as a fullscreen surface. There are a number
|
|
|
|
|
of options here: on which output? if the surface size doesn't
|
|
|
|
|
match the output size, do we scale, change resolution, or add
|
|
|
|
|
black borders? is that something the client controls? what
|
|
|
|
|
about transient surfaces, do they float on top of the
|
|
|
|
|
fullscreen? what if there's already a fullscreen surface on
|
|
|
|
|
the output, maybe you can only go fullscreen if you're
|
|
|
|
|
active? -->
|
|
|
|
|
<request name="set_fullscreen">
|
|
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2010-12-09 11:06:46 -05:00
|
|
|
<!-- The configure event asks the client to resize its surface.
|
|
|
|
|
The size is a hint, in the sense that the client is free to
|
|
|
|
|
ignore it if it doesn't resize, pick a smaller size (to
|
|
|
|
|
satisfy aspect ration or resize in steps of NxM pixels). The
|
|
|
|
|
client is free to dismiss all but the last configure event it
|
|
|
|
|
received. -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<event name="configure">
|
2010-08-04 22:44:55 -04:00
|
|
|
<arg name="time" type="uint"/>
|
2010-12-17 09:53:12 -05:00
|
|
|
<arg name="edges" type="uint"/>
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
<arg name="width" type="int"/>
|
|
|
|
|
<arg name="height" type="int"/>
|
|
|
|
|
</event>
|
|
|
|
|
</interface>
|
2010-08-17 21:23:10 -04:00
|
|
|
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_selection" version="1">
|
2011-01-18 09:08:53 -05:00
|
|
|
<!-- Add an offered mime type. Can be called several times to
|
|
|
|
|
offer multiple types, but must be called before 'activate'. -->
|
|
|
|
|
<request name="offer">
|
|
|
|
|
<arg name="type" type="string"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
|
|
|
|
<!-- Can the selection be activated for multiple devices? -->
|
|
|
|
|
<request name="activate">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="input_device" type="object" interface="wl_input_device"/>
|
2011-01-18 09:08:53 -05:00
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
|
|
|
|
<!-- Destroy the selection. -->
|
|
|
|
|
<request name="destroy" type="destructor"/>
|
|
|
|
|
|
|
|
|
|
<!-- Another client pasted the selection, send the mime-type over
|
|
|
|
|
the passed fd. -->
|
|
|
|
|
<event name="send">
|
|
|
|
|
<arg name="mime_type" type="string"/>
|
|
|
|
|
<arg name="fd" type="fd"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
|
|
|
|
<!-- Another selection became active. -->
|
|
|
|
|
<event name="cancelled"/>
|
|
|
|
|
</interface>
|
|
|
|
|
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_selection_offer" version="1">
|
2011-01-18 09:08:53 -05:00
|
|
|
<!-- Called to receive the selection data as the specified type.
|
|
|
|
|
Sends the pipe fd to the compositor, which forwards it to the
|
|
|
|
|
source in the 'send' event -->
|
|
|
|
|
<request name="receive">
|
|
|
|
|
<arg name="mime_type" type="string"/>
|
|
|
|
|
<arg name="fd" type="fd"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
|
|
|
|
<!-- Sent before the keyboard_focus event to announce the types
|
|
|
|
|
offered. One event per offered mime type. A mime type of
|
|
|
|
|
NULL means the selection offer is going away. -->
|
|
|
|
|
<event name="offer">
|
|
|
|
|
<arg name="type" type="string"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
|
|
|
|
<event name="keyboard_focus">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="input_device" type="object" interface="wl_input_device"/>
|
2011-01-18 09:08:53 -05:00
|
|
|
</event>
|
|
|
|
|
</interface>
|
2010-11-29 21:05:26 +02:00
|
|
|
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_drag" version="1">
|
2010-08-17 21:23:10 -04:00
|
|
|
<!-- Add an offered mime type. Can be called several times to
|
|
|
|
|
offer multiple types, but must be called before 'activate'. -->
|
|
|
|
|
<request name="offer">
|
|
|
|
|
<arg name="type" type="string"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2010-09-02 20:22:42 -04:00
|
|
|
<request name="activate">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
|
|
|
|
<arg name="input_device" type="object" interface="wl_input_device"/>
|
2010-09-02 20:22:42 -04:00
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
|
</request>
|
2010-08-17 21:23:10 -04:00
|
|
|
|
2010-09-02 20:22:42 -04:00
|
|
|
<!-- Destroy the drag and cancel the session. -->
|
|
|
|
|
<request name="destroy" type="destructor"/>
|
|
|
|
|
|
|
|
|
|
<!-- Sent when a target accepts pointer_focus or motion events.
|
|
|
|
|
If a target does not accept any of the offered types, type is
|
|
|
|
|
NULL -->
|
|
|
|
|
<event name="target">
|
|
|
|
|
<arg name="mime_type" type="string"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
|
|
|
|
<!-- Sent when the drag is finished. The final mime type is that
|
|
|
|
|
of the last target event. If that was NULL, no drag target
|
|
|
|
|
was valid when the drag finished, fd is undefined and the
|
|
|
|
|
source should not send data. The event is also sent in case
|
|
|
|
|
a drag source tries to activate a drag after the grab was
|
|
|
|
|
released, in which case mime_type will also be NULL. -->
|
|
|
|
|
<event name="finish">
|
|
|
|
|
<arg name="fd" type="fd"/>
|
|
|
|
|
</event>
|
2010-11-30 15:10:26 -05:00
|
|
|
|
|
|
|
|
<event name="reject"/>
|
2010-09-02 20:22:42 -04:00
|
|
|
</interface>
|
2010-08-17 21:23:10 -04:00
|
|
|
|
2010-09-02 20:22:42 -04:00
|
|
|
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_drag_offer" version="1">
|
2010-09-02 20:22:42 -04:00
|
|
|
<!-- Call to accept the offer of the given type -->
|
2010-08-17 21:23:10 -04:00
|
|
|
<request name="accept">
|
2010-09-02 20:22:42 -04:00
|
|
|
<arg name="time" type="uint"/>
|
2010-08-17 21:23:10 -04:00
|
|
|
<arg name="type" type="string"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2010-09-02 20:22:42 -04:00
|
|
|
<!-- Called to initiate the drag finish sequence. Sends the pipe
|
|
|
|
|
fd to the compositor, which forwards it to the source in the
|
|
|
|
|
'finish' event -->
|
2010-08-27 20:29:56 -04:00
|
|
|
<request name="receive">
|
|
|
|
|
<arg name="fd" type="fd"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2010-11-30 15:10:26 -05:00
|
|
|
<!-- Called to reject a drop -->
|
|
|
|
|
<request name="reject"/>
|
|
|
|
|
|
2010-09-02 20:22:42 -04:00
|
|
|
<!-- Sent before the pointer_focus event to announce the types
|
|
|
|
|
offered. One event per offered mime type. -->
|
|
|
|
|
<event name="offer">
|
|
|
|
|
<arg name="type" type="string"/>
|
2010-08-17 21:23:10 -04:00
|
|
|
</event>
|
|
|
|
|
|
2010-09-02 20:22:42 -04:00
|
|
|
<!-- Similar to device::pointer_focus. Sent to potential target
|
|
|
|
|
surfaces to offer drag data. If the device leaves the
|
|
|
|
|
window, the drag stops or the originator cancels the drag,
|
|
|
|
|
this event is sent with the NULL surface, at which point the
|
|
|
|
|
drag object may no longer be valid. -->
|
2010-08-17 21:23:10 -04:00
|
|
|
<event name="pointer_focus">
|
|
|
|
|
<arg name="time" type="uint"/>
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
2010-08-17 21:23:10 -04:00
|
|
|
<arg name="x" type="int"/>
|
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
|
<arg name="surface_x" type="int"/>
|
|
|
|
|
<arg name="surface_y" type="int"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
|
|
|
|
<!-- Similar to device::motion. Sent to potential target surfaces
|
2010-11-29 21:05:26 +02:00
|
|
|
as the drag pointer moves around in the surface. -->
|
2010-08-17 21:23:10 -04:00
|
|
|
<event name="motion">
|
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
|
<arg name="surface_x" type="int"/>
|
|
|
|
|
<arg name="surface_y" type="int"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
2010-09-02 20:22:42 -04:00
|
|
|
<!-- Sent to indicate that the drag is finishing. The last
|
|
|
|
|
motion/pointer_focus event gives the location of the drop.
|
|
|
|
|
Target must respond with the 'receive' request, which sends
|
|
|
|
|
an fd to the source for writing the drag data. -->
|
2010-08-27 20:29:56 -04:00
|
|
|
<event name="drop"/>
|
2010-08-17 21:23:10 -04:00
|
|
|
</interface>
|
2010-08-03 09:26:44 -04:00
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
|
|
|
|
|
<!-- A surface. This is an image that is displayed on the screen.
|
|
|
|
|
It has a location, size and pixel contents. Similar to a window. -->
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_surface" version="1">
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Deletes the surface and invalidates its object id. -->
|
2010-09-02 20:22:42 -04:00
|
|
|
<request name="destroy" type="destructor"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
|
2010-12-17 09:53:12 -05:00
|
|
|
<!-- Copy the contents of a buffer into this surface. The x and y
|
|
|
|
|
arguments specify the location of the new buffers upper left
|
|
|
|
|
corner, relative to the old buffers upper left corner. -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<request name="attach">
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="buffer" type="object" interface="wl_buffer"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
<arg name="x" type="int"/>
|
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2011-03-07 15:05:27 +01:00
|
|
|
<!-- After attaching a new buffer, this request is used to
|
|
|
|
|
describe the regions where the new buffer is different from
|
|
|
|
|
the previous buffer and needs to be repainted. Coordinates
|
|
|
|
|
are relative to the new buffer. -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<request name="damage">
|
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
|
<arg name="width" type="int"/>
|
|
|
|
|
<arg name="height" type="int"/>
|
|
|
|
|
</request>
|
|
|
|
|
</interface>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
|
|
|
|
|
<!-- A group of keyboards and pointer devices (mice, for
|
|
|
|
|
example). This object is published as a global during start up,
|
|
|
|
|
or when such a device is hot plugged. A input_device group
|
|
|
|
|
typically has a pointer and maintains a keyboard_focus and a
|
|
|
|
|
pointer_focus. -->
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_input_device" version="1">
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Set the pointer's image. This request only takes effect if
|
|
|
|
|
the pointer focus for this device is one of the requesting
|
|
|
|
|
clients surfaces. -->
|
2010-08-16 10:38:29 -04:00
|
|
|
<request name="attach">
|
2010-09-14 15:39:45 -04:00
|
|
|
<arg name="time" type="uint"/>
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="buffer" type="object" interface="wl_buffer"/>
|
2010-08-16 10:38:29 -04:00
|
|
|
<arg name="hotspot_x" type="int"/>
|
|
|
|
|
<arg name="hotspot_y" type="int"/>
|
|
|
|
|
</request>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Notification of pointer location change.
|
|
|
|
|
x,y are the absolute location on the screen.
|
|
|
|
|
surface_[xy] are the location relative to the focused surface. -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<event name="motion">
|
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
|
<arg name="x" type="int"/>
|
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
|
<arg name="surface_x" type="int"/>
|
|
|
|
|
<arg name="surface_y" type="int"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Mouse button click and release notifications. The location
|
|
|
|
|
of the click is given by the last motion or pointer_focus
|
|
|
|
|
event. -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<event name="button">
|
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
|
<arg name="button" type="uint"/>
|
|
|
|
|
<arg name="state" type="uint"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Keyboard press. -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<event name="key">
|
|
|
|
|
<arg name="time" type="uint"/>
|
|
|
|
|
<arg name="key" type="uint"/>
|
|
|
|
|
<arg name="state" type="uint"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- Notification that this input device's pointer is focused on
|
|
|
|
|
certain surface. When an input_device enters a surface, the
|
|
|
|
|
pointer image is undefined and a client should respond to
|
|
|
|
|
this event by setting an apropriate pointer image. -->
|
2010-08-03 09:26:44 -04:00
|
|
|
<event name="pointer_focus">
|
|
|
|
|
<arg name="time" type="uint"/>
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
2010-08-06 15:12:22 -04:00
|
|
|
<arg name="x" type="int"/>
|
|
|
|
|
<arg name="y" type="int"/>
|
|
|
|
|
<arg name="surface_x" type="int"/>
|
|
|
|
|
<arg name="surface_y" type="int"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
</event>
|
|
|
|
|
|
|
|
|
|
<event name="keyboard_focus">
|
|
|
|
|
<arg name="time" type="uint"/>
|
2011-04-18 10:24:11 -04:00
|
|
|
<arg name="surface" type="object" interface="wl_surface"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
<arg name="keys" type="array"/>
|
|
|
|
|
</event>
|
|
|
|
|
</interface>
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
|
|
|
|
|
<!-- An output describes part of the compositor geometry. The
|
|
|
|
|
compositor work in the 'compositor coordinate system' and an
|
|
|
|
|
output corresponds to rectangular area in that space that is
|
|
|
|
|
actually visible. This typically corresponds to a monitor that
|
|
|
|
|
displays part of the compositor space. This object is
|
|
|
|
|
published as global during start up, or when a screen is hot
|
|
|
|
|
plugged. -->
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_output" version="1">
|
2011-06-20 20:34:55 -04:00
|
|
|
|
|
|
|
|
<enum name="subpixel">
|
|
|
|
|
<entry name="unknown" value="0"/>
|
|
|
|
|
<entry name="none" value="1"/>
|
|
|
|
|
<entry name="horizontal_rgb" value="2"/>
|
|
|
|
|
<entry name="horizontal_bgr" value="3"/>
|
|
|
|
|
<entry name="vertical_rgb" value="4"/>
|
|
|
|
|
<entry name="vertical_bgr" value="5"/>
|
|
|
|
|
</enum>
|
|
|
|
|
|
2010-08-03 09:26:44 -04:00
|
|
|
<event name="geometry">
|
2010-12-01 20:10:10 -05:00
|
|
|
<arg name="x" type="int"/>
|
|
|
|
|
<arg name="y" type="int"/>
|
2011-06-20 20:34:55 -04:00
|
|
|
<arg name="physical_width" type="int"/>
|
|
|
|
|
<arg name="physical_height" type="int"/>
|
|
|
|
|
<arg name="subpixel" type="int"/>
|
|
|
|
|
<arg name="make" type="string"/>
|
|
|
|
|
<arg name="model" type="string"/>
|
|
|
|
|
</event>
|
|
|
|
|
|
|
|
|
|
<!-- Values for the flags bitfield of the mode event. -->
|
|
|
|
|
<enum name="mode">
|
|
|
|
|
<entry name="current" value="0x1"/>
|
|
|
|
|
<entry name="preferred" value="0x2"/>
|
|
|
|
|
</enum>
|
|
|
|
|
|
|
|
|
|
<event name="mode">
|
|
|
|
|
<arg name="flags" type="uint"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
<arg name="width" type="int"/>
|
|
|
|
|
<arg name="height" type="int"/>
|
2011-06-20 20:34:55 -04:00
|
|
|
<arg name="refresh" type="int"/>
|
2010-08-03 09:26:44 -04:00
|
|
|
</event>
|
|
|
|
|
</interface>
|
|
|
|
|
|
|
|
|
|
|
2010-11-29 21:05:26 +02:00
|
|
|
<!-- A visual is the pixel format. The different visuals are
|
|
|
|
|
currently only identified by the order they are advertised by
|
|
|
|
|
the 'global' events. We need something better. -->
|
2011-04-18 10:24:11 -04:00
|
|
|
<interface name="wl_visual" version="1"/>
|
2010-11-29 21:05:26 +02:00
|
|
|
|
|
|
|
|
</protocol>
|