{-# LANGUAGE ExistentialQuantification #-}
module Settings
( Simulation(..)
, GleamConfig(..)
, defaultGleamConfig
)
where
import Picture
import InputEvent
data Simulation = forall model . Simulation {
simConfig :: GleamConfig,
simInitialModel :: model,
simDraw :: (model -> Picture),
simUpdate :: (model -> model),
simHandler :: (InputEvent -> model -> model),
simTitle :: String
}
data GleamConfig = GleamConfig {
width :: Int,
height :: Int
}
defaultGleamConfig :: GleamConfig
defaultGleamConfig = GleamConfig 400 400