pub struct ZcosmicScreencopySessionV2 { /* private fields */ }
Expand description
screen capture session
This object represents an active screencopy session.
After a screencopy session is created, buffer constraint events will be emitted from the compositor to tell the client which buffer types and formats are supported for reading from the session. The compositor may re-send buffer constraint events whenever they change.
The advertise buffer constraints, the compositor must send in no particular order: zero or more shm_format and dmabuf_format events, zero or one dmabuf_device event, and exactly one buffer_size event. Then the compositor must send a done event.
When the client has received all the buffer constraints, it can create a buffer accordingly, attach it to the screencopy session using the attach_buffer request, set the buffer damage using the damage_buffer request and then send the capture request.
See also the Event enum for this interface.
Implementations§
Source§impl ZcosmicScreencopySessionV2
impl ZcosmicScreencopySessionV2
Sourcepub fn create_frame<U: Send + Sync + 'static, D: Dispatch<ZcosmicScreencopyFrameV2, U> + 'static>(
&self,
qh: &QueueHandle<D>,
udata: U,
) -> ZcosmicScreencopyFrameV2
pub fn create_frame<U: Send + Sync + 'static, D: Dispatch<ZcosmicScreencopyFrameV2, U> + 'static>( &self, qh: &QueueHandle<D>, udata: U, ) -> ZcosmicScreencopyFrameV2
create a frame
Create a capture frame for this session.
Trait Implementations§
Source§impl Borrow<ObjectId> for ZcosmicScreencopySessionV2
impl Borrow<ObjectId> for ZcosmicScreencopySessionV2
Source§impl Clone for ZcosmicScreencopySessionV2
impl Clone for ZcosmicScreencopySessionV2
Source§fn clone(&self) -> ZcosmicScreencopySessionV2
fn clone(&self) -> ZcosmicScreencopySessionV2
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ZcosmicScreencopySessionV2
impl Debug for ZcosmicScreencopySessionV2
Source§impl Hash for ZcosmicScreencopySessionV2
impl Hash for ZcosmicScreencopySessionV2
Source§impl PartialEq<Weak<ZcosmicScreencopySessionV2>> for ZcosmicScreencopySessionV2
impl PartialEq<Weak<ZcosmicScreencopySessionV2>> for ZcosmicScreencopySessionV2
Source§impl Proxy for ZcosmicScreencopySessionV2
impl Proxy for ZcosmicScreencopySessionV2
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 ZcosmicScreencopySessionV2
Auto Trait Implementations§
impl Freeze for ZcosmicScreencopySessionV2
impl !RefUnwindSafe for ZcosmicScreencopySessionV2
impl Send for ZcosmicScreencopySessionV2
impl Sync for ZcosmicScreencopySessionV2
impl Unpin for ZcosmicScreencopySessionV2
impl !UnwindSafe for ZcosmicScreencopySessionV2
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.