module Graphics.UI.Fungen.Timer (
RefreshType(..),
setRefresh
) where
import Graphics.UI.Fungen.UserInput
import Graphics.UI.GLUT
data RefreshType
= Idle
| Timer Int
setRefresh :: RefreshType -> StillDownHandler -> IO ()
setRefresh Idle stillDown = idleCallback $= Just (stillDown >> postRedisplay Nothing)
setRefresh (Timer t) stillDown = addTimerCallback t (timer stillDown t)
timer :: StillDownHandler -> Int -> TimerCallback
timer stillDown t = do
stillDown
postRedisplay Nothing
addTimerCallback t (timer stillDown t)