Wayland++
0.2.6
C++ Bindings for Wayland
|
decoration object for a toplevel surface More...
#include <wayland-client-protocol-unstable.hpp>
Public Types | |
enum | wrapper_type { wrapper_type::standard, wrapper_type::display, wrapper_type::foreign, wrapper_type::proxy_wrapper } |
Public Member Functions | |
void | set_mode (zxdg_toplevel_decoration_v1_mode mode) |
set the decoration mode More... | |
void | unset_mode () |
unset the decoration mode More... | |
std::function< void(zxdg_toplevel_decoration_v1_mode)> & | on_configure () |
suggest a surface change More... | |
uint32_t | get_id () const |
Get the id of a proxy object. More... | |
std::string | get_class () const |
Get the interface name (class) of a proxy object. More... | |
uint32_t | get_version () const |
Get the protocol object version of a proxy object. More... | |
wrapper_type | get_wrapper_type () const |
Get the type of a proxy object. More... | |
void | set_queue (event_queue_t queue) |
Assign a proxy to an event queue. More... | |
wl_proxy * | c_ptr () const |
Get a pointer to the underlying C struct. More... | |
bool | proxy_has_object () const |
Check whether this wrapper actually wraps an object. More... | |
operator bool () const | |
Check whether this wrapper actually wraps an object. More... | |
bool | operator== (const proxy_t &right) const |
Check whether two wrappers refer to the same object. More... | |
bool | operator!= (const proxy_t &right) const |
Check whether two wrappers refer to different objects. More... | |
void | proxy_release () |
Release the wrapped object (if any), making this an empty wrapper. More... | |
Static Public Attributes | |
static constexpr std::uint32_t | set_mode_since_version = 1 |
Minimum protocol version required for the set_mode function. More... | |
static constexpr std::uint32_t | unset_mode_since_version = 1 |
Minimum protocol version required for the unset_mode function. More... | |
decoration object for a toplevel surface
The decoration object allows the compositor to toggle server-side window decorations for a toplevel surface. The client can request to switch to another mode.
The xdg_toplevel_decoration object must be destroyed before its xdg_toplevel.
Definition at line 6320 of file wayland-client-protocol-unstable.hpp.
|
stronginherited |
Underlying wl_proxy type and properties of a proxy_t that affect construction, destruction, and event handling
Enumerator | |
---|---|
standard | C pointer is a standard type compatible with wl_proxy*. Events are dispatched and it is destructed when the proxy_t is destructed. User data is set. |
display | C pointer is a wl_display*. No events are dispatched, wl_display_disconnect is called when the proxy_t is destructed. User data is set. |
foreign | C pointer is a standard type compatible with wl_proxy*, but another library owns it and it should not be touched in a way that could affect the operation of the other library. No events are dispatched, wl_proxy_destroy is not called when the proxy_t is destructed, user data is not touched. Consequently, there is no reference counting for the proxy_t. Lifetime of such wrappers should preferably be short to minimize the chance that the owning library decides to destroy the wl_proxy. |
proxy_wrapper | C pointer is a wl_proxy* that was constructed with wl_proxy_create_wrapper. No events are dispatched, wl_proxy_wrapper_destroy is called when the proxy_t is destroyed. Reference counting is active. A reference to the proxy_t creating this proxy wrapper is held to extend its lifetime until after the proxy wrapper is destroyed. |
Definition at line 105 of file wayland-client.hpp.
|
inherited |
Get a pointer to the underlying C struct.
|
inherited |
Get the interface name (class) of a proxy object.
|
inherited |
|
inherited |
Get the protocol object version of a proxy object.
Gets the protocol object version of a proxy object, or 0 if the proxy was created with unversioned API.
A returned value of 0 means that no version information is available, so the caller must make safe assumptions about the object's real version.
display_t will always return version 0.
|
inlineinherited |
Get the type of a proxy object.
Definition at line 288 of file wayland-client.hpp.
std::function< void(zxdg_toplevel_decoration_v1_mode)> & zxdg_toplevel_decoration_v1_t::on_configure | ( | ) |
suggest a surface change
mode | the decoration mode |
The configure event asks the client to change its decoration mode. The configured state should not be applied immediately. Clients must send an ack_configure in response to this event. See xdg_surface.configure and xdg_surface.ack_configure for details.
A configure event can be sent at any time. The specified mode must be obeyed by the client.
Definition at line 8149 of file wayland-client-protocol-unstable.cpp.
|
inherited |
Check whether this wrapper actually wraps an object.
|
inherited |
Check whether two wrappers refer to different objects.
|
inherited |
Check whether two wrappers refer to the same object.
|
inherited |
Check whether this wrapper actually wraps an object.
|
inherited |
Release the wrapped object (if any), making this an empty wrapper.
Note that display_t instances cannot be released this way. Attempts to do so are ignored.
void zxdg_toplevel_decoration_v1_t::set_mode | ( | zxdg_toplevel_decoration_v1_mode | mode | ) |
set the decoration mode
mode | the decoration mode |
Set the toplevel surface decoration mode. This informs the compositor that the client prefers the provided decoration mode.
After requesting a decoration mode, the compositor will respond by emitting a xdg_surface.configure event. The client should then update its content, drawing it without decorations if the received mode is server-side decorations. The client must also acknowledge the configure when committing the new content (see xdg_surface.ack_configure).
The compositor can decide not to use the client's mode and enforce a different mode instead.
Clients whose decoration mode depend on the xdg_toplevel state may send a set_mode request in response to a xdg_surface.configure event and wait for the next xdg_surface.configure event to prevent unwanted state. Such clients are responsible for preventing configure loops and must make sure not to send multiple successive set_mode requests with the same decoration mode.
Definition at line 8139 of file wayland-client-protocol-unstable.cpp.
|
inherited |
Assign a proxy to an event queue.
queue | The event queue that will handle this proxy |
Assign proxy to event queue. Events coming from proxy will be queued in queue instead of the display's main queue.
See also: display_t::dispatch_queue().
void zxdg_toplevel_decoration_v1_t::unset_mode | ( | ) |
unset the decoration mode
Unset the toplevel surface decoration mode. This informs the compositor that the client doesn't prefer a particular decoration mode.
This request has the same semantics as set_mode.
Definition at line 8144 of file wayland-client-protocol-unstable.cpp.
|
staticconstexpr |
Minimum protocol version required for the set_mode function.
Definition at line 6370 of file wayland-client-protocol-unstable.hpp.
|
staticconstexpr |
Minimum protocol version required for the unset_mode function.
Definition at line 6384 of file wayland-client-protocol-unstable.hpp.