From 032b957698e03a3e6bb19dc051ecad1792da0385 Mon Sep 17 00:00:00 2001 From: Kristian Høgsberg Date: Wed, 18 Jan 2012 19:17:23 -0500 Subject: protocol: Convert comments to new documentation tags --- protocol/wayland.xml | 462 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 287 insertions(+), 175 deletions(-) diff --git a/protocol/wayland.xml b/protocol/wayland.xml index 8d91187..722da4e 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -27,12 +27,10 @@ THIS SOFTWARE. - - The core global object. This is a special singleton object. - It is used for internal wayland protocol features. + The core global object. This is a special singleton object. It + is used for internal wayland protocol features. @@ -43,17 +41,21 @@ - + + The sync request asks the server to invoke the 'done' request + on the provided wl_callback object. Since requests are + handled in-order, this can be used as a barrier to ensure all + previous requests have been handled. + - + + The error event is sent out when a fatal (non-recoverable) + error has occurred. + @@ -72,25 +74,33 @@ summary="server is out of memory"/> - + + 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. A client + can 'bind' to a global object by using the bind request. This + creates a client side handle that lets the object emit events + to the client and lets the client invoke requests on the + object. + - - + + Notify the client of removed global objects. + + - + + Server has deleted the id and client can now reuse it. + @@ -101,19 +111,26 @@ - - + + A compositor. This object is a singleton global. The + compositor is in charge of combining the contents of multiple + surfaces into one displayable output. + + + + Ask the compositor to create a new surface. + - + + Support for shared memory buffers. + + @@ -125,13 +142,16 @@ - + + 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 format describe the respective properties of the pixel + data contained in the buffer. + + @@ -145,36 +165,50 @@ - - - + + A buffer provides the content for a wl_surface. Buffers are + created through factory interfaces such as wl_drm, wl_shm or + similar. It has a width and a height and can be attached to a + wl_surface, but the mechnism by which a client provides and + updates the contents is defined by the buffer factory interface + + + + 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. + + - - + + + Destroy a buffer. This will invalidate the object id. + + - - + + + Sent when an attached buffer is no longer used by the compositor. + + - + + Indicate that the client can accept the given mime-type, or + NULL for not accepted. Use for feedback during drag and drop. + + @@ -186,39 +220,57 @@ - + + Sent immediately after creating the wl_data_offer object. One + event per offered mime type. + + - + + This request adds a mime-type to the set of mime-types + advertised to targets. Can be called several times to offer + multiple types. + - - + + + Destroy the data source. + + - + + Sent when a target accepts pointer_focus or motion events. If + a target does not accept any of the offered types, type is NULL. + + - + + Request for data from another client. Send the data as the + specified mime-type over the passed fd, then close the fd. + + - - + + + Another selection became active. + + + @@ -240,14 +292,17 @@ - + + The data_offer event introduces a new wl_data_offer object, + which will subsequently be used in either the + data_device.enter event (for drag and drop) or the + data_device.selection event (for selections). Immediately + following the data_device_data_offer event, the new data_offer + object will send out data_offer.offer events to describe the + mime-types it offers. + + @@ -269,16 +324,18 @@ - + + The selection event is sent out to notify the client of a new + wl_data_offer for the selection for this device. The + data_device.data_offer and the data_offer.offer events are + sent out immediately before this event to introduce the data + offer object. The selection event is sent to a client + immediately before receiving keyboard focus and when a new + selection is set while the client has keyboard focus. The + data_offer is valid until a new data_offer or NULL is received + or until the client loses keyboard focus. + @@ -301,12 +358,15 @@ - + + + An interface implemented by a wl_surface. On server side the + object is automatically destroyed when the related wl_surface is + destroyed. On client side, wl_shell_surface_destroy() must be + called before destroying the wl_surface object. + + @@ -327,51 +387,60 @@ - - - - - + + + Make the surface a toplevel window. + + + + + 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. + + - - - - + + + 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? + + + + + Popup surfaces. Will switch an implicit grab into + owner-events mode, and grab will continue after the implicit + grab ends (button released). Once the implicit grab is over, + the popup grab continues until the window is destroyed or a + mouse button is pressed in any other clients window. A click + in any of the clients surfaces is reported as normal, however, + clicks in other clients surfaces will be discarded and trigger + the callback. + + TODO: Grab keyboard too, maybe just terminate on any click + inside or outside the surface? + + @@ -380,83 +449,111 @@ - + + 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. + + - - + + + The popup_done event is sent out when a popup grab is broken, + that is, when the users clicks a surface that doesn't belong + to the client owning the popup surface. + + - - - - + + A surface. This is an image that is displayed on the screen. + It has a location, size and pixel contents. + + + + + Deletes the surface and invalidates its object id. + + - + + 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. + + - + + 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. + + - + + 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. + + - - - + + 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. + + + + Set the pointer's image. This request only takes effect if + the pointer focus for this device is one of the requesting + clients surfaces. + + - + + Notification of pointer location change. x,y are the absolute + location on the screen. surface_[xy] are the location + relative to the focused surface. + + @@ -464,27 +561,35 @@ - + + Mouse button click and release notifications. The location + of the click is given by the last motion or pointer_focus event. + + - + + A key was pressed or released. + + - + + 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. + + @@ -519,24 +624,31 @@ - - + + + Indicates the end of a contact point list. + + - - + + + Sent if the compositor decides the touch stream is a global + gesture. No further events are sent to the clients from that + particular gesture. + + - + + 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. + @@ -557,8 +669,8 @@ - + -- cgit v1.2.3