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§
Sourcefn draw(
&mut self,
layunder: &Vec<SurfaceContext>,
surfaces: &Vec<SurfaceContext>,
layover: &Vec<SurfaceContext>,
viewer: &dyn SurfaceViewer,
) -> Result<(), Illusion>
fn draw( &mut self, layunder: &Vec<SurfaceContext>, surfaces: &Vec<SurfaceContext>, layover: &Vec<SurfaceContext>, viewer: &dyn SurfaceViewer, ) -> Result<(), Illusion>
Draws passed scene using renderer.
Sourcefn take_screenshot(&self) -> Result<Buffer, Illusion>
fn take_screenshot(&self) -> Result<Buffer, Illusion>
Takes screenshot. Returns Buffer
containing image data.
Sourcefn get_info(&self) -> OutputInfo
fn get_info(&self) -> OutputInfo
Returns info about output.
Sourcefn set_position(&mut self, position: Position)
fn set_position(&mut self, position: Position)
Sets global position.
Sourcefn swap_buffers(&mut self) -> Result<u32, Illusion>
fn swap_buffers(&mut self) -> Result<u32, Illusion>
Swaps buffers.
Sourcefn schedule_pageflip(&self) -> Result<(), Illusion>
fn schedule_pageflip(&self) -> Result<(), Illusion>
Schedules pageflip. Handler is registered by DeviceManager
.