.TH "wayland::server::zwp_linux_explicit_synchronization_v1_t" 3 "Wed May 3 2023" "Version 1.0.0" "Wayland++" \" -*- nroff -*- .ad l .nh .SH NAME wayland::server::zwp_linux_explicit_synchronization_v1_t \- protocol for providing explicit synchronization .SH SYNOPSIS .br .PP .PP \fC#include \fP .PP Inherits wayland::server::resource_t\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "std::function< void()> & \fBon_destroy\fP ()" .br .RI "destroy explicit synchronization factory object " .ti -1c .RI "std::function< void(\fBzwp_linux_surface_synchronization_v1_t\fP, \fBsurface_t\fP)> & \fBon_get_synchronization\fP ()" .br .RI "extend surface interface for explicit synchronization " .ti -1c .RI "void \fBpost_synchronization_exists\fP (std::string const &msg)" .br .RI "Post error: the surface already has a synchronization object associated\&. " .ti -1c .RI "bool \fBproxy_has_object\fP () const" .br .RI "Check whether this wrapper actually wraps an object\&. " .ti -1c .RI "void \fBpost_no_memory\fP () const" .br .ti -1c .RI "uint32_t \fBget_id\fP () const" .br .ti -1c .RI "client_t \fBget_client\fP () const" .br .ti -1c .RI "unsigned int \fBget_version\fP () const" .br .ti -1c .RI "std::string \fBget_class\fP ()" .br .in -1c .SH "Detailed Description" .PP protocol for providing explicit synchronization This global is a factory interface, allowing clients to request explicit synchronization for buffers on a per-surface basis\&. .PP See zwp_linux_surface_synchronization_v1 for more information\&. .PP This interface is derived from Chromium's zcr_linux_explicit_synchronization_v1\&. .PP 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\&. .PP Definition at line \fB2348\fP of file \fBwayland\-server\-protocol\-unstable\&.hpp\fP\&. .SH "Member Function Documentation" .PP .SS "std::string wayland::server::resource_t::get_class ()\fC [inherited]\fP" Retrieve the interface name (class) of a resource object\&. .PP \fBReturns\fP .RS 4 Interface name of the resource object\&. .RE .PP .SS "client_t wayland::server::resource_t::get_client () const\fC [inherited]\fP" Get the associated client .PP \fBReturns\fP .RS 4 the client that owns the resource\&. .RE .PP .SS "uint32_t wayland::server::resource_t::get_id () const\fC [inherited]\fP" Get the internal ID of the resource .PP \fBReturns\fP .RS 4 the internal ID of the resource .RE .PP .SS "unsigned int wayland::server::resource_t::get_version () const\fC [inherited]\fP" Get interface version .PP \fBReturns\fP .RS 4 Interface version this resource has been constructed with\&. .RE .PP .SS "std::function< void()> & zwp_linux_explicit_synchronization_v1_t::on_destroy ()" .PP 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\&. .PP Definition at line \fB5198\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "std::function< void(\fBzwp_linux_surface_synchronization_v1_t\fP, \fBsurface_t\fP)> & zwp_linux_explicit_synchronization_v1_t::on_get_synchronization ()" .PP extend surface interface for explicit synchronization .PP \fBParameters\fP .RS 4 \fIid\fP the new synchronization interface id .br \fIsurface\fP the surface .RE .PP Instantiate an interface extension for the given wl_surface to provide explicit synchronization\&. .PP If the given wl_surface already has an explicit synchronization object associated, the synchronization_exists protocol error is raised\&. .PP 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\&. .PP Definition at line \fB5204\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "void wayland::server::resource_t::post_no_memory () const\fC [inherited]\fP" Post 'not enough memory' error to the client .PP 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\&. .SS "void zwp_linux_explicit_synchronization_v1_t::post_synchronization_exists (std::string const & msg)" .PP Post error: the surface already has a synchronization object associated\&. .PP Definition at line \fB5210\fP of file \fBwayland\-server\-protocol\-unstable\&.cpp\fP\&. .SS "bool wayland::server::resource_t::proxy_has_object () const\fC [inherited]\fP" .PP Check whether this wrapper actually wraps an object\&. .PP \fBReturns\fP .RS 4 true if there is an underlying object, false if this wrapper is empty .RE .PP .SH "Author" .PP Generated automatically by Doxygen for Wayland++ from the source code\&.