wayland::server::zwp_linux_explicit_synchronization_v1_t(3)

NAME
wayland::server::zwp_linux_explicit_synchronization_v1_t - protocol for providing explicit synchronization

SYNOPSIS

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

Inherits wayland::server::resource_t.

  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

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

  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
    id the new synchronization interface id
    surface the 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.

  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.

  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.

  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.