Struct wayland_protocols::wp::linux_explicit_synchronization::zv1::client::zwp_linux_buffer_release_v1::ZwpLinuxBufferReleaseV1
source · pub struct ZwpLinuxBufferReleaseV1 {
id: ObjectId,
version: u32,
data: Option<Arc<dyn ObjectData>>,
backend: WeakBackend,
}
Expand description
buffer release explicit synchronization
This object is instantiated in response to a zwp_linux_surface_synchronization_v1.get_release request.
It provides an alternative to wl_buffer.release events, providing a unique release from a single wl_surface.commit request. The release event also supports explicit synchronization, providing a fence FD for the client to synchronize against.
Exactly one event, either a fenced_release or an immediate_release, will be emitted for the wl_surface.commit request. The compositor can choose release by release which event it uses.
This event does not replace wl_buffer.release events; servers are still required to send those events.
Once a buffer release object has delivered a ‘fenced_release’ or an ‘immediate_release’ event it is automatically destroyed.
See also the Event enum for this interface.
Fields§
§id: ObjectId
§version: u32
§data: Option<Arc<dyn ObjectData>>
§backend: WeakBackend
Trait Implementations§
source§impl Borrow<ObjectId> for ZwpLinuxBufferReleaseV1
impl Borrow<ObjectId> for ZwpLinuxBufferReleaseV1
source§impl Clone for ZwpLinuxBufferReleaseV1
impl Clone for ZwpLinuxBufferReleaseV1
source§fn clone(&self) -> ZwpLinuxBufferReleaseV1
fn clone(&self) -> ZwpLinuxBufferReleaseV1
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ZwpLinuxBufferReleaseV1
impl Debug for ZwpLinuxBufferReleaseV1
source§impl Hash for ZwpLinuxBufferReleaseV1
impl Hash for ZwpLinuxBufferReleaseV1
source§impl PartialEq<Weak<ZwpLinuxBufferReleaseV1>> for ZwpLinuxBufferReleaseV1
impl PartialEq<Weak<ZwpLinuxBufferReleaseV1>> for ZwpLinuxBufferReleaseV1
source§impl PartialEq for ZwpLinuxBufferReleaseV1
impl PartialEq for ZwpLinuxBufferReleaseV1
source§fn eq(&self, other: &ZwpLinuxBufferReleaseV1) -> bool
fn eq(&self, other: &ZwpLinuxBufferReleaseV1) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Proxy for ZwpLinuxBufferReleaseV1
impl Proxy for ZwpLinuxBufferReleaseV1
source§fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
fn data<U: Send + Sync + 'static>(&self) -> Option<&U>
source§fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
source§fn backend(&self) -> &WeakBackend
fn backend(&self) -> &WeakBackend
source§fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
fn send_request(&self, req: Self::Request<'_>) -> Result<(), InvalidId>
source§fn 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>
source§fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
fn from_id(conn: &Connection, id: ObjectId) -> Result<Self, InvalidId>
source§fn inert(backend: WeakBackend) -> Self
fn inert(backend: WeakBackend) -> Self
source§fn parse_event(
conn: &Connection,
msg: Message<ObjectId, OwnedFd>,
) -> Result<(Self, Self::Event), DispatchError>
fn parse_event( conn: &Connection, msg: Message<ObjectId, OwnedFd>, ) -> Result<(Self, Self::Event), DispatchError>
source§fn write_request<'a>(
&self,
conn: &Connection,
msg: Self::Request<'a>,
) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
fn write_request<'a>( &self, conn: &Connection, msg: Self::Request<'a>, ) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
impl Eq for ZwpLinuxBufferReleaseV1
Auto Trait Implementations§
impl Freeze for ZwpLinuxBufferReleaseV1
impl !RefUnwindSafe for ZwpLinuxBufferReleaseV1
impl Send for ZwpLinuxBufferReleaseV1
impl Sync for ZwpLinuxBufferReleaseV1
impl Unpin for ZwpLinuxBufferReleaseV1
impl !UnwindSafe for ZwpLinuxBufferReleaseV1
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.