gloss-1.13.2.2: Graphics/Gloss/Interface/IO/Animate.hs
-- | Animate a picture in a window.
module Graphics.Gloss.Interface.IO.Animate
( module Graphics.Gloss.Data.Display
, module Graphics.Gloss.Data.Picture
, module Graphics.Gloss.Data.Color
, animateIO
, animateFixedIO
, Controller (..))
where
import Graphics.Gloss.Data.Display
import Graphics.Gloss.Data.Controller
import Graphics.Gloss.Data.Picture
import Graphics.Gloss.Data.Color
import Graphics.Gloss.Internals.Interface.Animate
import Graphics.Gloss.Internals.Interface.Backend
-- | Open a new window and display the given animation.
--
-- Once the window is open you can use the same commands as with @display@.
--
animateIO
:: Display -- ^ Display mode.
-> Color -- ^ Background color.
-> (Float -> IO Picture) -- ^ Function to produce the next frame of animation.
-- It is passed the time in seconds since the program started.
-> (Controller -> IO ()) -- ^ Callback to take the display controller.
-> IO ()
animateIO display backColor
frameFunIO eatControllerIO
= animateWithBackendIO
defaultBackendState
True -- pannable
display backColor
frameFunIO
eatControllerIO
-- | Like `animateIO` but don't allow the display to be panned around.
--
animateFixedIO
:: Display -- ^ Display mode.
-> Color -- ^ Background color.
-> (Float -> IO Picture) -- ^ Function to produce the next frame of animation.
-- It is passed the time in seconds since the program started.
-> (Controller -> IO ()) -- ^ Callback to take the display controller.
-> IO ()
animateFixedIO display backColor
frameFunIO eatControllerIO
= animateWithBackendIO
defaultBackendState
False
display backColor
frameFunIO
eatControllerIO