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.
- class Monad m => LocTraceM m where
- data GenPathSpec st u a
- type PathSpec u a = GenPathSpec () u a
- data Vamp u = Vamp {
- vamp_move :: Vec2 u
- vamp_conn :: ConnectorGraphic u
- runGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> LocImage u (a, RelPath u)
- runPathSpec :: InterpretUnit u => PathSpec u a -> LocImage u (a, RelPath u)
- execPathSpec :: InterpretUnit u => PathSpec u a -> LocImage u a
- evalPathSpec :: InterpretUnit u => PathSpec u a -> LocImage u (RelPath u)
- extrPathSpec :: InterpretUnit u => PathSpec u a -> LocQuery u (RelPath u)
- pathTip :: InterpretUnit u => GenPathSpec st u (Point2 u)
- lineto :: InterpretUnit u => Vec2 u -> GenPathSpec st u ()
- curveto :: InterpretUnit u => Vec2 u -> Vec2 u -> Vec2 u -> GenPathSpec st u ()
- moveto :: InterpretUnit u => Vec2 u -> GenPathSpec st u ()
- breakPath :: InterpretUnit u => GenPathSpec st u ()
- hlineto :: InterpretUnit u => u -> GenPathSpec st u ()
- vlineto :: InterpretUnit u => u -> GenPathSpec st u ()
- alineto :: (Floating u, InterpretUnit u) => Radian -> 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
class Monad m => LocTraceM m whereSource
insertl
analogue to Writer monad tell
.
insertl :: MonUnit (m ()) ~ u => LocGraphic u -> m ()Source
insertl_ :: MonUnit (m ()) ~ u => LocImage u a -> m ()Source
InterpretUnit u => LocTraceM (LocTrace u) | |
(Monad m, InterpretUnit u) => LocTraceM (LocTraceT u m) | |
InterpretUnit u => LocTraceM (RefTrace u z) | |
InterpretUnit u => LocTraceM (GenPathSpec st u) | Note - location probably should return Point2 not Vec2 hence
this uses TODO - sort out LocTraceM class. |
(Monad m, InterpretUnit u) => LocTraceM (RefTraceT u z m) |
data GenPathSpec st u a Source
Monad (GenPathSpec st u) | |
Functor (GenPathSpec st u) | |
Applicative (GenPathSpec st u) | |
DrawingCtxM (GenPathSpec st u) | |
UserStateM (GenPathSpec st u) | |
InterpretUnit u => LocTraceM (GenPathSpec st u) | Note - location probably should return Point2 not Vec2 hence
this uses TODO - sort out LocTraceM class. |
Monoid a => Monoid (GenPathSpec st u a) |
type PathSpec u a = GenPathSpec () u aSource
runGenPathSpec :: InterpretUnit u => GenPathSpec st u a -> st -> LocImage u (a, RelPath u)Source
runPathSpec :: InterpretUnit u => PathSpec u a -> LocImage u (a, RelPath u)Source
execPathSpec :: InterpretUnit u => PathSpec u a -> LocImage u aSource
evalPathSpec :: InterpretUnit u => PathSpec u a -> LocImage u (RelPath u)Source
extrPathSpec :: InterpretUnit u => PathSpec u a -> LocQuery u (RelPath u)Source
pathTip :: InterpretUnit u => GenPathSpec st u (Point2 u)Source
lineto :: InterpretUnit u => Vec2 u -> GenPathSpec st u ()Source
curveto :: InterpretUnit u => Vec2 u -> Vec2 u -> Vec2 u -> GenPathSpec st u ()Source
moveto :: InterpretUnit u => Vec2 u -> GenPathSpec st u ()Source
moveto
causes a pen up.
breakPath :: InterpretUnit u => GenPathSpec st u ()Source
hlineto :: InterpretUnit u => u -> GenPathSpec st u ()Source
vlineto :: InterpretUnit u => u -> GenPathSpec st u ()Source
alineto :: (Floating u, InterpretUnit u) => Radian -> 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