diff options
Diffstat (limited to 'src/drawing/mod.rs')
-rw-r--r-- | src/drawing/mod.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/drawing/mod.rs b/src/drawing/mod.rs new file mode 100644 index 0000000..e2c59bd --- /dev/null +++ b/src/drawing/mod.rs @@ -0,0 +1,31 @@ +/*! +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 on `image` crate +- `SVGBackend`: The backend that creates SVG image, based on `svg` crate. +- `PistonBackend`: The backend that uses Piston Window for real time rendering. Disabled by default, use feature `piston` to turn on. +- `CanvasBackend`: The backend that operates HTML5 Canvas, this is available when `Plotters` is targeting WASM. + +*/ +mod area; +mod backend_impl; + +pub mod rasterizer; + +pub mod backend; + +pub use area::{DrawingArea, DrawingAreaErrorKind, IntoDrawingArea}; + +pub use backend_impl::*; + +pub use backend::DrawingBackend; |