[][src]Trait wayland_protocols::wlr::unstable::screencopy::v1::client::zwlr_screencopy_frame_v1::EventHandler

pub trait EventHandler {
    fn buffer(
        &mut self,
        object: ZwlrScreencopyFrameV1,
        format: u32,
        width: u32,
        height: u32,
        stride: u32
    ) { ... }
fn flags(&mut self, object: ZwlrScreencopyFrameV1, flags: Flags) { ... }
fn ready(
        &mut self,
        object: ZwlrScreencopyFrameV1,
        tv_sec_hi: u32,
        tv_sec_lo: u32,
        tv_nsec: u32
    ) { ... }
fn failed(&mut self, object: ZwlrScreencopyFrameV1) { ... } }

An interface for handling events.

Provided methods

fn buffer(
    &mut self,
    object: ZwlrScreencopyFrameV1,
    format: u32,
    width: u32,
    height: u32,
    stride: u32
)

buffer information

Provides information about the frame's buffer. This event is sent once as soon as the frame is created.

The client should then create a buffer with the provided attributes, and send a "copy" request.

fn flags(&mut self, object: ZwlrScreencopyFrameV1, flags: Flags)

frame flags

Provides flags about the frame. This event is sent once before the "ready" event.

fn ready(
    &mut self,
    object: ZwlrScreencopyFrameV1,
    tv_sec_hi: u32,
    tv_sec_lo: u32,
    tv_nsec: u32
)

indicates frame is available for reading

Called as soon as the frame is copied, indicating it is available for reading. This event includes the time at which presentation happened at.

The timestamp is expressed as tv_sec_hi, tv_sec_lo, tv_nsec triples, each component being an unsigned 32-bit value. Whole seconds are in tv_sec which is a 64-bit value combined from tv_sec_hi and tv_sec_lo, and the additional fractional part in tv_nsec as nanoseconds. Hence, for valid timestamps tv_nsec must be in [0, 999999999]. The seconds part may have an arbitrary offset at start.

After receiving this event, the client should destroy the object.

fn failed(&mut self, object: ZwlrScreencopyFrameV1)

frame copy failed

This event indicates that the attempted frame copy has failed.

After receiving this event, the client should destroy the object.

Loading content...

Implementors

Loading content...