Crate tiny_skia[][src]

Expand description

tiny-skia is a tiny Skia subset ported to Rust.

tiny-skia API is a bit unconventional. It doesn’t look like cairo, QPainter (Qt), HTML Canvas or even Skia itself. Instead, tiny-skia provides a set of low-level drawing APIs and a user should manage the world transform, clipping mask and style manually.

See the examples/ directory for usage examples.


A clipping mask.

An RGBA color value, holding four floating point components.

A 32-bit RGBA color value.

A gradient point.

An integer rectangle.

A linear gradient shader.

Controls how a shape should be painted.

A Bezier path.

A path builder.

A path segments iterator.

A pattern shader.

A container that owns premultiplied RGBA pixels.

A container that references mutable premultiplied RGBA pixels.

Controls how a pixmap should be blended.

A container that references premultiplied RGBA pixels.

A point.

A premultiplied RGBA color value, holding four floating point components.

A 32-bit premultiplied RGBA color value.

A radial gradient shader.

A rectangle defined by left, top, right and bottom edges.

Stroke properties.

A stroke dashing properties.

An affine transformation matrix.


A blending mode.

A path filling rule.

Controls how much filtering to be done when transforming images.

Draws at the beginning and end of an open path contour.

Specifies how corners are drawn when a shape is stroked.

A path segment.

A shader specifies the source color(s) for what is being drawn.

A shader spreading mode.


Represents fully opaque Alpha value.

Represents fully transparent Alpha value.

Represents fully opaque AlphaU8 value.

Represents fully transparent AlphaU8 value.

Number of bytes per pixel.