summaryrefslogtreecommitdiffstats
path: root/protocol/wayland.xml
Commit message (Collapse)AuthorAgeFilesLines
* protocol: Fix build1.4Jasper St. Pierre2014-01-311-3/+4
| | | | | | "data" is the name of the void* argument in the implementation. While we probably shouldn't use such an easily-collidable name, just rename the callback's argument to callback_data for now.
* protocol: Fix documentation for the parameter of wl_callbackJasper St. Pierre2014-01-311-1/+5
| | | | | | The parameter here is an opaque integer, rather than the event serial. The "frame" callback uses this to pass the current time of day in milliseconds.
* protocol: Fix the name of the registry argumentJasper St. Pierre2014-01-311-1/+1
| | | | A simple copy-paste typo.
* protocol: Clarify semantics of wl_subsurface.set_positionJonas Ådahl2014-01-191-0/+4
| | | | | | | | Make it clear that multiple requests before commit are allowed and how it is handled. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
* protocol: Clarify semantics of sub-surface placement requestsJonas Ådahl2014-01-191-2/+3
| | | | | | | | Clarify some semantics of wl_subsurface.place_below and wl_subsurface.place_below that were not specified. Signed-off-by: Jonas Ådahl <jadahl@gmail.com> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
* protocol: add sub-surfaces to the corePekka Paalanen2013-11-151-0/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The sub-surface protocol was originally committed into Weston on May 10th, 2013, in commit 2396aec6842c709a714f3825dbad9fd88478f2e6. The design for the protocol had started in the beginning of December 2012. I think it is high time to move this into the core now. This patch copies the sub-surface protocol as it was in Weston on Nov 15th, 2013, into Wayland. Weston gets a patch to remove the protocol from there. Sub-surface is a wl_surface role. You create a wl_surface as usual, and assign it the sub-surface role and a parent wl_surface. Sub-surfaces are an integral part of the parent surface, and stay glued to the parent. For window management, a window is the union of the top-level wl_surface and all its sub-surfaces. Sub-surfaces are not clipped to the parent, and the union of the surface tree can be larger than the (top-level) wl_surface at its root. The representative use case for sub-surfaces is a video player window. When the video content is given its own wl_surface, there is no need to modify the video frame contents after decoding or copy them into a whole window sized buffer before submitting it to the compositor. This allows efficient, zero-copy video presentation paths, where video decoding hardware produces a (YUV) buffer, which eventually ends up in a (YUV-capable) hardware overlay and is scanned out directly. This can also be used for zero-copy presentation of windowed OpenGL content, where the OpenGL rendering engine does not need to draw or avoid window decorations. Sub-surfaces allow mixing different buffer types into the same window, e.g. software-rendered decorations in wl_shm buffers, and live content in EGL-based buffers. However, the sub-surface extension does not offer clipping or scaling facilities, or accurate presentation timing. Those are topics for additional extensions. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
* protocol: Fix typo in documentation1.3José Bollo2013-10-111-1/+1
|
* protocol: Add release requests for wl_pointer, wl_keyboard, and wl_touchKristian Høgsberg2013-08-301-4/+16
| | | | | | | | | | | We missed destroy requests in the 1.0 protocol and since the scanner generates local-only *_destroy requests in that case we can't add destroy requests without breaking protocol. A client needs to verify that the server provides a version 3 seat to use the protocol destructor so the name needs to be something else than wl_*_destroy. v2 (Rob Bradford): Rebased, bumped the protocol versions and added since attributes to the requests.
* protocol: Improve a bit of grammar for wl_surface::attach descriptionBryce W. Harrington2013-08-121-2/+2
| | | | Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
* protocol: Fix pluralization of user in popup_done descriptionBryce W. Harrington2013-08-081-1/+1
| | | | Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
* protocol: Improve grammar for set class descriptionBryce W. Harrington2013-08-081-3/+3
| | | | Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
* protocol: Add missing d to 'x an y'Bryce W. Harrington2013-08-081-2/+2
| | | | Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
* protocol: Fix typo by removing a redundant 'a'Bryce W. Harrington2013-08-081-1/+1
| | | | Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
* protocol: Copy missing pixel formats from wl_drm to wl_shmTomeu Vizoso2013-07-291-1/+64
|
* protocol: add no_keymap format to keymap formatsRob Bradford2013-06-281-0/+2
| | | | | | | | This format is used to specify that the key button events received are not in relation to any key map and that the codes should be interpreted directly. v2: Use zero for the no keymap enum value and enhance the documentation for the enum entry.
* protocol: Add missing since attribute for name event on wl_seatRob Bradford2013-06-141-1/+1
| | | | This event was added in version 2 of the protocol.
* protocol: Move new name event below existing requests and events and version itKristian Høgsberg2013-06-051-9/+12
| | | | | Missed v2 of Robs patch that already did this based on feedback from Ander and Daniel.
* protocol: Add a name event to give seat nameRob Bradford2013-06-051-1/+10
| | | | | This provides the ability for a client to differentiate events from different seats in a multiple seat environment.
* protocol: Modes are specified in HW pixelsAlexander Larsson2013-05-281-9/+21
| | | | | | | | | | | | | | | | | | | | | | Modes are mainly meant to be used in coordination with fullscreen in DRIVER mode, by e.g. games. For such games what they generally want is to match some hardware mode and resize their window for that. We don't really need to complicate this with the scaling. So, we keep the resolutions in HW pixels, and drop the SCALED flag (as it is now useless). This lets you just create e.g an 800x600 buffer of scale 1 and fullscreen that, ignoring the output scaling factor (although you can of course also respect it and create a 400x300 surface at scale 2). Conceptually the mode change is treated like a scaling which overrides the normal output scale. The only complexity is the FILL mode where it can happen that the user specifies a buffer of the same size as the screen, but the output has scale 2 and the buffer scale 1. Just scanning out this buffer will work, but effectively this is a downscaling operation, as the "real" size of the surface in pels is twice the size of the output. We solve this by allowing FILL to downscale (but still not upscale).
* protocol: Use signed int for scale valuesAlexander Larsson2013-05-281-2/+2
| | | | | We usually use signed ints for things like this, to avoid issues C sign coersion.
* protocol: Support scaled outputs and surfacesAlexander Larsson2013-05-221-14/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the wl_surface.set_buffer_scale request, and a wl_output.scale event. These together lets us support automatic upscaling of "old" clients on very high resolution monitors, while allowing "new" clients to take advantage of this to render at the higher resolution when the surface is displayed on the scaled output. It is similar to set_buffer_transform in that the buffer is stored in a transformed pixels (in this case scaled). This means that if an output is scaled we can directly use the pre-scaled buffer with additional data, rather than having to scale it. Additionally this adds a "scaled" flag to the wl_output.mode flags so that clients know which resolutions are native and which are scaled. Also, in places where the documentation was previously not clear as to what coordinate system was used this was fleshed out. It also adds a scaling_factor event to wl_output that specifies the scaling of an output. This is meant to be used for outputs with a very high DPI to tell the client that this particular output has subpixel precision. Coordinates in other parts of the protocol, like input events, relative window positioning and output positioning are still in the compositor space rather than the scaled space. However, input has subpixel precision so you can still get input at full resolution. This setup means global properties like mouse acceleration/speed, pointer size, monitor geometry, etc can be specified in a "mostly similar" resolution even on a multimonitor setup where some monitors are low dpi and some are e.g. retina-class outputs.
* protocol: Allow output changes to be treated atomicallyAlexander Larsson2013-05-221-1/+11
| | | | | | This add a wl_output.done event which is send after every group of events caused by some property change. This allows clients to treat changes touching multiple events in an atomic fashion.
* protocol: revert hotspot_x/y in set_cursor back to int1.1Peter Hutterer2013-04-181-2/+2
| | | | | | copy/paste error introduced in 9c0357af6ee42c318ce37b458ae7bdb7d51316cb Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* protocol: Make it clear that returned "one-shot" objects are destroyedRob Bradford2013-04-181-0/+8
| | | | | The objects returned by the frame and sync request are destroyed by the compositor after the "done" event on the wl_callback interface is fired.
* protocol: input documentation fixesPeter Hutterer2013-04-041-4/+4
| | | | | | | | | | Fix summary for wl_touch::motion, extend summary for wl_touch::down to match up/motion a bit better. Fix a typo in wl_touch, and claim that it's zero or more update events, not one or more. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* protocol: fix two protocol description 'typos'Peter Hutterer2013-04-031-4/+4
| | | | | | | Remove "mice, for example", it's described in the wl_pointer interface in detail. And remove space before the full stop. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* protocol: document wl_pointer, wl_keyboard, wl_touchPeter Hutterer2013-04-031-21/+27
| | | | | | Most of this should be clear, but let's spell a few things out. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* protocol: use "summary", not "description" for xkb_v1 formatPeter Hutterer2013-04-031-1/+1
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* docs: Document granularity of timestampsMatthias Clasen2013-04-011-8/+12
| | | | This information is necessary to make any use of these fields.
* docs: Remove mention of touch focusKristian Høgsberg2013-04-011-2/+1
| | | | There is no focused surface for a touch screen.
* docs: Improve wl_region protocol docsMatthias Clasen2013-04-011-4/+7
| | | | | Just cosmetic changes, a few missing periods, and ID was not capitalized.
* docs: Improve the wl_output protocol docsMatthias Clasen2013-04-011-6/+18
| | | | Some descriptions were missing.
* docs: Improve wl_touch protocol docsMatthias Clasen2013-04-011-9/+27
| | | | Some descriptions were missing here.
* docs: Improve wl_keyboard protocol docsMatthias Clasen2013-04-011-6/+19
| | | | Some descriptions were missing here.
* docs: Improve wl_pointer protocol docsMatthias Clasen2013-04-011-10/+33
| | | | Some descriptions were missing here.
* docs: Improve the wl_seat protocol docsMatthias Clasen2013-04-011-13/+22
| | | | | Expand the main description and tell if requests don't have an effect.
* docs: Improve wl_surface protocol docsMatthias Clasen2013-04-011-52/+67
| | | | | Use NULL consistently. And add some more information in a few places.
* docs: Improve wl_shell/wl_shell_surface docsMatthias Clasen2013-04-011-84/+149
| | | | Add missing summaries, expand descriptions.
* docs: Improve the wl_data_* procol docsMatthias Clasen2013-04-011-30/+65
| | | | | | Add a few missing summaries and descriptions, spell out file descriptor, use hyphens in drag-and-drop, don't use hyphens in 'mime type', and reword a few things.
* docs: Improve wl_shm and wl_shm_pool protocol docsMatthias Clasen2013-04-011-24/+49
| | | | Reword some paragraphs, and spell out 'file descriptor'.
* docs: Improve wl_callback protocol docsMatthias Clasen2013-04-011-1/+8
| | | | Add some information about wl_callback and its done event.
* docs: Improve the wl_registry protocol docsMatthias Clasen2013-04-011-17/+25
| | | | Reword a few things, and add some details.
* docs: Improve wl_display protocol docsMatthias Clasen2013-04-011-8/+9
| | | | | This adds a bit of information about in-order event delivery, removes extraneous formatting, and adds a missing period.
* protocol: remove implicit attach semanticsPekka Paalanen2013-03-191-11/+8
| | | | | | | | | | | | | | | | | | | | | | To match the Weston commit e7144fd175d1d68b91aa0cec7ab63381b79385a9: Author: Kristian Høgsberg <krh@bitplanet.net> Date: Mon Mar 4 12:11:41 2013 -0500 compositor: Only send release event in response to wl_surface.attach Remove the implicit attach semantics from wl_surface.commit and .attach. Before, if you did this on a wl_surface: attach, commit, commit, you would receive wl_buffer.release for both commits. After this change, you will only receive wl_buffer.release for the first commit. To get a second release, the same buffer must be attached again. There is no need for the implicit attach on the second commit. If the compositor needs the wl_buffer for repainting, it will not release it to begin with. If the compositor does not need to keep the wl_buffer around for repainting, it will not need it for a new commit either. Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
* protocol: Add a wl_surface request for setting buffer transformationAnder Conselvan de Oliveira2012-11-271-3/+31
| | | | | | | This request allows a client to render its contents according to the output transform, enabling the compositor to use optimizations such as overlays, hardware cursors, scan out of a client buffer for fullscreen surface, etc, even if the output is rotated.
* doc: Fix typosTiago Vignatti2012-11-231-1/+1
| | | | Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
* protocol: Fix copy and paste summaryKristian Høgsberg2012-11-191-1/+1
|
* protocol: Add summary description for wl_data_device_managerKristian Høgsberg2012-11-191-0/+8
|
* wayland: Add protocol documentation for various interfacesKristian Høgsberg2012-10-211-13/+94
|
* protocol: try to clarify wl_buffer docPekka Paalanen2012-10-161-14/+12
| | | | | | | | | | | | | | | | | | | | | Fix few typos in wl_buffer description. Mention backing storage in wl_buffer.destroy. Try to clarify the wl_buffer.release semantics by not explaining what *might* happen. It is important to not suggest, that if release does not come before frame callback, it will not come before attaching a new buffer to the surface. We want to allow the following scenario: The compositor is able to texture from wl_buffers directly, but it also keeps a copy of the surface contents. The copy is updated when the compositor is idle, to avoid the performance hit on wl_surface.attach/commit. When the copy completes some time later, the server sends the release event. If the client has not yet allocated a second buffer (e.g. it updates rarely), it can reuse the old buffer. Reported-by: John Kåre Alsaker <john.kare.alsaker@gmail.com> Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>