hoodle-core-0.11: Core library for hoodle

PortabilityGHC
Stabilityexperimental
MaintainerIan-Woo Kim <ianwookim@gmail.com>
Safe HaskellNone

Hoodle.Coroutine.Pen

Description

 

Synopsis

Documentation

penPageSwitch :: PageNum -> MainCoroutine CanvasInfoBoxSource

page switch if pen click a page different than the current page

commonPenStart :: (forall a. ViewMode a => CanvasInfo a -> PageNum -> CanvasGeometry -> (Double, Double) -> MainCoroutine ()) -> CanvasId -> PointerCoord -> MainCoroutine ()Source

Common Pen Work starting point

penStart :: CanvasId -> PointerCoord -> MainCoroutine ()Source

enter pen drawing mode

penProcess :: CanvasId -> PageNum -> CanvasGeometry -> Seq (Double, Double, Double) -> ((Double, Double), Double) -> MainCoroutine (Seq (Double, Double, Double))Source

main pen coordinate adding process | now being changed

penMoveAndUpOnly :: Monad m => MyEvent -> PageNum -> CanvasGeometry -> m a -> ((PointerCoord, (Double, Double)) -> m a) -> (PointerCoord -> m a) -> m aSource

in page action

processWithTimeIntervalSource

Arguments

:: (Monad m, MonadIO m) 
=> NominalDiffTime

time diff

-> (UTCTime -> m a)

not larger than time diff bound

-> (UTCTime -> m a)

larger than time diff bound

-> UTCTime

last updated time

-> m a 

process action when last time was before time diff limit, otherwise just do default action.

processWithDefTimeIntervalSource

Arguments

:: (Monad m, MonadIO m) 
=> (UTCTime -> m a)

not larger than time diff bound

-> (UTCTime -> m a)

larger than time diff bound

-> UTCTime

last updated time

-> m a