module Types where import qualified Graphics.Rendering.OpenGL as GL import qualified Graphics.GLUtil as GU import qualified Data.Text as T import Data.Time.Clock data Options = Options { optFullscreen :: Bool , optFlipScreens :: Bool , optVerbose :: Bool , optFile :: T.Text } deriving (Show) data State = State { stCurrentPage :: Word , stPresentationWindow :: Word , stStartTime :: UTCTime , stVAOs :: [(Word, GL.VertexArrayObject)] , stPrograms :: [(Word, GU.ShaderProgram)] , stVEBO :: GLvebo } data GLvebo = GLvebo { giVBO :: GL.BufferObject , giEBO :: GL.BufferObject }