Trait cosmic::iced_winit::graphics::Compositor

source ·
pub trait Compositor: Sized {
    type Settings: Default;
    type Renderer: Renderer;
    type Surface;

    // Required methods
    fn new<W>(
        settings: Self::Settings,
        compatible_window: W,
    ) -> Result<Self, Error>
       where W: Window + Clone;
    fn create_renderer(&self) -> Self::Renderer;
    fn create_surface<W>(
        &mut self,
        window: W,
        width: u32,
        height: u32,
    ) -> Self::Surface
       where W: Window + Clone;
    fn configure_surface(
        &mut self,
        surface: &mut Self::Surface,
        width: u32,
        height: u32,
    );
    fn fetch_information(&self) -> Information;
    fn present<T>(
        &mut self,
        renderer: &mut Self::Renderer,
        surface: &mut Self::Surface,
        viewport: &Viewport,
        background_color: Color,
        overlay: &[T],
    ) -> Result<(), SurfaceError>
       where T: AsRef<str>;
    fn screenshot<T>(
        &mut self,
        renderer: &mut Self::Renderer,
        surface: &mut Self::Surface,
        viewport: &Viewport,
        background_color: Color,
        overlay: &[T],
    ) -> Vec<u8> 
       where T: AsRef<str>;
}
Expand description

A graphics compositor that can draw to windows.

Required Associated Types§

source

type Settings: Default

The settings of the backend.

source

type Renderer: Renderer

The iced renderer of the backend.

source

type Surface

The surface of the backend.

Required Methods§

source

fn new<W>(settings: Self::Settings, compatible_window: W) -> Result<Self, Error>
where W: Window + Clone,

Creates a new Compositor.

source

fn create_renderer(&self) -> Self::Renderer

Creates a Self::Renderer for the Compositor.

source

fn create_surface<W>( &mut self, window: W, width: u32, height: u32, ) -> Self::Surface
where W: Window + Clone,

Crates a new Surface for the given window.

source

fn configure_surface( &mut self, surface: &mut Self::Surface, width: u32, height: u32, )

Configures a new Surface with the given dimensions.

source

fn fetch_information(&self) -> Information

Returns Information used by this Compositor.

source

fn present<T>( &mut self, renderer: &mut Self::Renderer, surface: &mut Self::Surface, viewport: &Viewport, background_color: Color, overlay: &[T], ) -> Result<(), SurfaceError>
where T: AsRef<str>,

Presents the Renderer primitives to the next frame of the given Surface.

source

fn screenshot<T>( &mut self, renderer: &mut Self::Renderer, surface: &mut Self::Surface, viewport: &Viewport, background_color: Color, overlay: &[T], ) -> Vec<u8>
where T: AsRef<str>,

Screenshots the current Renderer primitives to an offscreen texture, and returns the bytes of the texture ordered as RGBA in the sRGB color space.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Compositor for Compositor

§

type Settings = Settings

§

type Renderer = Renderer<Backend>

§

type Surface = Surface

source§

fn new<W>( settings: <Compositor as Compositor>::Settings, compatible_window: W, ) -> Result<Compositor, Error>
where W: Window,

source§

fn create_renderer(&self) -> <Compositor as Compositor>::Renderer

source§

fn create_surface<W>( &mut self, window: W, width: u32, height: u32, ) -> <Compositor as Compositor>::Surface
where W: Window + Clone,

source§

fn configure_surface( &mut self, surface: &mut <Compositor as Compositor>::Surface, width: u32, height: u32, )

source§

fn fetch_information(&self) -> Information

source§

fn present<T>( &mut self, renderer: &mut <Compositor as Compositor>::Renderer, surface: &mut <Compositor as Compositor>::Surface, viewport: &Viewport, background_color: Color, overlay: &[T], ) -> Result<(), SurfaceError>
where T: AsRef<str>,

source§

fn screenshot<T>( &mut self, renderer: &mut <Compositor as Compositor>::Renderer, surface: &mut <Compositor as Compositor>::Surface, viewport: &Viewport, background_color: Color, overlay: &[T], ) -> Vec<u8>
where T: AsRef<str>,

Implementors§

source§

impl Compositor for cosmic::iced_widget::renderer::Compositor