Wayland++
0.2.6
C++ Bindings for Wayland
|
group of input devices More...
#include <wayland-client-protocol.hpp>
Public Types | |
enum | wrapper_type { wrapper_type::standard, wrapper_type::display, wrapper_type::foreign, wrapper_type::proxy_wrapper } |
Public Member Functions | |
pointer_t | get_pointer () |
return pointer object More... | |
keyboard_t | get_keyboard () |
return keyboard object More... | |
touch_t | get_touch () |
return touch object More... | |
void | release () |
release the seat object More... | |
bool | can_release () const |
Check whether the release function is available with the currently bound version of the protocol. More... | |
std::function< void(seat_capability)> & | on_capabilities () |
seat capabilities changed More... | |
std::function< void(std::string)> & | on_name () |
unique identifier for this seat 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 | get_pointer_since_version = 1 |
Minimum protocol version required for the get_pointer function. More... | |
static constexpr std::uint32_t | get_keyboard_since_version = 1 |
Minimum protocol version required for the get_keyboard function. More... | |
static constexpr std::uint32_t | get_touch_since_version = 1 |
Minimum protocol version required for the get_touch function. More... | |
static constexpr std::uint32_t | release_since_version = 5 |
Minimum protocol version required for the release function. More... | |
group of input devices
A seat is a group of keyboards, pointer and touch devices. This object is published as a global during start up, or when such a device is hot plugged. A seat typically has a pointer and maintains a keyboard focus and a pointer focus.
Definition at line 2334 of file wayland-client-protocol.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.
bool seat_t::can_release | ( | ) | const |
Check whether the release function is available with the currently bound version of the protocol.
Definition at line 2778 of file wayland-client-protocol.cpp.
|
inherited |
Get the interface name (class) of a proxy object.
|
inherited |
keyboard_t seat_t::get_keyboard | ( | ) |
return keyboard object
The ID provided will be initialized to the wl_keyboard interface for this seat.
This request only takes effect if the seat has the keyboard capability, or has had the keyboard capability in the past. It is a protocol violation to issue this request on a seat that has never had the keyboard capability.
Definition at line 2762 of file wayland-client-protocol.cpp.
pointer_t seat_t::get_pointer | ( | ) |
return pointer object
The ID provided will be initialized to the wl_pointer interface for this seat.
This request only takes effect if the seat has the pointer capability, or has had the pointer capability in the past. It is a protocol violation to issue this request on a seat that has never had the pointer capability.
Definition at line 2756 of file wayland-client-protocol.cpp.
touch_t seat_t::get_touch | ( | ) |
return touch object
The ID provided will be initialized to the wl_touch interface for this seat.
This request only takes effect if the seat has the touch capability, or has had the touch capability in the past. It is a protocol violation to issue this request on a seat that has never had the touch capability.
Definition at line 2768 of file wayland-client-protocol.cpp.
|
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(seat_capability)> & seat_t::on_capabilities | ( | ) |
seat capabilities changed
capabilities | capabilities of the seat |
This is emitted whenever a seat gains or loses the pointer, keyboard or touch capabilities. The argument is a capability enum containing the complete set of capabilities this seat has.
When the pointer capability is added, a client may create a wl_pointer object using the wl_seat.get_pointer request. This object will receive pointer events until the capability is removed in the future.
When the pointer capability is removed, a client should destroy the wl_pointer objects associated with the seat where the capability was removed, using the wl_pointer.release request. No further pointer events will be received on these objects.
In some compositors, if a seat regains the pointer capability and a client has a previously obtained wl_pointer object of version 4 or less, that object may start sending pointer events again. This behavior is considered a misinterpretation of the intended behavior and must not be relied upon by the client. wl_pointer objects of version 5 or later must not send events if created before the most recent event notifying the client of an added pointer capability.
The above behavior also applies to wl_keyboard and wl_touch with the keyboard and touch capabilities, respectively.
Definition at line 2783 of file wayland-client-protocol.cpp.
std::function< void(std::string)> & seat_t::on_name | ( | ) |
unique identifier for this seat
name | seat identifier |
In a multiseat configuration this can be used by the client to help identify which physical devices the seat represents. Based on the seat configuration used by the compositor.
Definition at line 2788 of file wayland-client-protocol.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 seat_t::release | ( | ) |
release the seat object
Using this request a client can tell the server that it is not going to use the seat object anymore.
Definition at line 2774 of file wayland-client-protocol.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().
|
staticconstexpr |
Minimum protocol version required for the get_keyboard function.
Definition at line 2392 of file wayland-client-protocol.hpp.
|
staticconstexpr |
Minimum protocol version required for the get_pointer function.
Definition at line 2374 of file wayland-client-protocol.hpp.
|
staticconstexpr |
Minimum protocol version required for the get_touch function.
Definition at line 2410 of file wayland-client-protocol.hpp.
|
staticconstexpr |
Minimum protocol version required for the release function.
Definition at line 2422 of file wayland-client-protocol.hpp.