#[non_exhaustive]pub enum Event {
BufferSize {
width: u32,
height: u32,
},
ShmFormat {
format: u32,
},
DmabufDevice {
device: Vec<u8>,
},
DmabufFormat {
format: u32,
modifiers: Vec<u8>,
},
Done,
Stopped,
}
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
BufferSize
image source dimensions
Provides the dimensions of the source image in buffer pixel coordinates.
The client must attach buffers that match this size.
ShmFormat
shm buffer format
Provides the format that must be used for shared-memory buffers.
This event may be emitted multiple times, in which case the client may choose any given format.
DmabufDevice
dma-buf device
This event advertises the device buffers must be allocated on for dma-buf buffers.
In general the device is a DRM node. The DRM node type (primary vs. render) is unspecified. Clients must not rely on the compositor sending a particular node type. Clients cannot check two devices for equality by comparing the dev_t value.
DmabufFormat
dma-buf format
Provides the format that must be used for dma-buf buffers.
The client may choose any of the modifiers advertised in the array of 64-bit unsigned integers.
This event may be emitted multiple times, in which case the client may choose any given format.
Done
all constraints have been sent
This event is sent once when all buffer constraint events have been sent.
The compositor must always end a batch of buffer constraint events with this event, regardless of whether it sends the initial constraints or an update.
Stopped
session is no longer available
This event indicates that the capture session has stopped and is no longer available. This can happen in a number of cases, e.g. when the underlying source is destroyed, if the user decides to end the screen capture, or if an unrecoverable runtime error has occurred.
The client should destroy the session after receiving this event.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Event
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnwindSafe for Event
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.