Struct WpCommitTimingManagerV1

Source
pub struct WpCommitTimingManagerV1 { /* private fields */ }
Available on crate feature commit-timing-v1 only.
Expand description

commit timing

When a compositor latches on to new content updates it will check for any number of requirements of the available content updates (such as fences of all buffers being signalled) to consider the update ready.

This protocol provides a method for adding a time constraint to surface content. This constraint indicates to the compositor that a content update should be presented as closely as possible to, but not before, a specified time.

This protocol does not change the Wayland property that content updates are applied in the order they are received, even when some content updates contain timestamps and others do not.

To provide timestamps, this global factory interface must be used to acquire a wp_commit_timing_v1 object for a surface, which may then be used to provide timestamp information for commits.

Warning! The protocol described in this file is currently in the testing phase. Backward compatible changes may be added together with the corresponding interface version bump. Backward incompatible changes can only be done by creating a new major version of the extension.

See Event for the list of possible events.

Implementations§

Source§

impl WpCommitTimingManagerV1

Source

pub fn destroy<D>(self, conn: &mut Connection<D>)

unbind from the commit timing interface

Informs the server that the client will no longer be using this protocol object. Existing objects created by this object are not affected.

Since version 1.

Source

pub fn get_timer<D>( self, conn: &mut Connection<D>, surface: WlSurface, ) -> WpCommitTimerV1

request commit timer interface for surface

Establish a timing controller for a surface.

Only one commit timer can be created for a surface, or a commit_timer_exists protocol error will be generated.

Since version 1.

Source

pub fn get_timer_with_cb<D>( self, conn: &mut Connection<D>, surface: WlSurface, cb: impl FnMut(EventCtx<'_, D, WpCommitTimerV1>) + Send + 'static, ) -> WpCommitTimerV1

request commit timer interface for surface

Establish a timing controller for a surface.

Only one commit timer can be created for a surface, or a commit_timer_exists protocol error will be generated.

Since version 1.

Trait Implementations§

Source§

impl Borrow<ObjectId> for WpCommitTimingManagerV1

Source§

fn borrow(&self) -> &ObjectId

Immutably borrows from an owned value. Read more
Source§

impl Clone for WpCommitTimingManagerV1

Source§

fn clone(&self) -> WpCommitTimingManagerV1

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for WpCommitTimingManagerV1

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for WpCommitTimingManagerV1

Source§

fn hash<H>(&self, state: &mut H)
where H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for WpCommitTimingManagerV1

Source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq<ObjectId> for WpCommitTimingManagerV1

Source§

fn eq(&self, other: &ObjectId) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<WpCommitTimingManagerV1> for ObjectId

Source§

fn eq(&self, other: &WpCommitTimingManagerV1) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq for WpCommitTimingManagerV1

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for WpCommitTimingManagerV1

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Proxy for WpCommitTimingManagerV1

Source§

impl TryFrom<Object> for WpCommitTimingManagerV1

Source§

type Error = WrongObject

The type returned in the event of a conversion error.
Source§

fn try_from(object: Object) -> Result<Self, WrongObject>

Performs the conversion.
Source§

impl Copy for WpCommitTimingManagerV1

Source§

impl Eq for WpCommitTimingManagerV1

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.