ibis/src/Types.hs

32 lines
615 B
Haskell

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
}