[−][src]Trait plotters::drawing::backend::DrawingBackend
The drawing backend trait, which implemenets the low-level drawing APIs.
This trait has a set of default implementation. And the minimal requirement of
implementing a drawing backend is implementing the draw_pixel function.
If the drawing backend supports vector graphics, the other drawing APIs should be overrided by the backend specific implementation. Otherwise, the default implementation will use the pixel-based approach to draw other types of low-level shapes.
Associated Types
Loading content...Required methods
fn get_size(&self) -> (u32, u32)
Get the dimension of the drawing backend in pixel
fn ensure_prepared(&mut self) -> Result<(), DrawingErrorKind<Self::ErrorType>>
Ensure the backend is ready to draw
fn present(&mut self) -> Result<(), DrawingErrorKind<Self::ErrorType>>
Finialize the drawing step and present all the changes.
This is used as the real-time rendering support.
The backend may implement in the following way, when ensure_prepared is called
it checks if it needs a fresh buffer and present is called rendering all the
pending changes on the screen.
fn draw_pixel(
&mut self,
point: BackendCoord,
color: &RGBAColor
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
&mut self,
point: BackendCoord,
color: &RGBAColor
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
Draw a pixel on the drawing backend
point: The backend pixel-based coordinate to drawcolor: The color of the pixel
Provided methods
fn draw_line<S: BackendStyle>(
&mut self,
from: BackendCoord,
to: BackendCoord,
style: &S
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
&mut self,
from: BackendCoord,
to: BackendCoord,
style: &S
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
Draw a line on the drawing backend
from: The start point of the lineto: The end point of the linestyle: The style of the line
fn draw_rect<S: BackendStyle>(
&mut self,
upper_left: BackendCoord,
bottom_right: BackendCoord,
style: &S,
fill: bool
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
&mut self,
upper_left: BackendCoord,
bottom_right: BackendCoord,
style: &S,
fill: bool
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
Draw a rectangle on the drawing backend
upper_left: The coordinate of the upper-left corner of the rectbottom_right: The coordinate of the bottom-right corner of the rectstyle: The stylefill: If the rectangle should be filled
fn draw_path<S: BackendStyle, I: IntoIterator<Item = BackendCoord>>(
&mut self,
path: I,
style: &S
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
&mut self,
path: I,
style: &S
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
Draw a path on the drawing backend
path: The iterator of key points of the pathstyle: The style of the path
fn draw_circle<S: BackendStyle>(
&mut self,
center: BackendCoord,
radius: u32,
style: &S,
fill: bool
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
&mut self,
center: BackendCoord,
radius: u32,
style: &S,
fill: bool
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
Draw a circle on the drawing backend
center: The center coordinate of the circleradius: The radius of the circlestyle: The style of the shapefill: If the circle should be filled
fn draw_text<'a>(
&mut self,
text: &str,
font: &FontDesc<'a>,
pos: BackendCoord,
color: &RGBAColor
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
&mut self,
text: &str,
font: &FontDesc<'a>,
pos: BackendCoord,
color: &RGBAColor
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
Draw a text on the drawing backend
text: The text to drawfont: The description of the fontpos: The position backendcolor: The color of the text
Implementors
impl DrawingBackend for CanvasBackend[src]
type ErrorType = CanvasError
fn get_size(&self) -> (u32, u32)[src]
fn ensure_prepared(&mut self) -> Result<(), DrawingErrorKind<CanvasError>>[src]
fn present(&mut self) -> Result<(), DrawingErrorKind<CanvasError>>[src]
fn draw_pixel(
&mut self,
point: BackendCoord,
style: &RGBAColor
) -> Result<(), DrawingErrorKind<CanvasError>>[src]
&mut self,
point: BackendCoord,
style: &RGBAColor
) -> Result<(), DrawingErrorKind<CanvasError>>
fn draw_line<S: BackendStyle>(
&mut self,
from: BackendCoord,
to: BackendCoord,
style: &S
) -> Result<(), DrawingErrorKind<Self::ErrorType>>[src]
&mut self,
from: BackendCoord,
to: BackendCoord,
style: &S
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
fn draw_rect<S: BackendStyle>(
&mut self,
upper_left: BackendCoord,
bottom_right: BackendCoord,
style: &S,
fill: bool
) -> Result<(), DrawingErrorKind<Self::ErrorType>>[src]
&mut self,
upper_left: BackendCoord,
bottom_right: BackendCoord,
style: &S,
fill: bool
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
fn draw_path<S: BackendStyle, I: IntoIterator<Item = BackendCoord>>(
&mut self,
path: I,
style: &S
) -> Result<(), DrawingErrorKind<Self::ErrorType>>[src]
&mut self,
path: I,
style: &S
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
fn draw_circle<S: BackendStyle>(
&mut self,
center: BackendCoord,
radius: u32,
style: &S,
fill: bool
) -> Result<(), DrawingErrorKind<Self::ErrorType>>[src]
&mut self,
center: BackendCoord,
radius: u32,
style: &S,
fill: bool
) -> Result<(), DrawingErrorKind<Self::ErrorType>>
fn draw_text<'b>(
&mut self,
text: &str,
font: &FontDesc<'b>,
pos: BackendCoord,
color: &RGBAColor
) -> Result<(), DrawingErrorKind<Self::ErrorType>>[src]
&mut self,
text: &str,
font: &FontDesc<'b>,
pos: BackendCoord,
color: &RGBAColor
) -> Result<(), DrawingErrorKind<Self::ErrorType>>