Portability | GHC |
---|---|
Stability | highly unstable |
Maintainer | Stephen Tetley <stephen.tetley@gmail.com> |
Common core for shapes
** WARNING ** - the types of Shapes and Plaintext are not ideal and are pending revision.
- data Shape u t = Shape {}
- type ShapeConstructor u t = ShapeCTM u -> t u
- borderedShape :: Num u => Shape u t -> Image u (t u)
- filledShape :: Num u => Shape u t -> Image u (t u)
- strokedShape :: Num u => Shape u t -> Image u (t u)
- data ShapeCTM u = ShapeCTM {
- ctm_trans_x :: !u
- ctm_trans_y :: !u
- ctm_scale_x :: !u
- ctm_scale_y :: !u
- ctm_rotation :: Radian
- identityCTM :: Num u => ShapeCTM u
- ctmDisplace :: (Real u, Floating u) => Point2 u -> ShapeCTM u -> Point2 u
- ctmCenter :: (Real u, Floating u) => ShapeCTM u -> Point2 u
Documentation
Note - this formulation prevents rounded corner shapes...
Currently shapes that aren't paths:
Coordinate FreeLabel
Alternative
out_fun :: ShapeCTM u -> (Path u,sh)
All shapes expect FreeLabel are oblivious to the DrawingContext for the shape
type ShapeConstructor u t = ShapeCTM u -> t uSource
borderedShape :: Num u => Shape u t -> Image u (t u)Source
filledShape :: Num u => Shape u t -> Image u (t u)Source
strokedShape :: Num u => Shape u t -> Image u (t u)Source
ShapeCTM
ShapeCTM | |
|
identityCTM :: Num u => ShapeCTM uSource