Trait Backend
pub trait Backend: Sized {
type Geometry;
Show 20 methods
// Required methods
fn width(&self) -> f32;
fn height(&self) -> f32;
fn size(&self) -> Size;
fn center(&self) -> Point;
fn push_transform(&mut self);
fn pop_transform(&mut self);
fn translate(&mut self, translation: Vector);
fn rotate(&mut self, angle: impl Into<Radians>);
fn scale(&mut self, scale: impl Into<f32>);
fn scale_nonuniform(&mut self, scale: impl Into<Vector>);
fn draft(&mut self, clip_bounds: Rectangle) -> Self;
fn paste(&mut self, frame: Self);
fn stroke<'a>(&mut self, path: &Path, stroke: impl Into<Stroke<'a>>);
fn stroke_rectangle<'a>(
&mut self,
top_left: Point,
size: Size,
stroke: impl Into<Stroke<'a>>,
);
fn fill(&mut self, path: &Path, fill: impl Into<Fill>);
fn fill_text(&mut self, text: impl Into<Text>);
fn fill_rectangle(
&mut self,
top_left: Point,
size: Size,
fill: impl Into<Fill>,
);
fn draw_image(&mut self, bounds: Rectangle, image: impl Into<Image>);
fn draw_svg(&mut self, bounds: Rectangle, svg: impl Into<Svg>);
fn into_geometry(self) -> Self::Geometry;
}
Available on crate feature
geometry
only.Expand description
Required Associated Types§
type Geometry
Required Methods§
fn width(&self) -> f32
fn height(&self) -> f32
fn size(&self) -> Size
fn center(&self) -> Point
fn push_transform(&mut self)
fn pop_transform(&mut self)
fn translate(&mut self, translation: Vector)
fn rotate(&mut self, angle: impl Into<Radians>)
fn scale(&mut self, scale: impl Into<f32>)
fn scale_nonuniform(&mut self, scale: impl Into<Vector>)
fn draft(&mut self, clip_bounds: Rectangle) -> Self
fn paste(&mut self, frame: Self)
fn stroke<'a>(&mut self, path: &Path, stroke: impl Into<Stroke<'a>>)
fn stroke_rectangle<'a>( &mut self, top_left: Point, size: Size, stroke: impl Into<Stroke<'a>>, )
fn fill(&mut self, path: &Path, fill: impl Into<Fill>)
fn fill_text(&mut self, text: impl Into<Text>)
fn fill_rectangle(&mut self, top_left: Point, size: Size, fill: impl Into<Fill>)
fn draw_image(&mut self, bounds: Rectangle, image: impl Into<Image>)
fn draw_svg(&mut self, bounds: Rectangle, svg: impl Into<Svg>)
fn into_geometry(self) -> Self::Geometry
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.
Implementations on Foreign Types§
§impl Backend for ()
Available on debug-assertions enabled only.
impl Backend for ()
Available on debug-assertions enabled only.