module Types where import qualified SDL import qualified Graphics.Rendering.OpenGL as GL import qualified Graphics.GLUtil as GU import qualified Data.Text as T import Data.Word (Word32) import Data.Time.Clock data Options = Options { optFullscreen :: Bool , optFlipScreens :: Bool , optVerbose :: Bool , optFile :: T.Text } deriving (Show) data State = State { stCurrentPage :: Word , stMaxPage :: Word , stAspectRatio :: Double , stFilename :: T.Text , stPresentationWindow :: Word , stStartTime :: Word32 , stLastTime :: Word32 , stWindows :: [(Word, SDL.Window)] , stProgram :: GU.ShaderProgram , stBO :: GLbo } data GLbo = GLbo { glVBO :: GL.BufferObject , glEBO :: GL.BufferObject , glTBO :: GL.BufferObject }