hoodle-core-0.16.0: Core library for hoodle

Copyright(c) 2011-2015 Ian-Woo Kim
LicenseBSD3
MaintainerIan-Woo Kim <ianwookim@gmail.com>
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell98

Hoodle.Coroutine.Pen

Description

 

Synopsis

Documentation

addPDraw Source #

Arguments

:: CanvasId 
-> PenInfo 
-> RHoodle 
-> PageNum 
-> Seq (Double, Double, Double) 
-> MainCoroutine (RHoodle, BBox)

new hoodle and bbox in page coordinate

penPageSwitch :: PageNum -> MainCoroutine CanvasInfoBox Source #

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

commonPenStart :: forall b. (forall a. CanvasInfo a -> PageNum -> CanvasGeometry -> (Double, Double) -> UTCTime -> MainCoroutine b) -> CanvasId -> PointerCoord -> MainCoroutine (Maybe b) Source #

Common Pen Work starting point

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

enter pen drawing mode

penProcess :: CanvasId -> PageNum -> CanvasGeometry -> TempRender (Seq (Double, Double, Double)) -> ((Double, Double), Double) -> UTCTime -> MainCoroutine (Maybe (Seq (Double, Double, Double))) Source #

main pen coordinate adding process | now being changed

penMoveAndUpOnly :: Monad m => UserEvent -> PageNum -> CanvasGeometry -> m a -> ((PointerCoord, (Double, Double)) -> m a) -> (PointerCoord -> m a) -> m a Source #

in page action

processWithTimeInterval Source #

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.

processWithDefTimeInterval Source #

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