pub trait Renderer {
    // Required methods
    fn start_layer(&mut self, bounds: Rectangle);
    fn end_layer(&mut self);
    fn start_transformation(&mut self, transformation: Transformation);
    fn end_transformation(&mut self);
    fn fill_quad(&mut self, quad: Quad, background: impl Into<Background>);
    fn clear(&mut self);

    // Provided methods
    fn with_layer(&mut self, bounds: Rectangle, f: impl FnOnce(&mut Self)) { ... }
    fn with_transformation(
        &mut self,
        transformation: Transformation,
        f: impl FnOnce(&mut Self)
    ) { ... }
    fn with_translation(
        &mut self,
        translation: Vector,
        f: impl FnOnce(&mut Self)
    ) { ... }
}
Expand description

A component that can be used by widgets to draw themselves on a screen.

Required Methods§

source

fn start_layer(&mut self, bounds: Rectangle)

Starts recording a new layer.

source

fn end_layer(&mut self)

Ends recording a new layer.

The new layer will clip its contents to the provided bounds.

source

fn start_transformation(&mut self, transformation: Transformation)

Starts recording with a new Transformation.

source

fn end_transformation(&mut self)

Ends recording a new layer.

The new layer will clip its contents to the provided bounds.

source

fn fill_quad(&mut self, quad: Quad, background: impl Into<Background>)

Fills a Quad with the provided Background.

source

fn clear(&mut self)

Clears all of the recorded primitives in the Renderer.

Provided Methods§

source

fn with_layer(&mut self, bounds: Rectangle, f: impl FnOnce(&mut Self))

Draws the primitives recorded in the given closure in a new layer.

The layer will clip its contents to the provided bounds.

source

fn with_transformation( &mut self, transformation: Transformation, f: impl FnOnce(&mut Self) )

Applies a Transformation to the primitives recorded in the given closure.

source

fn with_translation(&mut self, translation: Vector, f: impl FnOnce(&mut Self))

Applies a translation to the primitives recorded in the given closure.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Renderer for ()

source§

fn start_layer(&mut self, _bounds: Rectangle)

source§

fn end_layer(&mut self)

source§

fn start_transformation(&mut self, _transformation: Transformation)

source§

fn end_transformation(&mut self)

source§

fn clear(&mut self)

source§

fn fill_quad(&mut self, _quad: Quad, _background: impl Into<Background>)

Implementors§