{-# LANGUAGE ExplicitForAll #-}
module Brillo.Interface.IO.Game (
module Brillo.Data.Display,
module Brillo.Data.Picture,
module Brillo.Data.Color,
playIO,
Event (..),
Key (..),
SpecialKey (..),
MouseButton (..),
KeyState (..),
Modifiers (..),
)
where
import Brillo.Data.Color
import Brillo.Data.Display
import Brillo.Data.Picture
import Brillo.Internals.Interface.Backend
import Brillo.Internals.Interface.Game
playIO
:: forall world
. Display
-> Color
-> Int
-> world
-> (world -> IO Picture)
-> (Event -> world -> IO world)
-> (Float -> world -> IO world)
-> IO ()
playIO :: forall world.
Display
-> Color
-> Int
-> world
-> (world -> IO Picture)
-> (Event -> world -> IO world)
-> (Float -> world -> IO world)
-> IO ()
playIO
Display
display
Color
backColor
Int
simResolution
world
worldStart
world -> IO Picture
worldToPicture
Event -> world -> IO world
worldHandleEvent
Float -> world -> IO world
worldAdvance =
GLFWState
-> Display
-> Color
-> Int
-> world
-> (world -> IO Picture)
-> (Event -> world -> IO world)
-> (Float -> world -> IO world)
-> Bool
-> IO ()
forall world a.
Backend a =>
a
-> Display
-> Color
-> Int
-> world
-> (world -> IO Picture)
-> (Event -> world -> IO world)
-> (Float -> world -> IO world)
-> Bool
-> IO ()
playWithBackendIO
GLFWState
defaultBackendState
Display
display
Color
backColor
Int
simResolution
world
worldStart
world -> IO Picture
worldToPicture
Event -> world -> IO world
worldHandleEvent
Float -> world -> IO world
worldAdvance
Bool
False