Trait Output

Source
pub trait Output {
    // Required methods
    fn draw(
        &mut self,
        layunder: &Vec<SurfaceContext>,
        surfaces: &Vec<SurfaceContext>,
        layover: &Vec<SurfaceContext>,
        viewer: &dyn SurfaceViewer,
    ) -> Result<(), Illusion>;
    fn take_screenshot(&self) -> Result<Buffer, Illusion>;
    fn get_info(&self) -> OutputInfo;
    fn set_position(&mut self, position: Position);
    fn swap_buffers(&mut self) -> Result<u32, Illusion>;
    fn schedule_pageflip(&self) -> Result<(), Illusion>;
    fn recreate(&self) -> Result<Box<dyn Output>, Illusion>;
}
Expand description

Output is representation of physical output device.

Required Methods§

Source

fn draw( &mut self, layunder: &Vec<SurfaceContext>, surfaces: &Vec<SurfaceContext>, layover: &Vec<SurfaceContext>, viewer: &dyn SurfaceViewer, ) -> Result<(), Illusion>

Draws passed scene using renderer.

Source

fn take_screenshot(&self) -> Result<Buffer, Illusion>

Takes screenshot. Returns Buffer containing image data.

Source

fn get_info(&self) -> OutputInfo

Returns info about output.

Source

fn set_position(&mut self, position: Position)

Sets global position.

Source

fn swap_buffers(&mut self) -> Result<u32, Illusion>

Swaps buffers.

Source

fn schedule_pageflip(&self) -> Result<(), Illusion>

Schedules pageflip. Handler is registered by DeviceManager.

Source

fn recreate(&self) -> Result<Box<dyn Output>, Illusion>

Reinitializes the output.

Implementors§