yampa-sdl2-0.0.2.0: src/YampaSDL2/Backend.hs
{-|
Module : Backend
-}
module YampaSDL2.Backend
( -- * Backend
Backend(..)
, BackendConfiguration(..)
, defaultBackendConfiguration
) where
import FRP.Yampa
import YampaSDL2.AppInput (AppInput)
data Backend a b = Backend
{ initAction :: IO a
, inputAction :: Bool -> IO (DTime, Maybe a)
, outputAction :: Bool -> b -> IO Bool
, parseInput :: SF a AppInput
, closeAction :: IO ()
}
data BackendConfiguration = BackendConfiguration
{ windowWidth :: Int
, windowHeight :: Int
, windowName :: String
, windowResizable :: Bool
, fps :: Double
}
defaultBackendConfiguration = BackendConfiguration
{ windowWidth = 800
, windowHeight = 600
, windowName = "App"
, windowResizable = True
, fps = 60
}