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>`

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 2348 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

  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.

## 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:

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