2019-01-29 22:55:45 +00:00
|
|
|
module Types where
|
|
|
|
|
2019-02-02 21:45:57 +00:00
|
|
|
import qualified Graphics.Rendering.OpenGL as GL
|
|
|
|
|
|
|
|
import qualified Graphics.GLUtil as GU
|
|
|
|
|
2019-01-30 22:10:00 +00:00
|
|
|
import qualified Data.Text as T
|
|
|
|
|
2019-01-31 15:01:01 +00:00
|
|
|
import Data.Time.Clock
|
|
|
|
|
2019-01-29 22:55:45 +00:00
|
|
|
data Options = Options
|
2019-01-30 22:10:00 +00:00
|
|
|
{ optFullscreen :: Bool
|
2019-01-29 22:55:45 +00:00
|
|
|
, optFlipScreens :: Bool
|
2019-01-31 13:47:18 +00:00
|
|
|
, optVerbose :: Bool
|
2019-01-30 22:10:00 +00:00
|
|
|
, optFile :: T.Text
|
2019-01-29 22:55:45 +00:00
|
|
|
}
|
|
|
|
deriving (Show)
|
2019-01-31 15:01:01 +00:00
|
|
|
|
|
|
|
data State = State
|
|
|
|
{ stCurrentPage :: Word
|
|
|
|
, stPresentationWindow :: Word
|
|
|
|
, stStartTime :: UTCTime
|
2019-02-02 21:45:57 +00:00
|
|
|
, stVAOs :: [(Word, GL.VertexArrayObject)]
|
|
|
|
, stPrograms :: [(Word, GU.ShaderProgram)]
|
|
|
|
, stVEBO :: GLvebo
|
|
|
|
}
|
|
|
|
|
|
|
|
data GLvebo = GLvebo
|
|
|
|
{ giVBO :: GL.BufferObject
|
|
|
|
, giEBO :: GL.BufferObject
|
|
|
|
}
|