Portability | GHC |
---|---|

Stability | highly unstable |

Maintainer | Stephen Tetley <stephen.tetley@gmail.com> |

Common core for shapes

** WARNING ** - the types of Shapes are not ideal and are pending revision.

- data Shape u t
- type LocShape u t = Point2 u -> Shape u t
- makeShape :: Num u => (ShapeCTM u -> Path u) -> (ShapeCTM u -> t u) -> LocShape u t
- 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
- makeShapeCTM :: Num u => Point2 u -> ShapeCTM u
- data ShapeGeom u a
- runShapeGeom :: ShapeCTM u -> ShapeGeom u a -> a
- askCTM :: ShapeGeom u (ShapeCTM u)
- projectPoint :: (Real u, Floating u) => Point2 u -> ShapeGeom u (Point2 u)
- shapeCenter :: ShapeGeom u (Point2 u)
- shapeAngle :: ShapeGeom u Radian

# Documentation

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

makeShapeCTM :: Num u => Point2 u -> ShapeCTM uSource

runShapeGeom :: ShapeCTM u -> ShapeGeom u a -> aSource

shapeCenter :: ShapeGeom u (Point2 u)Source