Struct wayland_protocols::wp::presentation_time::client::wp_presentation::WpPresentation
source · [−]pub struct WpPresentation { /* private fields */ }
client
only.Expand description
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.
When the final realized presentation time is available, e.g. after a framebuffer flip completes, the requested presentation_feedback.presented events are sent. The final presentation time can differ from the compositor’s predicted display update time and the update’s target time, especially when the compositor misses its target vertical blanking period.
See also the Event enum for this interface.
Implementations
sourceimpl WpPresentation
impl WpPresentation
sourcepub fn destroy(&self)
pub fn destroy(&self)
unbind from the presentation interface
Informs the server that the client will no longer be using this protocol object. Existing objects created by this object are not affected.
sourcepub fn feedback<U: Send + Sync + 'static, D: Dispatch<WpPresentationFeedback, U> + 'static>(
&self,
surface: &WlSurface,
qh: &QueueHandle<D>,
udata: U
) -> Result<WpPresentationFeedback, InvalidId>
pub fn feedback<U: Send + Sync + 'static, D: Dispatch<WpPresentationFeedback, U> + 'static>(
&self,
surface: &WlSurface,
qh: &QueueHandle<D>,
udata: U
) -> Result<WpPresentationFeedback, InvalidId>
request presentation feedback information
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.
Trait Implementations
sourceimpl Clone for WpPresentation
impl Clone for WpPresentation
sourcefn clone(&self) -> WpPresentation
fn clone(&self) -> WpPresentation
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for WpPresentation
impl Debug for WpPresentation
sourceimpl PartialEq<WpPresentation> for WpPresentation
impl PartialEq<WpPresentation> for WpPresentation
sourceimpl Proxy for WpPresentation
impl Proxy for WpPresentation
sourcefn data<U: Send + Sync + 'static>(&self) -> Option<&U>
fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
Access the user-data associated with this object
sourcefn object_data(&self) -> Option<&Arc<dyn ObjectData>>
fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
Access the raw data associated with this object. Read more
sourcefn backend(&self) -> &WeakBackend
fn backend(&self) -> &WeakBackend
Access the backend associated with this object
sourcefn send_request(&self, req: Self::Request) -> Result<(), InvalidId>
fn send_request(&self, req: Self::Request) -> Result<(), InvalidId>
Send a request for this object. Read more
sourcefn send_constructor<I: Proxy>(
&self,
req: Self::Request,
data: Arc<dyn ObjectData>
) -> Result<I, InvalidId>
fn send_constructor<I: Proxy>(
&self,
req: Self::Request,
data: Arc<dyn ObjectData>
) -> Result<I, InvalidId>
Send a request for this object that creates another object. Read more
sourcefn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
Create an object proxy from its ID Read more
sourcefn parse_event(
conn: &Connection,
msg: Message<ObjectId>
) -> Result<(Self, Self::Event), DispatchError>
fn parse_event(
conn: &Connection,
msg: Message<ObjectId>
) -> Result<(Self, Self::Event), DispatchError>
Parse a event for this object Read more
impl Eq for WpPresentation
Auto Trait Implementations
impl !RefUnwindSafe for WpPresentation
impl Send for WpPresentation
impl Sync for WpPresentation
impl Unpin for WpPresentation
impl !UnwindSafe for WpPresentation
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more