wayland::presentation_t(3) | Wayland++ | wayland::presentation_t(3) |
wayland::presentation_t - timed presentation related wl_surface requests
#include <wayland-client-protocol-extra.hpp>
Inherits wayland::proxy_t.
enum class wrapper_type { standard, display,
foreign, proxy_wrapper }
presentation_feedback_t feedback (surface_t
const &surface)
request presentation feedback information std::function< void(uint32_t)>
& on_clock_id ()
clock ID for timestamps uint32_t get_id () const
Get the id of a proxy object. std::string get_class () const
Get the interface name (class) of a proxy object. uint32_t get_version
() const
Get the protocol object version of a proxy object. wrapper_type
get_wrapper_type () const
Get the type of a proxy object. void set_queue (event_queue_t
queue)
Assign a proxy to an event queue. wl_proxy * c_ptr () const
Get a pointer to the underlying C struct. bool proxy_has_object ()
const
Check whether this wrapper actually wraps an object. operator bool ()
const
Check whether this wrapper actually wraps an object. bool operator==
(const proxy_t &right) const
Check whether two wrappers refer to the same object. bool operator!=
(const proxy_t &right) const
Check whether two wrappers refer to different objects. void
proxy_release ()
Release the wrapped object (if any), making this an empty wrapper.
static constexpr std::uint32_t feedback_since_version = 1
Minimum protocol version required for the feedback function.
timed presentation related wl_surface requests
The main feature of this interface is accurate presentation timing feedback to ensure smooth video playback while maintaining audio/video synchronization. Some features use the concept of a presentation clock, which is defined in the presentation.clock_id event.
A content update for a wl_surface is submitted by a wl_surface.commit request. Request 'feedback' associates with the wl_surface.commit and provides feedback on the content update, particularly the final realized presentation time.
Definition at line 76 of file wayland-client-protocol-extra.hpp.
Underlying wl_proxy type and properties of a proxy_t that affect construction, destruction, and event handling
Enumerator
Definition at line 116 of file wayland-client.hpp.
Get a pointer to the underlying C struct.
Returns
request presentation feedback information
Returns
Parameters
Request presentation feedback for the current content submission on the given surface. This creates a new presentation_feedback object, which will deliver the feedback information once. If multiple presentation_feedback objects are created for the same submission, they will all deliver the same information.
For details on what information is returned, see the presentation_feedback interface.
Definition at line 720 of file wayland-client-protocol-extra.cpp.
Get the interface name (class) of a proxy object.
Returns
Get the id of a proxy object.
Returns
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.
Returns
Get the type of a proxy object.
Definition at line 302 of file wayland-client.hpp.
clock ID for timestamps
Parameters
This event tells the client in which clock domain the compositor interprets the timestamps used by the presentation extension. This clock is called the presentation clock.
The compositor sends this event when the client binds to the presentation interface. The presentation clock does not change during the lifetime of the client connection.
The clock identifier is platform dependent. On Linux/glibc, the identifier value is one of the clockid_t values accepted by clock_gettime(). clock_gettime() is defined by POSIX.1-2001.
Timestamps in this clock domain are expressed as tv_sec_hi, tv_sec_lo, tv_nsec triples, each component being an unsigned 32-bit value. Whole seconds are in tv_sec which is a 64-bit value combined from tv_sec_hi and tv_sec_lo, and the additional fractional part in tv_nsec as nanoseconds. Hence, for valid timestamps tv_nsec must be in [0, 999999999].
Note that clock_id applies only to the presentation clock, and implies nothing about e.g. the timestamps used in the Wayland core protocol input events.
Compositors should prefer a clock which does not jump and is not slewed e.g. by NTP. The absolute value of the clock is irrelevant. Precision of one millisecond or better is recommended. Clients must be able to query the current clock value directly, not by asking the compositor.
Definition at line 727 of file wayland-client-protocol-extra.cpp.
Check whether this wrapper actually wraps an object.
Returns
Check whether two wrappers refer to different objects.
Check whether two wrappers refer to the same object.
Check whether this wrapper actually wraps an object.
Returns
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.
Examples
foreign_display.cpp.
Assign a proxy to an event queue.
Parameters
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().
Examples
proxy_wrapper.cpp.
Minimum protocol version required for the feedback function.
Definition at line 117 of file wayland-client-protocol-extra.hpp.
Generated automatically by Doxygen for Wayland++ from the source code.
Mon Apr 22 2024 09:52:15 | Version 1.0.0 |