wumpus-drawing-0.5.0: High-level drawing objects built on Wumpus-Basic.

PortabilityGHC
Stabilityhighly unstable
MaintainerStephen Tetley <stephen.tetley@gmail.com>

Wumpus.Drawing.Paths.Base.PathBuilder

Description

Build relative paths monadically.

** WARNING ** this module is an experiment, and may change significantly or even be dropped from future revisions.

Synopsis

Documentation

class Monad m => LocTraceM m whereSource

insertl analogue to Writer monad tell.

Methods

insertl :: MonUnit (m ()) ~ u => LocGraphic u -> m ()Source

insertl_ :: MonUnit (m ()) ~ u => LocImage u a -> m ()Source

moveBy :: MonUnit (m ()) ~ u => Vec2 u -> m ()Source

location :: MonUnit (m ()) ~ u => m (Vec2 u)Source

Instances

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 cheat temporarily.

TODO - sort out LocTraceM class.

(Monad m, InterpretUnit u) => LocTraceM (RefTraceT u z m) 

data GenPathSpec st u a Source

Instances

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 cheat temporarily.

TODO - sort out LocTraceM class.

Monoid a => Monoid (GenPathSpec st u a) 

data Vamp u Source

Constructors

Vamp 

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.