Expand description

Simple 2D library that support SVG path parsing/generation/manipulation and rasterization.

Main features:

  • SVG path parsing and generation
  • Anti-aliased rendering
  • Path offsetting

Modules

Utility functions and types used across the library

Structs

Iterator over rasterized pixels, by active-edge rasterizer

Active-Edge rasterizer

Bounding box with sides directed along the axes

ABGR color packed as u32 value (most of the platforms are little-endian)

Cubic bezier curve

Iterator over line segments approximating curve segment

Elliptical Arc

Linear Gradient

Radial Gradient

Specifies color at a particular parameter offset of the gradient

List of all GradStop in the gradient

Immutable iterator over pixels

Iterator over mutable references to all the pixels of the image

Mutable reference to an image or another mutable reference

Create an image that owns the data

Reference to an image or another reference

Image with top left corner at (x, y) coordinates

Alpha premultiplied RGBA color in the linear color space (no gamma correction)

Line segment curve

Collection of the SubPath treated as a single unit

Path builder similar to Canvas/Cairo interface.

Rasterized pixel

Value representing a 2D point or vector.

Quadratic bezier curve

Shape defines size and layout of the data inside an image

Signed difference based rasterizer

Size of the rectangular area with integer width and height

Style used to generate stroke

Non-empty collections of segments where end of each segments coincides with the start of the next one.

Path parser for SVG encoded path

2D affine transformation

Enums

Alignment options

The algorithm to use to determine the inside part of a shape, when filling it.

Gradient spread logic for the parameter smaller than 0 and greater than 1

LineCap specifies the shape to be used at the end of open sub-paths when they are stroked. See SVG specification for more details.

LineJoin defines the shape to be used at the corners of paths when they are stroked. See SVG specification for more details.

Segment is an enum of either Line, Quad or Cubic

Error while parsing path in the SVG format

Possible SVG path commands

Constants

Default flatness used during rasterization. Value of 0.05px gives good accuracy tradeoff.

Epsilon value

Square root of the epsilon value

Mathematical pi constant

Traits

Common interface to all color representations

Set of operations common to all bezier curves.

Trait common to all image types

Mutable image interface

Common interface for anything that can be used to fill an area

Basic rasterizer interface

Functions

Convert Linear RGB color component into a SRGB color component.

Format floats in a compact way suitable for SVG path

Type Definitions

Iterator containing curve extremities

Iterator containing curve roots

Scalar type