[−][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>>