Wayland++ 1.0.0
C++ Bindings for Wayland
Loading...
Searching...
No Matches
wayland::server::zwp_linux_explicit_synchronization_v1_t Class Reference

protocol for providing explicit synchronization More...

#include <wayland-server-protocol-unstable.hpp>

Public Member Functions

std::function< void()> & on_destroy ()
 destroy explicit synchronization factory object
 
std::function< void(zwp_linux_surface_synchronization_v1_t, surface_t)> & on_get_synchronization ()
 extend surface interface for explicit synchronization
 
void post_synchronization_exists (std::string const &msg)
 Post error: the surface already has a synchronization object associated.
 
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

protocol for providing explicit synchronization

This global is a factory interface, allowing clients to request explicit synchronization for buffers on a per-surface basis.

See zwp_linux_surface_synchronization_v1 for more information.

This interface is derived from Chromium's zcr_linux_explicit_synchronization_v1.

Warning! The protocol described in this file is experimental and backward incompatible changes may be made. Backward compatible changes may be added together with the corresponding interface version bump. Backward incompatible changes are done by bumping the version number in the protocol and interface names and resetting the interface version. Once the protocol is to be declared stable, the 'z' prefix and the version number in the protocol and interface names are removed and the interface version number is reset.

Definition at line 2349 of file wayland-server-protocol-unstable.hpp.

Member Function Documentation

◆ get_class()

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.

◆ get_client()

client_t wayland::server::resource_t::get_client ( ) const
inherited

Get the associated client

Returns
the client that owns the resource.

◆ get_id()

uint32_t wayland::server::resource_t::get_id ( ) const
inherited

Get the internal ID of the resource

Returns
the internal ID of the resource

◆ get_version()

unsigned int wayland::server::resource_t::get_version ( ) const
inherited

Get interface version

Returns
Interface version this resource has been constructed with.

◆ on_destroy()

std::function< void()> & zwp_linux_explicit_synchronization_v1_t::on_destroy ( )

destroy explicit synchronization factory object

Destroy this explicit synchronization factory object. Other objects, including zwp_linux_surface_synchronization_v1 objects created by this factory, shall not be affected by this request.

Definition at line 5198 of file wayland-server-protocol-unstable.cpp.

◆ on_get_synchronization()

std::function< void(zwp_linux_surface_synchronization_v1_t, surface_t)> & zwp_linux_explicit_synchronization_v1_t::on_get_synchronization ( )

extend surface interface for explicit synchronization

Parameters
idthe new synchronization interface id
surfacethe surface

Instantiate an interface extension for the given wl_surface to provide explicit synchronization.

If the given wl_surface already has an explicit synchronization object associated, the synchronization_exists protocol error is raised.

Graphics APIs, like EGL or Vulkan, that manage the buffer queue and commits of a wl_surface themselves, are likely to be using this extension internally. If a client is using such an API for a wl_surface, it should not directly use this extension on that surface, to avoid raising a synchronization_exists protocol error.

Definition at line 5204 of file wayland-server-protocol-unstable.cpp.

◆ post_no_memory()

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.

◆ post_synchronization_exists()

void zwp_linux_explicit_synchronization_v1_t::post_synchronization_exists ( std::string const & msg)

Post error: the surface already has a synchronization object associated.

Definition at line 5210 of file wayland-server-protocol-unstable.cpp.

◆ proxy_has_object()

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

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