Gtk2HsContentsIndex
Graphics.Rendering.Cairo.Matrix
Portabilityportable
Stabilityexperimental
Maintainerp.martini@neuralnoise.com
Description
Matrix math
Synopsis
data Matrix = Matrix !Double !Double !Double !Double !Double !Double
type MatrixPtr = Ptr Matrix
identity :: Matrix
translate :: Double -> Double -> Matrix -> Matrix
scale :: Double -> Double -> Matrix -> Matrix
rotate :: Double -> Matrix -> Matrix
transformDistance :: Matrix -> (Double, Double) -> (Double, Double)
transformPoint :: Matrix -> (Double, Double) -> (Double, Double)
scalarMultiply :: Double -> Matrix -> Matrix
adjoint :: Matrix -> Matrix
invert :: Matrix -> Matrix
Documentation
data Matrix

Representation of a 2-D affine transformation.

The Matrix type represents a 2x2 transformation matrix along with a translation vector. Matrix a1 a2 b1 b2 c1 c2 describes the transformation of a point with coordinates x,y that is defined by

   / x' \  =  / a1 b1 \  / x \  + / c1 \
   \ y' /     \ a2 b2 /  \ y /    \ c2 /

or

   x' =  a1 * x + b1 * y + c1
   y' =  a2 * x + b2 * y + c2
Constructors
Matrix !Double !Double !Double !Double !Double !Double
show/hide Instances
type MatrixPtr = Ptr Matrix
identity :: Matrix
translate :: Double -> Double -> Matrix -> Matrix
scale :: Double -> Double -> Matrix -> Matrix
rotate :: Double -> Matrix -> Matrix
transformDistance :: Matrix -> (Double, Double) -> (Double, Double)
transformPoint :: Matrix -> (Double, Double) -> (Double, Double)
scalarMultiply :: Double -> Matrix -> Matrix
adjoint :: Matrix -> Matrix
invert :: Matrix -> Matrix
Produced by Haddock version 0.8