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

Re-exports

pub use self::svg::svg_types;
pub use backend::DrawingBackend;

Modules

backend
rasterizer

Structs

BitMapBackend

The backend that drawing a bitmap

DrawingArea

The abstraction of a region

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