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)
- newZeroMatrix :: MonadIO m => m Matrix
- noMatrix :: Maybe Matrix
- data MatrixConcatMethodInfo
- matrixConcat :: MonadIO m => Matrix -> Matrix -> m ()
- data MatrixCopyMethodInfo
- matrixCopy :: MonadIO m => Matrix -> m (Maybe Matrix)
- data MatrixFreeMethodInfo
- matrixFree :: MonadIO m => Matrix -> m ()
- data MatrixGetFontScaleFactorMethodInfo
- matrixGetFontScaleFactor :: MonadIO m => Matrix -> m Double
- data MatrixGetFontScaleFactorsMethodInfo
- matrixGetFontScaleFactors :: MonadIO m => Matrix -> m (Double, Double)
- data MatrixRotateMethodInfo
- matrixRotate :: MonadIO m => Matrix -> Double -> m ()
- data MatrixScaleMethodInfo
- matrixScale :: MonadIO m => Matrix -> Double -> Double -> m ()
- data MatrixTransformDistanceMethodInfo
- matrixTransformDistance :: MonadIO m => Matrix -> Double -> Double -> m (Double, Double)
- data MatrixTransformPointMethodInfo
- matrixTransformPoint :: MonadIO m => Matrix -> Double -> Double -> m (Double, Double)
- data MatrixTranslateMethodInfo
- matrixTranslate :: MonadIO m => Matrix -> Double -> Double -> m ()
- matrixReadX0 :: MonadIO m => Matrix -> m Double
- matrixWriteX0 :: MonadIO m => Matrix -> Double -> m ()
- matrixX0 :: AttrLabelProxy "x0"
- matrixReadXx :: MonadIO m => Matrix -> m Double
- matrixWriteXx :: MonadIO m => Matrix -> Double -> m ()
- matrixXx :: AttrLabelProxy "xx"
- matrixReadXy :: MonadIO m => Matrix -> m Double
- matrixWriteXy :: MonadIO m => Matrix -> Double -> m ()
- matrixXy :: AttrLabelProxy "xy"
- matrixReadY0 :: MonadIO m => Matrix -> m Double
- matrixWriteY0 :: MonadIO m => Matrix -> Double -> m ()
- matrixY0 :: AttrLabelProxy "y0"
- matrixReadYx :: MonadIO m => Matrix -> m Double
- matrixWriteYx :: MonadIO m => Matrix -> Double -> m ()
- matrixYx :: AttrLabelProxy "yx"
- matrixReadYy :: MonadIO m => Matrix -> m Double
- matrixWriteYy :: MonadIO m => Matrix -> Double -> m ()
- matrixYy :: AttrLabelProxy "yy"
Exported types
newZeroMatrix :: MonadIO m => m Matrix Source
Construct a Matrix
struct initialized to zero.
Methods
matrixConcat
data MatrixConcatMethodInfo Source
((~) * signature (Matrix -> m ()), MonadIO m) => MethodInfo * MatrixConcatMethodInfo Matrix signature |
matrixConcat :: MonadIO m => Matrix -> Matrix -> m () Source
matrixCopy
data MatrixCopyMethodInfo Source
((~) * signature (m (Maybe Matrix)), MonadIO m) => MethodInfo * MatrixCopyMethodInfo Matrix signature |
matrixFree
data MatrixFreeMethodInfo Source
((~) * signature (m ()), MonadIO m) => MethodInfo * MatrixFreeMethodInfo Matrix signature |
matrixFree :: MonadIO m => Matrix -> m () Source
matrixGetFontScaleFactor
data MatrixGetFontScaleFactorMethodInfo Source
((~) * signature (m Double), MonadIO m) => MethodInfo * MatrixGetFontScaleFactorMethodInfo Matrix signature |
matrixGetFontScaleFactor :: MonadIO m => Matrix -> m Double Source
matrixGetFontScaleFactors
data MatrixGetFontScaleFactorsMethodInfo Source
((~) * signature (m (Double, Double)), MonadIO m) => MethodInfo * MatrixGetFontScaleFactorsMethodInfo Matrix signature |
matrixRotate
data MatrixRotateMethodInfo Source
((~) * signature (Double -> m ()), MonadIO m) => MethodInfo * MatrixRotateMethodInfo Matrix signature |
matrixRotate :: MonadIO m => Matrix -> Double -> m () Source
matrixScale
data MatrixScaleMethodInfo Source
((~) * signature (Double -> Double -> m ()), MonadIO m) => MethodInfo * MatrixScaleMethodInfo Matrix signature |
matrixTransformDistance
data MatrixTransformDistanceMethodInfo Source
((~) * signature (Double -> Double -> m (Double, Double)), MonadIO m) => MethodInfo * MatrixTransformDistanceMethodInfo Matrix signature |
matrixTransformPoint
data MatrixTransformPointMethodInfo Source
((~) * signature (Double -> Double -> m (Double, Double)), MonadIO m) => MethodInfo * MatrixTransformPointMethodInfo Matrix signature |
matrixTranslate
data MatrixTranslateMethodInfo Source
((~) * signature (Double -> Double -> m ()), MonadIO m) => MethodInfo * MatrixTranslateMethodInfo Matrix signature |
Properties
X0
matrixReadX0 :: MonadIO m => Matrix -> m Double Source
matrixWriteX0 :: MonadIO m => Matrix -> Double -> m () Source
matrixX0 :: AttrLabelProxy "x0" Source
Xx
matrixReadXx :: MonadIO m => Matrix -> m Double Source
matrixWriteXx :: MonadIO m => Matrix -> Double -> m () Source
matrixXx :: AttrLabelProxy "xx" Source
Xy
matrixReadXy :: MonadIO m => Matrix -> m Double Source
matrixWriteXy :: MonadIO m => Matrix -> Double -> m () Source
matrixXy :: AttrLabelProxy "xy" Source
Y0
matrixReadY0 :: MonadIO m => Matrix -> m Double Source
matrixWriteY0 :: MonadIO m => Matrix -> Double -> m () Source
matrixY0 :: AttrLabelProxy "y0" Source
Yx
matrixReadYx :: MonadIO m => Matrix -> m Double Source
matrixWriteYx :: MonadIO m => Matrix -> Double -> m () Source
matrixYx :: AttrLabelProxy "yx" Source
Yy
matrixReadYy :: MonadIO m => Matrix -> m Double Source
matrixWriteYy :: MonadIO m => Matrix -> Double -> m () Source
matrixYy :: AttrLabelProxy "yy" Source