wayland_server_subcompositor_t - Man Page
sub-surface compositing
Synopsis
#include <wayland-server-protocol.hpp>
Inherits wayland::server::resource_t.
Public Member Functions
std::function< void()> & on_destroy ()
unbind from the subcompositor interface
std::function< void(subsurface_t, surface_t, surface_t)> & on_get_subsurface ()
give a surface the role sub-surface
void post_bad_surface (std::string const &msg)
Post error: the to-be sub-surface is invalid.
bool proxy_has_object () const
Check whether this wrapper actually wraps an object.
void post_no_memory () const
uint32_t get_id () const
client_t get_client () const
unsigned int get_version () const
std::string get_class ()
Detailed Description
sub-surface compositing
The global interface exposing sub-surface compositing capabilities. A wl_surface, that has sub-surfaces associated, is called the parent surface. Sub-surfaces can be arbitrarily nested and create a tree of sub-surfaces.
The root surface in a tree of sub-surfaces is the main surface. The main surface cannot be a sub-surface, because sub-surfaces must always have a parent.
A main surface with its sub-surfaces forms a (compound) window. For window management purposes, this set of wl_surface objects is to be considered as a single window, and it should also behave as such.
The aim of sub-surfaces is to offload some of the compositing work within a window from clients to the compositor. A prime example is a video player with decorations and video in separate wl_surface objects. This should allow the compositor to pass YUV video buffer processing to dedicated overlay hardware when possible.
Definition at line 4128 of file wayland-server-protocol.hpp.
Member Function Documentation
std::string wayland::server::resource_t::get_class () [inherited]
Retrieve the interface name (class) of a resource object.
- Returns
Interface name of the resource object.
client_t wayland::server::resource_t::get_client () const [inherited]
Get the associated client
- Returns
the client that owns the resource.
uint32_t wayland::server::resource_t::get_id () const [inherited]
Get the internal ID of the resource
- Returns
the internal ID of the resource
unsigned int wayland::server::resource_t::get_version () const [inherited]
Get interface version
- Returns
Interface version this resource has been constructed with.
std::function< void()> & subcompositor_t::on_destroy ()
unbind from the subcompositor interface Informs the server that the client will not be using this protocol object anymore. This does not affect any other objects, wl_subsurface objects included.
Definition at line 3097 of file wayland-server-protocol.cpp.
std::function< void(subsurface_t, surface_t, surface_t)> & subcompositor_t::on_get_subsurface ()
give a surface the role sub-surface
- Parameters
id the new sub-surface object ID
surface the surface to be turned into a sub-surface
parent the parent surface
Create a sub-surface interface for the given surface, and associate it with the given parent surface. This turns a plain wl_surface into a sub-surface.
The to-be sub-surface must not already have another role, and it must not have an existing wl_subsurface object. Otherwise a protocol error is raised.
Adding sub-surfaces to a parent is a double-buffered operation on the parent (see wl_surface.commit). The effect of adding a sub-surface becomes visible on the next time the state of the parent surface is applied.
This request modifies the behaviour of wl_surface.commit request on the sub-surface, see the documentation on wl_subsurface interface.
Definition at line 3103 of file wayland-server-protocol.cpp.
void subcompositor_t::post_bad_surface (std::string const & msg)
Post error: the to-be sub-surface is invalid.
Definition at line 3109 of file wayland-server-protocol.cpp.
void wayland::server::resource_t::post_no_memory () const [inherited]
Post 'not enough memory' error to the client
If the compositor has not enough memory to fulfill a certail request of the client, this function can be called to notify the client of this circumstance.
bool wayland::server::resource_t::proxy_has_object () const [inherited]
Check whether this wrapper actually wraps an object.
- Returns
true if there is an underlying object, false if this wrapper is empty
Author
Generated automatically by Doxygen for Wayland++ from the source code.