Portability | GHC |
---|---|
Stability | highly unstable |
Maintainer | Stephen Tetley <stephen.tetley@gmail.com> |
Build relative paths monadically.
** WARNING ** this module is an experiment, and may change significantly or even be dropped from future revisions.
- data GenPathSpec st u a
- type PathSpec u a = GenPathSpec () u a
- data Vamp u = Vamp {
- vamp_move :: Vec2 u
- vamp_conn :: ConnectorGraphic u
- data PathTerm
- runGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> PathTerm -> LocImage u (a, st, RelPath u)
- execGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> PathTerm -> LocImage u (st, RelPath u)
- evalGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> PathTerm -> LocImage u (a, RelPath u)
- stripGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> PathTerm -> LocQuery u (a, st, RelPath u)
- runPathSpec :: InterpretUnit u => PathSpec u a -> PathTerm -> LocImage u (a, RelPath u)
- runPathSpec_ :: InterpretUnit u => PathSpec u a -> PathTerm -> LocGraphic u
- runPivot :: (Floating u, InterpretUnit u) => PathSpec u a -> PathSpec u a -> LocGraphic u
- penline :: InterpretUnit u => Vec2 u -> GenPathSpec st u ()
- pencurve :: InterpretUnit u => Vec2 u -> Vec2 u -> Vec2 u -> GenPathSpec st u ()
- breakPath :: InterpretUnit u => GenPathSpec st u ()
- hpenline :: InterpretUnit u => u -> GenPathSpec st u ()
- vpenline :: InterpretUnit u => u -> GenPathSpec st u ()
- apenline :: (Floating u, InterpretUnit u) => Radian -> u -> GenPathSpec st u ()
- penlines :: InterpretUnit u => [Vec2 u] -> GenPathSpec st u ()
- pathmoves :: InterpretUnit u => [Vec2 u] -> GenPathSpec st u ()
- vamp :: InterpretUnit u => Vamp u -> GenPathSpec st u ()
- cycleSubPath :: DrawStyle -> GenPathSpec st u ()
- localPen :: DrawingContextF -> GenPathSpec st u a -> GenPathSpec st u a
Documentation
data GenPathSpec st u a Source
Monad (GenPathSpec st u) | |
Functor (GenPathSpec st u) | |
Applicative (GenPathSpec st u) | |
UserStateM (GenPathSpec st u) | |
InterpretUnit u => InsertlM (GenPathSpec st u) | |
InterpretUnit u => LocationM (GenPathSpec st u) | |
InterpretUnit u => CursorM (GenPathSpec st u) | |
DrawingCtxM (GenPathSpec st u) | |
Monoid a => Monoid (GenPathSpec st u a) |
type PathSpec u a = GenPathSpec () u aSource
runGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> PathTerm -> LocImage u (a, st, RelPath u)Source
execGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> PathTerm -> LocImage u (st, RelPath u)Source
evalGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> PathTerm -> LocImage u (a, RelPath u)Source
stripGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> PathTerm -> LocQuery u (a, st, RelPath u)Source
runPathSpec :: InterpretUnit u => PathSpec u a -> PathTerm -> LocImage u (a, RelPath u)Source
runPathSpec_ :: InterpretUnit u => PathSpec u a -> PathTerm -> LocGraphic uSource
runPivot :: (Floating u, InterpretUnit u) => PathSpec u a -> PathSpec u a -> LocGraphic uSource
Form a "pivot path" drawing from two path specifications. The start point of the drawing is the pivot formed by joining the paths.
penline :: InterpretUnit u => Vec2 u -> GenPathSpec st u ()Source
Extend the path with a line, drawn by the pen.
pencurve :: InterpretUnit u => Vec2 u -> Vec2 u -> Vec2 u -> GenPathSpec st u ()Source
Extend the path with a curve, drawn by the pen.
breakPath :: InterpretUnit u => GenPathSpec st u ()Source
hpenline :: InterpretUnit u => u -> GenPathSpec st u ()Source
vpenline :: InterpretUnit u => u -> GenPathSpec st u ()Source
apenline :: (Floating u, InterpretUnit u) => Radian -> u -> GenPathSpec st u ()Source
penlines :: InterpretUnit u => [Vec2 u] -> GenPathSpec st u ()Source
pathmoves :: InterpretUnit u => [Vec2 u] -> GenPathSpec st u ()Source
vamp :: InterpretUnit u => Vamp u -> GenPathSpec st u ()Source
cycleSubPath :: DrawStyle -> GenPathSpec st u ()Source
localPen :: DrawingContextF -> GenPathSpec st u a -> GenPathSpec st u aSource