{-# LANGUAGE CPP #-} {-# OPTIONS_GHC -XMagicHash -XGeneralizedNewtypeDeriving #-} -- #hide -------------------------------------------------------------------------------- -- | -- Module : Graphics.Rendering.OpenGL.Raw.Core31.TypesInternal -- Copyright : (c) Sven Panne 2009 -- License : BSD-style (see the file LICENSE) -- -- Maintainer : sven.panne@aedion.de -- Stability : stable -- Portability : portable -- -- All types from the OpenGL 3.1 core, see . -- -------------------------------------------------------------------------------- module Graphics.Rendering.OpenGL.Raw.Core31.TypesInternal where import Data.Bits import Data.Int import Data.Word import Data.Typeable import Foreign.C.Types import Foreign.Ptr import Foreign.Storable #ifdef __GLASGOW_HASKELL__ import GHC.Prim #else import Control.Monad import Foreign.Ptr #endif #include "CTypes.h" INTEGRAL_TYPE(GLbitfield,tyConGLbitfield,"GLbitfield",CUInt) INTEGRAL_TYPE(GLboolean,tyConGLboolean,"GLboolean",CUChar) INTEGRAL_TYPE(GLbyte,tyConGLbyte,"GLbyte",CSChar) INTEGRAL_TYPE(GLchar,tyConGLchar,"GLchar",CChar) FLOATING_TYPE(GLclampd,tyConGLclampd,"GLclampd",CDouble) FLOATING_TYPE(GLclampf,tyConGLclampf,"GLclampf",CFloat) FLOATING_TYPE(GLdouble,tyConGLdouble,"GLdouble",CDouble) INTEGRAL_TYPE(GLenum,tyConGLenum,"GLenum",CUInt) FLOATING_TYPE(GLfloat,tyConGLfloat,"GLfloat",CFloat) INTEGRAL_TYPE(GLhalf,tyConGLhalf,"GLhalf",CUShort) INTEGRAL_TYPE(GLint,tyConGLint,"GLint",CInt) INTEGRAL_TYPE(GLintptr,tyConGLintptr,"GLintptr",CPtrdiff) INTEGRAL_TYPE(GLshort,tyConGLshort,"GLshort",CShort) INTEGRAL_TYPE(GLsizei,tyConGLsizei,"GLsizei",CInt) INTEGRAL_TYPE(GLsizeiptr,tyConGLsizeiptr,"GLsizeiptr",CPtrdiff) INTEGRAL_TYPE(GLubyte,tyConGLubyte,"GLubyte",CUChar) INTEGRAL_TYPE(GLuint,tyConGLuint,"GLuint",CUInt) INTEGRAL_TYPE(GLushort,tyConGLushort,"GLushort",CUShort) INTEGRAL_TYPE(GLint64,tyConGLint64,"GLint64",Int64) INTEGRAL_TYPE(GLuint64,tyConGLuint64,"GLuint64",Word64) newtype GLsync = GLSync (Ptr GLsync) -- Not part of the core, but it is very handy to define this here INTEGRAL_TYPE(GLhandle,tyConGLhandle,"GLhandle",CUInt)