Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
A structure specifying a transformation between user-space coordinates and device coordinates. The transformation is given by
programlisting x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0; y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0; /programlisting
- newtype Matrix = Matrix (ForeignPtr Matrix)
- noMatrix :: Maybe Matrix
- matrixConcat :: MonadIO m => Matrix -> Matrix -> m ()
- matrixCopy :: MonadIO m => Matrix -> m Matrix
- matrixFree :: MonadIO m => Matrix -> m ()
- matrixGetFontScaleFactor :: MonadIO m => Matrix -> m Double
- matrixGetFontScaleFactors :: MonadIO m => Matrix -> m (Double, Double)
- matrixRotate :: MonadIO m => Matrix -> Double -> m ()
- matrixScale :: MonadIO m => Matrix -> Double -> Double -> m ()
- matrixTransformDistance :: MonadIO m => Matrix -> Double -> Double -> m (Double, Double)
- matrixTransformPoint :: MonadIO m => Matrix -> Double -> Double -> m (Double, Double)
- matrixTranslate :: MonadIO m => Matrix -> Double -> Double -> m ()
- matrixReadX0 :: Matrix -> IO Double
- matrixReadXx :: Matrix -> IO Double
- matrixReadXy :: Matrix -> IO Double
- matrixReadY0 :: Matrix -> IO Double
- matrixReadYx :: Matrix -> IO Double
- matrixReadYy :: Matrix -> IO Double
Exported types
Methods
matrixConcat
matrixConcat :: MonadIO m => Matrix -> Matrix -> m () Source
matrixCopy
matrixCopy :: MonadIO m => Matrix -> m Matrix Source
matrixFree
matrixFree :: MonadIO m => Matrix -> m () Source
matrixGetFontScaleFactor
matrixGetFontScaleFactor :: MonadIO m => Matrix -> m Double Source
matrixGetFontScaleFactors
matrixRotate
matrixRotate :: MonadIO m => Matrix -> Double -> m () Source
matrixScale
matrixTransformDistance
matrixTransformPoint
matrixTranslate
Properties
X0
matrixReadX0 :: Matrix -> IO Double Source
Xx
matrixReadXx :: Matrix -> IO Double Source
Xy
matrixReadXy :: Matrix -> IO Double Source
Y0
matrixReadY0 :: Matrix -> IO Double Source
Yx
matrixReadYx :: Matrix -> IO Double Source
Yy
matrixReadYy :: Matrix -> IO Double Source