{-# 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