[−][src]Module plotters::drawing
The drawing utils for Plotter. Which handles the both low-level and high-level drawing.
For the low-level drawing abstraction, the module defines the DrawingBackend
trait,
which handles low-level drawing of different shapes, such as, pixels, lines, rectangles, etc.
On the top of drawing backend, one or more drawing area can be defined and different coordinate system can be applied to the drawing areas. And the drawing area implement the high-level drawing interface, which draws an element.
Currently we have following backend implemented:
BitMapBackend
: The backend that creates bitmap, this is based onimage
crateSVGBackend
: The backend that creates SVG image, based onsvg
crate.PistonBackend
: The backend that uses Piston Window for real time rendering. Disabled by default, use featurepiston
to turn on.CanvasBackend
: The backend that operates HTML5 Canvas, this is available whenPlotters
is targeting WASM.
Re-exports
pub use self::svg::svg_types; |
pub use backend::DrawingBackend; |
Modules
backend | |
bitmap_pixel | |
rasterizer |
Structs
BitMapBackend | The backend that drawing a bitmap |
DrawingArea | The abstraction of a drawing area. Plotters uses drawing area as the fundamental abstraction for the high level drawing API. The major functionality provided by the drawing area is 1. Layout specification - Split the parent drawing area into sub-drawing-areas 2. Coordinate Translation - Allows guest coordinate system attached and used for drawing. 3. Element based drawing - drawing area provides the environment the element can be drawn onto it. |
DummyBackendError | This is the dummy backend placeholder for the backend that never fails |
SVGBackend | The SVG image drawing backend |
Enums
DrawingAreaErrorKind | The error description of any drawing area API |
Traits
IntoDrawingArea | A type which can be converted into a root drawing area |