Loading...
Searching...
No Matches
wayland::shell_t Class Reference

create desktop-style surfaces More...

`#include <wayland-client-protocol.hpp>`

Inheritance diagram for wayland::shell_t:
[legend]
Collaboration diagram for wayland::shell_t:
[legend]

## Public Types

enum class | wrapper_type { standard , display , foreign , proxy_wrapper }

## Public Member Functions

shell_surface_t | get_shell_surface (surface_t const &surface)
| create a shell surface from a surface
uint32_t | get_id () const
| Get the id of a proxy object.
std::string | get_class () const
| Get the interface name (class) of a proxy object.
uint32_t | get_version () const
| Get the protocol object version of a proxy object.
wrapper_type | get_wrapper_type () const
| Get the type of a proxy object.
void | set_queue (event_queue_t queue)
| Assign a proxy to an event queue.
wl_proxy * | c_ptr () const
| Get a pointer to the underlying C struct.
bool | proxy_has_object () const
| Check whether this wrapper actually wraps an object.
| operator bool () const
| Check whether this wrapper actually wraps an object.
bool | operator== (const proxy_t &right) const
| Check whether two wrappers refer to the same object.
bool | operator!= (const proxy_t &right) const
| Check whether two wrappers refer to different objects.
void | proxy_release ()
| Release the wrapped object (if any), making this an empty wrapper.

## Static Public Attributes

static constexpr std::uint32_t | get_shell_surface_since_version = 1
| Minimum protocol version required for the get_shell_surface function.

## Detailed Description

create desktop-style surfaces

This interface is implemented by servers that provide desktop-style user interfaces.

It allows clients to associate a wl_shell_surface with a basic surface.

Note! This protocol is deprecated and not intended for production use. For desktop-style user interfaces, use xdg_shell. Compositors and clients should not implement this interface.

Examples
  egl.cpp, and shm.cpp.

Definition at line 1526 of file wayland-client-protocol.hpp.

## Member Enumeration Documentation

## wrapper_type

enum class wayland::proxy_t::wrapper_type

strong inherited

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 117 of file wayland-client.hpp.

## Member Function Documentation

## c_ptr()

wl_proxy * wayland::proxy_t::c_ptr | ( |  | ) | const

inherited

Get a pointer to the underlying C struct.

Returns
  The underlying wl_proxy wrapped by this proxy_t if it exists, otherwise an exception is thrown

## get_class()

std::string wayland::proxy_t::get_class | ( |  | ) | const

inherited

Get the interface name (class) of a proxy object.

Returns
  The interface name of the object associated with the proxy

## get_id()

uint32_t wayland::proxy_t::get_id | ( |  | ) | const

inherited

Get the id of a proxy object.

Returns
  The id the object associated with the proxy

## get_shell_surface()

shell_surface_t shell_t::get_shell_surface | ( | surface_t const & | surface | ) |

create a shell surface from a surface

Returns
  shell surface to create

Parameters

  surface | surface to be given the shell surface role

Create a shell surface for an existing surface. This gives the wl_surface the role of a shell surface. If the wl_surface already has another role, it raises a protocol error.

Only one shell surface can be associated with a given surface.

Examples
  egl.cpp, and shm.cpp.

Definition at line 2474 of file wayland-client-protocol.cpp.

## get_version()

uint32_t wayland::proxy_t::get_version | ( |  | ) | const

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.

Returns
  The protocol object version of the proxy or 0

## get_wrapper_type()

wrapper_type wayland::proxy_t::get_wrapper_type | ( |  | ) | const

inline inherited

Get the type of a proxy object.

Definition at line 303 of file wayland-client.hpp.

## operator bool()

wayland::proxy_t::operator bool | ( |  | ) | const

inherited

Check whether this wrapper actually wraps an object.

Returns
  true if there is an underlying object, false if this wrapper is empty

## operator!=()

bool wayland::proxy_t::operator!= | ( | const proxy_t & | right | ) | const

inherited

Check whether two wrappers refer to different objects.

## operator==()

bool wayland::proxy_t::operator== | ( | const proxy_t & | right | ) | const

inherited

Check whether two wrappers refer to the same object.

## proxy_has_object()

bool wayland::proxy_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

## proxy_release()

void wayland::proxy_t::proxy_release | ( |  | ) |

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.

Examples
  foreign_display.cpp.

## set_queue()

void wayland::proxy_t::set_queue | ( | event_queue_t | queue | ) |

inherited

Assign a proxy to an event queue.

Parameters

  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().

Examples
  proxy_wrapper.cpp.

## Member Data Documentation

## get_shell_surface_since_version

constexpr std::uint32_t wayland::shell_t::get_shell_surface_since_version = 1

static constexpr

Minimum protocol version required for the get_shell_surface function.

Definition at line 1563 of file wayland-client-protocol.hpp.

The documentation for this class was generated from the following files:

- obj-x86_64-linux-gnu/wayland-client-protocol.hpp
- obj-x86_64-linux-gnu/wayland-client-protocol.cpp
- obj-x86_64-linux-gnu/wayland-server-protocol.cpp