Expand description

A small math library specialized for 2d screen graphics.

Feature Flags

To enable serialization of most types, enable the serde feature flag.


A crate that provides facilities for testing the approximate equality of floating-point based types, using either relative difference, or units in the last place (ULPs) comparisons.

Numeric traits for generic mathematics


Scaling ratios for Scaled and Displayable.

A rectangle that uses two Points for representation.

A value in a specific unit.

A unit representing physical pixels.

A location represented by an x and y value.

A unit representing DPI-adjusted resolution configured on the system.

Allows converting between UnitA and UnitB by multiplying or dividing by a scaling ratio.

A unit representing virtual pixels that are scaled on top of the DPI adjustment done for the Points unit.

A measurement of space using width and height.

A rectangle that uses a Point and a Size for representation.

A 2d measurement using x and y values.


An angle of rotation.

A 2d rectangle. This type may internally be represented with a SizedRect or an ExtentsRect. All rect types implement Rectlike.


Allows comparing floating point numbers with approximation.

Defines the smallest integer equal or greater than the original value.

Methods for converting between display scales.

Defines the biggest integer equal or lower than the original value.

Returns a one value.

Functionalitiy that all rectangle types implement

Defines the nearest integer value to the original value.

Methods that enable converting between 2d types that have two components.

Returns a zero value.