Trait Renderer
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 reset(&mut self, new_bounds: Rectangle);
fn allocate_image(
&mut self,
handle: &Handle,
callback: impl FnOnce(Result<Allocation, Error>) + Send + 'static,
);
fn hint(&mut self, scale_factor: f32);
fn scale_factor(&self) -> Option<f32>;
// 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),
) { ... }
}advanced only.Expand description
A component that can be used by widgets to draw themselves on a screen.
Required Methods§
fn start_layer(&mut self, bounds: Rectangle)
fn start_layer(&mut self, bounds: Rectangle)
Starts recording a new layer.
fn end_layer(&mut self)
fn end_layer(&mut self)
Ends recording a new layer.
The new layer will clip its contents to the provided bounds.
fn start_transformation(&mut self, transformation: Transformation)
fn start_transformation(&mut self, transformation: Transformation)
Starts recording with a new Transformation.
fn end_transformation(&mut self)
fn end_transformation(&mut self)
Ends recording a new layer.
The new layer will clip its contents to the provided bounds.
fn fill_quad(&mut self, quad: Quad, background: impl Into<Background>)
fn fill_quad(&mut self, quad: Quad, background: impl Into<Background>)
Fills a Quad with the provided Background.
fn reset(&mut self, new_bounds: Rectangle)
fn reset(&mut self, new_bounds: Rectangle)
Resets the Renderer to start drawing in the new_bounds from scratch.
fn allocate_image(
&mut self,
handle: &Handle,
callback: impl FnOnce(Result<Allocation, Error>) + Send + 'static,
)
fn allocate_image( &mut self, handle: &Handle, callback: impl FnOnce(Result<Allocation, Error>) + Send + 'static, )
Creates an image::Allocation for the given image::Handle and calls the given callback with it.
fn hint(&mut self, scale_factor: f32)
fn hint(&mut self, scale_factor: f32)
Provides hints to the Renderer about the rendering target.
This may be used internally by the Renderer to perform optimizations
and/or improve rendering quality.
For instance, providing a scale_factor may be used by some renderers to
perform metrics hinting internally in physical coordinates while keeping
layout coordinates logical and, therefore, maintain linearity.
fn scale_factor(&self) -> Option<f32>
fn scale_factor(&self) -> Option<f32>
Returns the last scale factor provided as a hint.
Provided Methods§
fn with_layer(&mut self, bounds: Rectangle, f: impl FnOnce(&mut Self))
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.
fn with_transformation(
&mut self,
transformation: Transformation,
f: impl FnOnce(&mut Self),
)
fn with_transformation( &mut self, transformation: Transformation, f: impl FnOnce(&mut Self), )
Applies a Transformation to the primitives recorded in the given closure.
fn with_translation(&mut self, translation: Vector, f: impl FnOnce(&mut Self))
fn with_translation(&mut self, translation: Vector, f: impl FnOnce(&mut Self))
Applies a translation to the primitives recorded in the given closure.
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.