Trait ScreencopyHandler

Source
pub trait ScreencopyHandler: Sized {
    // Required methods
    fn screencopy_state(&mut self) -> &mut ScreencopyState;
    fn init_done(
        &mut self,
        conn: &Connection,
        qh: &QueueHandle<Self>,
        session: &CaptureSession,
        formats: &Formats,
    );
    fn stopped(
        &mut self,
        conn: &Connection,
        qh: &QueueHandle<Self>,
        session: &CaptureSession,
    );
    fn ready(
        &mut self,
        conn: &Connection,
        qh: &QueueHandle<Self>,
        screencopy_frame: &CaptureFrame,
        frame: Frame,
    );
    fn failed(
        &mut self,
        conn: &Connection,
        qh: &QueueHandle<Self>,
        screencopy_frame: &CaptureFrame,
        reason: WEnum<FailureReason>,
    );

    // Provided methods
    fn cursor_enter(
        &mut self,
        _conn: &Connection,
        _qh: &QueueHandle<Self>,
        _cursor_session: &CaptureCursorSession,
    ) { ... }
    fn cursor_leave(
        &mut self,
        _conn: &Connection,
        _qh: &QueueHandle<Self>,
        _cursor_session: &CaptureCursorSession,
    ) { ... }
    fn cursor_position(
        &mut self,
        _conn: &Connection,
        _qh: &QueueHandle<Self>,
        _cursor_session: &CaptureCursorSession,
        _x: i32,
        _y: i32,
    ) { ... }
    fn cursor_hotspot(
        &mut self,
        _conn: &Connection,
        _qh: &QueueHandle<Self>,
        _cursor_session: &CaptureCursorSession,
        _x: i32,
        _y: i32,
    ) { ... }
}
Available on crate feature wayland and Linux only.

Required Methods§

Source

fn screencopy_state(&mut self) -> &mut ScreencopyState

Source

fn init_done( &mut self, conn: &Connection, qh: &QueueHandle<Self>, session: &CaptureSession, formats: &Formats, )

Source

fn stopped( &mut self, conn: &Connection, qh: &QueueHandle<Self>, session: &CaptureSession, )

Source

fn ready( &mut self, conn: &Connection, qh: &QueueHandle<Self>, screencopy_frame: &CaptureFrame, frame: Frame, )

Source

fn failed( &mut self, conn: &Connection, qh: &QueueHandle<Self>, screencopy_frame: &CaptureFrame, reason: WEnum<FailureReason>, )

Provided Methods§

Source

fn cursor_enter( &mut self, _conn: &Connection, _qh: &QueueHandle<Self>, _cursor_session: &CaptureCursorSession, )

Source

fn cursor_leave( &mut self, _conn: &Connection, _qh: &QueueHandle<Self>, _cursor_session: &CaptureCursorSession, )

Source

fn cursor_position( &mut self, _conn: &Connection, _qh: &QueueHandle<Self>, _cursor_session: &CaptureCursorSession, _x: i32, _y: i32, )

Source

fn cursor_hotspot( &mut self, _conn: &Connection, _qh: &QueueHandle<Self>, _cursor_session: &CaptureCursorSession, _x: i32, _y: i32, )

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§