ibis/src/Types.hs

41 lines
766 B
Haskell

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
}