gelatin-gl-0.1.0.0: src/Gelatin/GL/Common.hs
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE TypeSynonymInstances #-}
module Gelatin.GL.Common where
import Gelatin
import Gelatin.GL.Shader
orthoContextProjection :: Context -> IO (M44 Float)
orthoContextProjection window = do
(ww, wh) <- ctxWindowSize window
let (hw,hh) = (fromIntegral ww, fromIntegral wh)
return $ ortho 0 hw hh 0 0 1
--------------------------------------------------------------------------------
-- GL helper types
--------------------------------------------------------------------------------
data Context = Context { ctxFramebufferSize :: IO (Int,Int)
, ctxWindowSize :: IO (Int,Int)
--, ctxScreenDpi :: IO Int
}
data Rez = Rez { rezShader :: Simple2DShader
, rezContext :: Context
}