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
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
SVGBackend: The backend that creates SVG image, based on
PistonBackend: The backend that uses Piston Window for real time rendering. Disabled by default, use feature
pistonto turn on.
CanvasBackend: The backend that operates HTML5 Canvas, this is available when
Plottersis targeting WASM.
The backend that drawing a bitmap
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.
This is the dummy backend placeholder for the backend that never fails
The SVG image drawing backend
The error description of any drawing area API
A type which can be converted into a root drawing area