Skip to main content

DrawBackend

Trait DrawBackend 

Source
pub trait DrawBackend {
    // Required methods
    fn draw_circle(
        &mut self,
        center: (f64, f64),
        radius: f64,
        style: &PointStyle,
    ) -> Result<(), RenderError>;
    fn draw_line(
        &mut self,
        points: &[(f64, f64)],
        style: &LineStyle,
    ) -> Result<(), RenderError>;
    fn draw_rect(
        &mut self,
        top_left: (f64, f64),
        bottom_right: (f64, f64),
        style: &RectStyle,
    ) -> Result<(), RenderError>;
    fn draw_text(
        &mut self,
        text: &str,
        pos: (f64, f64),
        style: &TextStyle,
    ) -> Result<(), RenderError>;
    fn draw_polygon(
        &mut self,
        points: &[(f64, f64)],
        style: &RectStyle,
    ) -> Result<(), RenderError>;
    fn plot_area(&self) -> Rect;
    fn total_area(&self) -> Rect;

    // Provided method
    fn draw_shape(
        &mut self,
        center: (f64, f64),
        radius: f64,
        style: &PointStyle,
    ) -> Result<(), RenderError> { ... }
}
Expand description

Our rendering abstraction, independent of plotters details.

Required Methods§

Source

fn draw_circle( &mut self, center: (f64, f64), radius: f64, style: &PointStyle, ) -> Result<(), RenderError>

Source

fn draw_line( &mut self, points: &[(f64, f64)], style: &LineStyle, ) -> Result<(), RenderError>

Source

fn draw_rect( &mut self, top_left: (f64, f64), bottom_right: (f64, f64), style: &RectStyle, ) -> Result<(), RenderError>

Source

fn draw_text( &mut self, text: &str, pos: (f64, f64), style: &TextStyle, ) -> Result<(), RenderError>

Source

fn draw_polygon( &mut self, points: &[(f64, f64)], style: &RectStyle, ) -> Result<(), RenderError>

Source

fn plot_area(&self) -> Rect

Source

fn total_area(&self) -> Rect

Provided Methods§

Source

fn draw_shape( &mut self, center: (f64, f64), radius: f64, style: &PointStyle, ) -> Result<(), RenderError>

Draw a point with a specific shape. Default delegates to draw_circle for Circle.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§