An affine transformation is a linear transformation followed by a translation; i.e. it is a function

\x -> A*x + b

Where A is a linear transformation. Affine transformations are the set of image transformations supported by Graphics.DrawingCombinators, roughly translate, rotate, scale, and compositions thereof.

# Documentation

An Affine transformation from R2 to R2.

[[Affine]] = R2 -> R2

With the Monoid instance `(identity, compose)`

inverse :: Affine -> AffineSource

[[inverse x]] = inverse [[x]]

If the transformation is not invertible, this operation is undefined.

multGLmatrix :: Affine -> IO ()Source

Multiply this Affine by the top of the OpenGL matrix stack. Don't mind this, it's an implementation detail.