module Graphics.Rendering.OpenGL.GL.QueryUtils.PName (
GetPName(..),
GetPName1I(..), GetPName1F(..), GetIPName1I(..),
GetPName2I(..), GetPName2F(..),
GetPName3I(..), GetPName3F(..),
GetPName4I(..), GetPName4F(..), GetIPName4I(..),
GetPNameNI(..),
PName1I(..), PName1F(..), IPName1I(..),
PName2I(..), PName2F(..),
PName3F(..),
PName4I(..), PName4F(..), PName4ISemiIndexed(..),
PNameNI(..),
GetPNameMatrix(..),
PNameMatrix(..),
clipPlaneIndexToEnum,
) where
import Foreign.Marshal.Alloc
import Foreign.Marshal.Array
import Foreign.Ptr
import Foreign.Storable
import Graphics.Rendering.OpenGL.GL.PeekPoke
import Graphics.Rendering.OpenGL.GLU.ErrorsInternal
import Graphics.Rendering.OpenGL.Raw.ARB.Compatibility (
gl_ACCUM_ALPHA_BITS, gl_ACCUM_BLUE_BITS, gl_ACCUM_CLEAR_VALUE,
gl_ACCUM_GREEN_BITS, gl_ACCUM_RED_BITS, gl_ALIASED_POINT_SIZE_RANGE,
gl_ALPHA_BIAS, gl_ALPHA_BITS, gl_ALPHA_SCALE,
gl_ALPHA_TEST_FUNC, gl_ALPHA_TEST_REF,
gl_AUX_BUFFERS, gl_BLUE_BIAS, gl_BLUE_BITS, gl_BLUE_SCALE,
gl_CLAMP_FRAGMENT_COLOR, gl_CLAMP_VERTEX_COLOR,
gl_CLIENT_ACTIVE_TEXTURE,
gl_COLOR_ARRAY_BUFFER_BINDING, gl_COLOR_ARRAY_SIZE, gl_COLOR_ARRAY_STRIDE,
gl_COLOR_ARRAY_TYPE, gl_COLOR_MATERIAL_FACE,
gl_COLOR_MATERIAL_PARAMETER, gl_COLOR_MATRIX, gl_COLOR_MATRIX_STACK_DEPTH,
gl_CURRENT_COLOR, gl_CURRENT_FOG_COORD, gl_CURRENT_INDEX, gl_CURRENT_NORMAL,
gl_CURRENT_RASTER_COLOR, gl_CURRENT_RASTER_DISTANCE, gl_CURRENT_RASTER_INDEX,
gl_CURRENT_RASTER_POSITION, gl_CURRENT_RASTER_POSITION_VALID,
gl_CURRENT_RASTER_SECONDARY_COLOR, gl_CURRENT_RASTER_TEXTURE_COORDS,
gl_CURRENT_SECONDARY_COLOR, gl_CURRENT_TEXTURE_COORDS, gl_DEPTH_BIAS,
gl_DEPTH_BITS, gl_DEPTH_SCALE, gl_EDGE_FLAG,
gl_EDGE_FLAG_ARRAY_BUFFER_BINDING, gl_EDGE_FLAG_ARRAY_STRIDE,
gl_FOG_COLOR, gl_FOG_COORD_ARRAY_BUFFER_BINDING,
gl_FOG_COORD_ARRAY_STRIDE, gl_FOG_COORD_ARRAY_TYPE, gl_FOG_COORD_SRC,
gl_FOG_DENSITY, gl_FOG_END, gl_FOG_HINT, gl_FOG_INDEX, gl_FOG_MODE,
gl_FOG_START, gl_GENERATE_MIPMAP_HINT, gl_GREEN_BIAS, gl_GREEN_BITS,
gl_GREEN_SCALE, gl_INDEX_ARRAY_BUFFER_BINDING,
gl_INDEX_ARRAY_STRIDE, gl_INDEX_ARRAY_TYPE,
gl_INDEX_CLEAR_VALUE, gl_INDEX_OFFSET,
gl_INDEX_SHIFT, gl_INDEX_WRITEMASK,
gl_LIGHT_MODEL_AMBIENT, gl_LIGHT_MODEL_COLOR_CONTROL,
gl_LIGHT_MODEL_LOCAL_VIEWER, gl_LIGHT_MODEL_TWO_SIDE,
gl_LINE_STIPPLE_PATTERN, gl_LINE_STIPPLE_REPEAT, gl_LIST_BASE, gl_LIST_INDEX,
gl_LIST_MODE, gl_MAP1_GRID_DOMAIN, gl_MAP1_GRID_SEGMENTS,
gl_MAP2_GRID_DOMAIN, gl_MAP2_GRID_SEGMENTS, gl_MAP_COLOR,
gl_MAP_STENCIL, gl_MATRIX_MODE, gl_MAX_COLOR_MATRIX_STACK_DEPTH,
gl_MAX_EVAL_ORDER,
gl_MAX_LIGHTS, gl_MAX_LIST_NESTING, gl_MAX_MODELVIEW_STACK_DEPTH,
gl_MAX_NAME_STACK_DEPTH, gl_MAX_PIXEL_MAP_TABLE,
gl_MAX_PROJECTION_STACK_DEPTH, gl_MAX_TEXTURE_COORDS,
gl_MAX_TEXTURE_STACK_DEPTH, gl_MAX_TEXTURE_UNITS,
gl_MODELVIEW_MATRIX, gl_MODELVIEW_STACK_DEPTH, gl_NAME_STACK_DEPTH,
gl_NORMAL_ARRAY_BUFFER_BINDING,
gl_NORMAL_ARRAY_STRIDE, gl_NORMAL_ARRAY_TYPE, gl_PERSPECTIVE_CORRECTION_HINT,
gl_PIXEL_MAP_A_TO_A_SIZE, gl_PIXEL_MAP_B_TO_B_SIZE, gl_PIXEL_MAP_G_TO_G_SIZE,
gl_PIXEL_MAP_I_TO_A_SIZE, gl_PIXEL_MAP_I_TO_B_SIZE, gl_PIXEL_MAP_I_TO_G_SIZE,
gl_PIXEL_MAP_I_TO_I_SIZE, gl_PIXEL_MAP_I_TO_R_SIZE, gl_PIXEL_MAP_R_TO_R_SIZE,
gl_PIXEL_MAP_S_TO_S_SIZE, gl_POINT_DISTANCE_ATTENUATION, gl_POINT_SIZE_MAX,
gl_POINT_SIZE_MIN, gl_POINT_SMOOTH_HINT, gl_POLYGON_MODE,
gl_POST_COLOR_MATRIX_ALPHA_BIAS, gl_POST_COLOR_MATRIX_ALPHA_SCALE,
gl_POST_COLOR_MATRIX_BLUE_BIAS, gl_POST_COLOR_MATRIX_BLUE_SCALE,
gl_POST_COLOR_MATRIX_GREEN_BIAS, gl_POST_COLOR_MATRIX_GREEN_SCALE,
gl_POST_COLOR_MATRIX_RED_BIAS, gl_POST_COLOR_MATRIX_RED_SCALE,
gl_POST_CONVOLUTION_ALPHA_BIAS, gl_POST_CONVOLUTION_ALPHA_SCALE,
gl_POST_CONVOLUTION_BLUE_BIAS, gl_POST_CONVOLUTION_BLUE_SCALE,
gl_POST_CONVOLUTION_GREEN_BIAS,
gl_POST_CONVOLUTION_GREEN_SCALE, gl_POST_CONVOLUTION_RED_BIAS,
gl_POST_CONVOLUTION_RED_SCALE, gl_PROJECTION_MATRIX,
gl_PROJECTION_STACK_DEPTH, gl_RED_BIAS, gl_RED_BITS, gl_RED_SCALE,
gl_RENDER_MODE, gl_RGBA_MODE,
gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING, gl_SECONDARY_COLOR_ARRAY_SIZE,
gl_SECONDARY_COLOR_ARRAY_STRIDE, gl_SECONDARY_COLOR_ARRAY_TYPE,
gl_SHADE_MODEL, gl_STENCIL_BITS,
gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
gl_TEXTURE_COORD_ARRAY_SIZE, gl_TEXTURE_COORD_ARRAY_STRIDE,
gl_TEXTURE_COORD_ARRAY_TYPE, gl_TEXTURE_MATRIX,
gl_TEXTURE_STACK_DEPTH, gl_VERTEX_ARRAY_BUFFER_BINDING,
gl_VERTEX_ARRAY_SIZE, gl_VERTEX_ARRAY_STRIDE, gl_VERTEX_ARRAY_TYPE,
gl_ZOOM_X, gl_ZOOM_Y )
import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram (
gl_CURRENT_MATRIX_STACK_DEPTH )
import Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette (
gl_MATRIX_PALETTE, gl_MAX_MATRIX_PALETTE_STACK_DEPTH)
import Graphics.Rendering.OpenGL.Raw.Core32
import Graphics.Rendering.OpenGL.Raw.EXT ( gl_RGBA_SIGNED_COMPONENTS )
import Graphics.Rendering.OpenGL.Raw.EXT.Cmyka ( gl_PACK_CMYK_HINT, gl_UNPACK_CMYK_HINT )
import Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray ( gl_ARRAY_ELEMENT_LOCK_FIRST, gl_ARRAY_ELEMENT_LOCK_COUNT )
import Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest ( gl_DEPTH_BOUNDS, )
import Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide ( gl_ACTIVE_STENCIL_FACE )
import Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic ( gl_MAX_TEXTURE_MAX_ANISOTROPY )
import Graphics.Rendering.OpenGL.Raw.NV.FogDistance ( gl_FOG_DISTANCE_MODE )
import Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent ( gl_MAX_SHININESS, gl_MAX_SPOT_EXPONENT )
import Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart ( gl_PRIMITIVE_RESTART_INDEX_NV, gl_PRIMITIVE_RESTART_NV )
class GetPName p where
marshalGetPName :: p -> Maybe GLenum
getIntegerv :: GetPName p => p -> Ptr GLint -> IO ()
getIntegerv = maybe (const recordInvalidEnum) glGetIntegerv . marshalGetPName
getFloatv :: GetPName p => p -> Ptr GLfloat -> IO ()
getFloatv = maybe (const recordInvalidEnum) glGetFloatv . marshalGetPName
getDoublev :: GetPName p => p -> Ptr GLdouble -> IO ()
getDoublev = maybe (const recordInvalidEnum) glGetDoublev . marshalGetPName
getBooleanv :: GetPName p => p-> Ptr GLboolean -> IO ()
getBooleanv = makeGetter glGetBooleanv
getBooleaniv :: GetPName p => p -> GLuint -> Ptr GLboolean -> IO ()
getBooleaniv p i = makeGetter (\e -> glGetBooleani_v e i) p
getIntegeriv :: GetPName p => p -> GLuint -> Ptr GLint -> IO ()
getIntegeriv = maybe (\_ _ -> recordInvalidEnum) glGetIntegeri_v . marshalGetPName
makeGetter :: GetPName p => (GLenum -> Ptr a -> IO ()) -> p -> Ptr a -> IO ()
makeGetter f = maybe (const recordInvalidEnum) f . marshalGetPName
class GetPName p => GetPName1I p where
getBoolean1 :: (GLboolean -> a) -> p -> IO a
getBoolean1 = get1 getBooleanv
getInteger1 :: (GLint -> a) -> p -> IO a
getInteger1 = get1 getIntegerv
getEnum1 :: (GLenum -> a) -> p -> IO a
getEnum1 = get1 getIntegerv
getSizei1 :: (GLsizei -> a) -> p -> IO a
getSizei1 = get1 getIntegerv
class GetPName p => GetPName1F p where
getFloat1 :: (GLfloat -> a) -> p -> IO a
getFloat1 = get1 getFloatv
getClampf1 :: (GLclampf -> a) -> p -> IO a
getClampf1 = get1 getFloatv
getDouble1 :: (GLdouble -> a) -> p -> IO a
getDouble1 = get1 getDoublev
getClampd1 :: (GLclampd -> a) -> p -> IO a
getClampd1 = get1 getDoublev
get1 :: (Storable b, Storable c, GetPName p)
=> (p -> Ptr c -> IO ())
-> (b -> a)
-> p -> IO a
get1 g f n = alloca $ \buf -> do
g n buf
peek1 f (castPtr buf)
class GetPName p => GetIPName1I p where
getBoolean1i :: (GLboolean -> a) -> p -> GLuint -> IO a
getBoolean1i = get1i getBooleaniv
getInteger1i :: (GLint -> a) -> p -> GLuint -> IO a
getInteger1i = get1i getIntegeriv
getEnum1i :: (GLenum -> a) -> p -> GLuint -> IO a
getEnum1i = get1i getIntegeriv
getSizei1i :: (GLsizei -> a) -> p -> GLuint -> IO a
getSizei1i = get1i getIntegeriv
get1i :: (Storable b, Storable c, GetPName p)
=> (p -> GLuint -> Ptr c -> IO ())
-> (b -> a)
-> p -> GLuint -> IO a
get1i g f n i = alloca $ \buf -> do
g n i buf
peek1 f (castPtr buf)
class GetPName p => GetPName2I p where
getBoolean2 :: (GLboolean -> GLboolean -> a) -> p -> IO a
getBoolean2 = get2 getBooleanv
getInteger2 :: (GLint -> GLint -> a) -> p -> IO a
getInteger2 = get2 getIntegerv
getEnum2 :: (GLenum -> GLenum -> a) -> p -> IO a
getEnum2 = get2 getIntegerv
getSizei2 :: (GLsizei -> GLsizei -> a) -> p -> IO a
getSizei2 = get2 getIntegerv
class GetPName p => GetPName2F p where
getFloat2 :: (GLfloat -> GLfloat -> a) -> p -> IO a
getFloat2 = get2 getFloatv
getClampf2 :: (GLclampf -> GLclampf -> a) -> p -> IO a
getClampf2 = get2 getFloatv
getDouble2 :: (GLdouble -> GLdouble -> a) -> p -> IO a
getDouble2 = get2 getDoublev
getClampd2 :: (GLclampd -> GLclampd -> a) -> p -> IO a
getClampd2 = get2 getDoublev
get2 :: (Storable b, Storable c, GetPName p)
=> (p -> Ptr c -> IO ())
-> (b -> b -> a)
-> p -> IO a
get2 g f n = allocaArray 2 $ \buf -> do
g n buf
peek2 f (castPtr buf)
class GetPName p => GetPName3I p where
getBoolean3 :: (GLboolean -> GLboolean -> GLboolean -> a) -> p -> IO a
getBoolean3 = get3 getBooleanv
getInteger3 :: (GLint -> GLint -> GLint -> a) -> p -> IO a
getInteger3 = get3 getIntegerv
getEnum3 :: (GLenum -> GLenum -> GLenum -> a) -> p -> IO a
getEnum3 = get3 getIntegerv
getSizei3 :: (GLsizei -> GLsizei -> GLsizei -> a) -> p -> IO a
getSizei3 = get3 getIntegerv
class GetPName p => GetPName3F p where
getFloat3 :: (GLfloat -> GLfloat -> GLfloat -> a) -> p -> IO a
getFloat3 = get3 getFloatv
getClampf3 :: (GLclampf -> GLclampf -> GLclampf -> a) -> p -> IO a
getClampf3 = get3 getFloatv
getDouble3 :: (GLdouble -> GLdouble -> GLdouble -> a) -> p -> IO a
getDouble3 = get3 getDoublev
getClampd3 :: (GLclampd -> GLclampd -> GLclampd -> a) -> p -> IO a
getClampd3 = get3 getDoublev
get3 :: (Storable b, Storable c, GetPName p)
=> (p -> Ptr c -> IO ())
-> (b -> b -> b -> a)
-> p -> IO a
get3 g f n = allocaArray 3 $ \buf -> do
g n buf
peek3 f (castPtr buf)
class GetPName p => GetPName4I p where
getBoolean4 :: (GLboolean -> GLboolean -> GLboolean -> GLboolean -> a) -> p -> IO a
getBoolean4 = get4 getBooleanv
getInteger4 :: (GLint -> GLint -> GLint -> GLint -> a) -> p -> IO a
getInteger4 = get4 getIntegerv
getEnum4 :: (GLenum -> GLenum -> GLenum -> GLenum -> a) -> p -> IO a
getEnum4 = get4 getIntegerv
getSizei4 :: (GLsizei -> GLsizei -> GLsizei -> GLsizei -> a) -> p -> IO a
getSizei4 = get4 getIntegerv
class GetPName p => GetPName4F p where
getFloat4 :: (GLfloat -> GLfloat -> GLfloat -> GLfloat -> a) -> p -> IO a
getFloat4 = get4 getFloatv
getClampf4 :: (GLclampf -> GLclampf -> GLclampf -> GLclampf -> a) -> p -> IO a
getClampf4 = get4 getFloatv
getDouble4 :: (GLdouble -> GLdouble -> GLdouble -> GLdouble -> a) -> p -> IO a
getDouble4 = get4 getDoublev
getClampd4 :: (GLclampd -> GLclampd -> GLclampd -> GLclampd -> a) -> p -> IO a
getClampd4 = get4 getDoublev
get4 :: (Storable b, Storable c, GetPName p)
=> (p -> Ptr c -> IO ())
-> (b -> b -> b -> b -> a)
-> p -> IO a
get4 g f n = allocaArray 4 $ \buf -> do
g n buf
peek4 f (castPtr buf)
class GetPName p => GetIPName4I p where
getBoolean4i :: (GLboolean -> GLboolean -> GLboolean -> GLboolean -> a) -> p -> GLuint -> IO a
getBoolean4i = get4i getBooleaniv
getInteger4i :: (GLint -> GLint -> GLint -> GLint -> a) -> p -> GLuint -> IO a
getInteger4i = get4i getIntegeriv
getEnum4i :: (GLenum -> GLenum -> GLenum -> GLenum -> a) -> p -> GLuint -> IO a
getEnum4i = get4i getIntegeriv
getSizei4i :: (GLsizei -> GLsizei -> GLsizei -> GLsizei -> a) -> p -> GLuint -> IO a
getSizei4i = get4i getIntegeriv
get4i :: (Storable b, Storable c, GetPName p)
=> (p -> GLuint -> Ptr c -> IO ())
-> (b -> b -> b -> b -> a)
-> p -> GLuint -> IO a
get4i g f n i = allocaArray 4 $ \buf -> do
g n i buf
peek4 f (castPtr buf)
class GetPName p => GetPNameNI p where
getIntegerN :: (GLint -> a) -> p -> Int -> IO [a]
getIntegerN f p n = allocaArray n $ \buf -> do
getIntegerv p buf
(map f) `fmap` peekArray n buf
class GetPName p => GetPNameMatrix p where
getMatrixf :: p -> Ptr GLfloat -> IO ()
getMatrixf = getFloatv
getMatrixd :: p -> Ptr GLdouble -> IO ()
getMatrixd = getDoublev
data PName1I
= GetEdgeFlag
| GetRGBAMode
| GetCurrentIndex
| GetMaxTextureUnits
| GetListIndex
| GetListMode
| GetMaxListNesting
| GetListBase
| GetRenderMode
| GetDrawFramebufferBinding
| GetReadFramebufferBinding
| GetFramebufferBinding
| GetRenderbufferBinding
| GetPerspectiveCorrectionHint
| GetPointSmoothHint
| GetLineSmoothHint
| GetPolygonSmoothHint
| GetFogHint
| GetGenerateMipmapHint
| GetTextureCompressionHint
| GetPackCMYKHint
| GetUnpackCMYKHint
| GetVertexArrayBinding
| GetMaxNameStackDepth
| GetNameStackDepth
| GetContextProfileMask
| GetPackSwapBytes
| GetUnpackSwapBytes
| GetPackLSBFirst
| GetUnpackLSBFirst
| GetPackRowLength
| GetUnpackRowLength
| GetPackSkipRows
| GetUnpackSkipRows
| GetPackSkipPixels
| GetUnpackSkipPixels
| GetPackAlignment
| GetUnpackAlignment
| GetPackImageHeight
| GetUnpackImageHeight
| GetPackSkipImages
| GetUnpackSkipImages
| GetPixelMapIToISize
| GetPixelMapSToSSize
| GetPixelMapIToRSize
| GetPixelMapIToGSize
| GetPixelMapIToBSize
| GetPixelMapIToASize
| GetPixelMapRToRSize
| GetPixelMapGToGSize
| GetPixelMapBToBSize
| GetPixelMapAToASize
| GetMaxPixelMapTable
| GetMaxVertexTextureImageUnits
| GetMaxTextureImageUnits
| GetMaxCombinedTextureImageUnits
| GetMaxTextureCoords
| GetMaxVertexUniformComponents
| GetMaxFragmentUniformComponents
| GetMaxVertexAttribs
| GetMaxVaryingFloats
| GetMatrixMode
| GetModelviewStackDepth
| GetProjectionStackDepth
| GetTextureStackDepth
| GetColorMatrixStackDepth
| GetMaxModelviewStackDepth
| GetMaxProjectionStackDepth
| GetMaxTextureStackDepth
| GetMaxColorMatrixStackDepth
| GetMaxMatrixPaletteStackDepth
| GetCurrentMatrixStackDepth
| GetActiveTexture
| GetVertexArraySize
| GetVertexArrayType
| GetVertexArrayStride
| GetNormalArrayType
| GetNormalArrayStride
| GetColorArraySize
| GetColorArrayType
| GetColorArrayStride
| GetIndexArrayType
| GetIndexArrayStride
| GetTextureCoordArraySize
| GetTextureCoordArrayType
| GetTextureCoordArrayStride
| GetEdgeFlagArrayStride
| GetFogCoordArrayType
| GetFogCoordArrayStride
| GetSecondaryColorArraySize
| GetSecondaryColorArrayType
| GetSecondaryColorArrayStride
| GetArrayElementLockCount
| GetArrayElementLockFirst
| GetClientActiveTexture
| GetMaxElementsVertices
| GetMaxElementsIndices
| GetPrimitiveRestartIndex
| GetPrimitiveRestartNV
| GetPrimitiveRestartIndexNV
| GetArrayBufferBinding
| GetElementArrayBufferBinding
| GetCopyReadBuffer
| GetCopyWriteBuffer
| GetPixelPackBufferBinding
| GetPixelUnpackBufferBinding
| GetTransformFeedbackBufferBinding
| GetVertexArrayBufferBinding
| GetNormalArrayBufferBinding
| GetColorArrayBufferBinding
| GetIndexArrayBufferBinding
| GetTextureCoordArrayBufferBinding
| GetEdgeFlagArrayBufferBinding
| GetSecondaryColorArrayBufferBinding
| GetFogCoordArrayBufferBinding
| GetMaxClipPlanes
| GetMaxLights
| GetFrontFace
| GetLightModelLocalViewer
| GetLightModelTwoSide
| GetLightModelColorControl
| GetColorMaterialFace
| GetColorMaterialParameter
| GetShadeModel
| GetFragmentColorClamp
| GetVertexColorClamp
| GetReadColorClamp
| GetMaxEvalOrder
| GetMap1GridSegments
| GetFogMode
| GetFogIndex
| GetFogCoordSrc
| GetFogDistanceMode
| GetAuxBuffers
| GetDoublebuffer
| GetStereo
| GetRedBits
| GetGreenBits
| GetBlueBits
| GetAlphaBits
| GetStencilBits
| GetDepthBits
| GetAccumRedBits
| GetAccumGreenBits
| GetAccumBlueBits
| GetAccumAlphaBits
| GetDrawBuffer
| GetDrawBufferN GLsizei
| GetMaxDrawBuffers
| GetIndexWritemask
| GetDepthWritemask
| GetStencilWritemask
| GetStencilClearValue
| GetCurrentProgram
| GetMaxTransformFeedbackSeparateAttribs
| GetMaxTransformFeedbackInterleavedComponents
| GetMaxTransformFeedbackSeparateComponents
| GetCurrentRasterIndex
| GetCurrentRasterPositionValid
| GetLineStippleRepeat
| GetLineStipplePattern
| GetSampleCoverageInvert
| GetAlphaTestFunc
| GetStencilFunc
| GetStencilValueMask
| GetStencilRef
| GetStencilFail
| GetStencilPassDepthFail
| GetStencilPassDepthPass
| GetActiveStencilFace
| GetLogicOpMode
| GetBlendDst
| GetBlendSrc
| GetBlendSrcRGB
| GetBlendSrcAlpha
| GetBlendDstRGB
| GetBlendDstAlpha
| GetBlendEquation
| GetBlendEquationAlpha
| GetDepthFunc
| GetMapColor
| GetMapStencil
| GetIndexShift
| GetIndexOffset
| GetCullFaceMode
| GetNumCompressedTextureFormats
| GetMaxTextureSize
| GetMax3DTextureSize
| GetMaxCubeMapTextureSize
| GetMaxRectangleTextureSize
| GetReadBuffer
| GetTextureBinding1D
| GetTextureBinding2D
| GetTextureBinding3D
| GetTextureBindingCubeMap
| GetTextureBindingRectangle
| GetSubpixelBits
| GetSamples
| GetSampleBuffers
instance GetPName1I PName1I where
instance GetPName PName1I where
marshalGetPName pn = case pn of
GetEdgeFlag -> Just gl_EDGE_FLAG
GetRGBAMode -> Just gl_RGBA_MODE
GetCurrentIndex -> Just gl_CURRENT_INDEX
GetMaxTextureUnits -> Just gl_MAX_TEXTURE_UNITS
GetListIndex -> Just gl_LIST_INDEX
GetListMode -> Just gl_LIST_MODE
GetMaxListNesting -> Just gl_MAX_LIST_NESTING
GetListBase -> Just gl_LIST_BASE
GetRenderMode -> Just gl_RENDER_MODE
GetDrawFramebufferBinding -> Just gl_DRAW_FRAMEBUFFER_BINDING
GetReadFramebufferBinding -> Just gl_READ_FRAMEBUFFER_BINDING
GetFramebufferBinding -> Just gl_FRAMEBUFFER_BINDING
GetRenderbufferBinding -> Just gl_RENDERBUFFER_BINDING
GetPerspectiveCorrectionHint -> Just gl_PERSPECTIVE_CORRECTION_HINT
GetPointSmoothHint -> Just gl_POINT_SMOOTH_HINT
GetLineSmoothHint -> Just gl_LINE_SMOOTH_HINT
GetPolygonSmoothHint -> Just gl_POLYGON_SMOOTH_HINT
GetFogHint -> Just gl_FOG_HINT
GetGenerateMipmapHint -> Just gl_GENERATE_MIPMAP_HINT
GetTextureCompressionHint -> Just gl_TEXTURE_COMPRESSION_HINT
GetPackCMYKHint -> Just gl_PACK_CMYK_HINT
GetUnpackCMYKHint -> Just gl_UNPACK_CMYK_HINT
GetVertexArrayBinding -> Just gl_VERTEX_ARRAY_BINDING
GetMaxNameStackDepth -> Just gl_MAX_NAME_STACK_DEPTH
GetNameStackDepth -> Just gl_NAME_STACK_DEPTH
GetContextProfileMask -> Just gl_CONTEXT_PROFILE_MASK
GetPackSwapBytes -> Just gl_PACK_SWAP_BYTES
GetUnpackSwapBytes -> Just gl_UNPACK_SWAP_BYTES
GetPackLSBFirst -> Just gl_PACK_LSB_FIRST
GetUnpackLSBFirst -> Just gl_UNPACK_LSB_FIRST
GetPackRowLength -> Just gl_PACK_ROW_LENGTH
GetUnpackRowLength -> Just gl_UNPACK_ROW_LENGTH
GetPackSkipRows -> Just gl_PACK_SKIP_ROWS
GetUnpackSkipRows -> Just gl_UNPACK_SKIP_ROWS
GetPackSkipPixels -> Just gl_PACK_SKIP_PIXELS
GetUnpackSkipPixels -> Just gl_UNPACK_SKIP_PIXELS
GetPackAlignment -> Just gl_PACK_ALIGNMENT
GetUnpackAlignment -> Just gl_UNPACK_ALIGNMENT
GetPackSkipImages -> Just gl_PACK_SKIP_IMAGES
GetUnpackSkipImages -> Just gl_UNPACK_SKIP_IMAGES
GetPackImageHeight -> Just gl_PACK_IMAGE_HEIGHT
GetUnpackImageHeight -> Just gl_UNPACK_IMAGE_HEIGHT
GetPixelMapIToISize -> Just gl_PIXEL_MAP_I_TO_I_SIZE
GetPixelMapSToSSize -> Just gl_PIXEL_MAP_S_TO_S_SIZE
GetPixelMapIToRSize -> Just gl_PIXEL_MAP_I_TO_R_SIZE
GetPixelMapIToGSize -> Just gl_PIXEL_MAP_I_TO_G_SIZE
GetPixelMapIToBSize -> Just gl_PIXEL_MAP_I_TO_B_SIZE
GetPixelMapIToASize -> Just gl_PIXEL_MAP_I_TO_A_SIZE
GetPixelMapRToRSize -> Just gl_PIXEL_MAP_R_TO_R_SIZE
GetPixelMapGToGSize -> Just gl_PIXEL_MAP_G_TO_G_SIZE
GetPixelMapBToBSize -> Just gl_PIXEL_MAP_B_TO_B_SIZE
GetPixelMapAToASize -> Just gl_PIXEL_MAP_A_TO_A_SIZE
GetMaxPixelMapTable -> Just gl_MAX_PIXEL_MAP_TABLE
GetMaxVertexTextureImageUnits -> Just gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS
GetMaxTextureImageUnits -> Just gl_MAX_TEXTURE_IMAGE_UNITS
GetMaxCombinedTextureImageUnits -> Just gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS
GetMaxTextureCoords -> Just gl_MAX_TEXTURE_COORDS
GetMaxVertexUniformComponents -> Just gl_MAX_VERTEX_UNIFORM_COMPONENTS
GetMaxFragmentUniformComponents -> Just gl_MAX_FRAGMENT_UNIFORM_COMPONENTS
GetMaxVaryingFloats -> Just gl_MAX_VARYING_COMPONENTS
GetMaxVertexAttribs -> Just gl_MAX_VERTEX_ATTRIBS
GetMatrixMode -> Just gl_MATRIX_MODE
GetModelviewStackDepth -> Just gl_MODELVIEW_STACK_DEPTH
GetProjectionStackDepth -> Just gl_PROJECTION_STACK_DEPTH
GetTextureStackDepth -> Just gl_TEXTURE_STACK_DEPTH
GetColorMatrixStackDepth -> Just gl_COLOR_MATRIX_STACK_DEPTH
GetMaxModelviewStackDepth -> Just gl_MAX_MODELVIEW_STACK_DEPTH
GetMaxProjectionStackDepth -> Just gl_MAX_PROJECTION_STACK_DEPTH
GetMaxTextureStackDepth -> Just gl_MAX_TEXTURE_STACK_DEPTH
GetMaxColorMatrixStackDepth -> Just gl_MAX_COLOR_MATRIX_STACK_DEPTH
GetMaxMatrixPaletteStackDepth -> Just gl_MAX_MATRIX_PALETTE_STACK_DEPTH
GetCurrentMatrixStackDepth -> Just gl_CURRENT_MATRIX_STACK_DEPTH
GetActiveTexture -> Just gl_ACTIVE_TEXTURE
GetVertexArraySize -> Just gl_VERTEX_ARRAY_SIZE
GetVertexArrayType -> Just gl_VERTEX_ARRAY_TYPE
GetVertexArrayStride -> Just gl_VERTEX_ARRAY_STRIDE
GetNormalArrayType -> Just gl_NORMAL_ARRAY_TYPE
GetNormalArrayStride -> Just gl_NORMAL_ARRAY_STRIDE
GetColorArraySize -> Just gl_COLOR_ARRAY_SIZE
GetColorArrayType -> Just gl_COLOR_ARRAY_TYPE
GetColorArrayStride -> Just gl_COLOR_ARRAY_STRIDE
GetIndexArrayType -> Just gl_INDEX_ARRAY_TYPE
GetIndexArrayStride -> Just gl_INDEX_ARRAY_STRIDE
GetTextureCoordArraySize -> Just gl_TEXTURE_COORD_ARRAY_SIZE
GetTextureCoordArrayType -> Just gl_TEXTURE_COORD_ARRAY_TYPE
GetTextureCoordArrayStride -> Just gl_TEXTURE_COORD_ARRAY_STRIDE
GetEdgeFlagArrayStride -> Just gl_EDGE_FLAG_ARRAY_STRIDE
GetFogCoordArrayType -> Just gl_FOG_COORD_ARRAY_TYPE
GetFogCoordArrayStride -> Just gl_FOG_COORD_ARRAY_STRIDE
GetSecondaryColorArraySize -> Just gl_SECONDARY_COLOR_ARRAY_SIZE
GetSecondaryColorArrayType -> Just gl_SECONDARY_COLOR_ARRAY_TYPE
GetSecondaryColorArrayStride -> Just gl_SECONDARY_COLOR_ARRAY_STRIDE
GetArrayElementLockCount -> Just gl_ARRAY_ELEMENT_LOCK_COUNT
GetArrayElementLockFirst -> Just gl_ARRAY_ELEMENT_LOCK_FIRST
GetClientActiveTexture -> Just gl_CLIENT_ACTIVE_TEXTURE
GetMaxElementsVertices -> Just gl_MAX_ELEMENTS_VERTICES
GetMaxElementsIndices -> Just gl_MAX_ELEMENTS_INDICES
GetPrimitiveRestartIndex -> Just gl_PRIMITIVE_RESTART_INDEX
GetPrimitiveRestartNV -> Just gl_PRIMITIVE_RESTART_NV
GetPrimitiveRestartIndexNV -> Just gl_PRIMITIVE_RESTART_INDEX_NV
GetArrayBufferBinding -> Just gl_ARRAY_BUFFER_BINDING
GetElementArrayBufferBinding -> Just gl_ELEMENT_ARRAY_BUFFER_BINDING
GetCopyReadBuffer -> Just gl_COPY_READ_BUFFER
GetCopyWriteBuffer -> Just gl_COPY_WRITE_BUFFER
GetPixelPackBufferBinding -> Just gl_PIXEL_PACK_BUFFER_BINDING
GetPixelUnpackBufferBinding -> Just gl_PIXEL_UNPACK_BUFFER_BINDING
GetTransformFeedbackBufferBinding -> Just gl_TRANSFORM_FEEDBACK_BUFFER_BINDING
GetVertexArrayBufferBinding -> Just gl_VERTEX_ARRAY_BUFFER_BINDING
GetNormalArrayBufferBinding -> Just gl_NORMAL_ARRAY_BUFFER_BINDING
GetColorArrayBufferBinding -> Just gl_COLOR_ARRAY_BUFFER_BINDING
GetIndexArrayBufferBinding -> Just gl_INDEX_ARRAY_BUFFER_BINDING
GetTextureCoordArrayBufferBinding -> Just gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING
GetEdgeFlagArrayBufferBinding -> Just gl_EDGE_FLAG_ARRAY_BUFFER_BINDING
GetSecondaryColorArrayBufferBinding -> Just gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING
GetFogCoordArrayBufferBinding -> Just gl_FOG_COORD_ARRAY_BUFFER_BINDING
GetMaxClipPlanes -> Just gl_MAX_CLIP_DISTANCES
GetMaxLights -> Just gl_MAX_LIGHTS
GetFrontFace -> Just gl_FRONT_FACE
GetLightModelLocalViewer -> Just gl_LIGHT_MODEL_LOCAL_VIEWER
GetLightModelTwoSide -> Just gl_LIGHT_MODEL_TWO_SIDE
GetLightModelColorControl -> Just gl_LIGHT_MODEL_COLOR_CONTROL
GetColorMaterialFace -> Just gl_COLOR_MATERIAL_FACE
GetColorMaterialParameter -> Just gl_COLOR_MATERIAL_PARAMETER
GetShadeModel -> Just gl_SHADE_MODEL
GetVertexColorClamp -> Just gl_CLAMP_VERTEX_COLOR
GetFragmentColorClamp -> Just gl_CLAMP_FRAGMENT_COLOR
GetReadColorClamp -> Just gl_CLAMP_READ_COLOR
GetMaxEvalOrder -> Just gl_MAX_EVAL_ORDER
GetMap1GridSegments -> Just gl_MAP1_GRID_SEGMENTS
GetFogMode -> Just gl_FOG_MODE
GetFogIndex -> Just gl_FOG_INDEX
GetFogCoordSrc -> Just gl_FOG_COORD_SRC
GetFogDistanceMode -> Just gl_FOG_DISTANCE_MODE
GetAuxBuffers -> Just gl_AUX_BUFFERS
GetDoublebuffer -> Just gl_DOUBLEBUFFER
GetStereo -> Just gl_STEREO
GetRedBits -> Just gl_RED_BITS
GetGreenBits -> Just gl_GREEN_BITS
GetBlueBits -> Just gl_BLUE_BITS
GetAlphaBits -> Just gl_ALPHA_BITS
GetDepthBits -> Just gl_DEPTH_BITS
GetStencilBits -> Just gl_STENCIL_BITS
GetAccumRedBits -> Just gl_ACCUM_RED_BITS
GetAccumGreenBits -> Just gl_ACCUM_GREEN_BITS
GetAccumBlueBits -> Just gl_ACCUM_BLUE_BITS
GetAccumAlphaBits -> Just gl_ACCUM_ALPHA_BITS
GetDrawBuffer -> Just gl_DRAW_BUFFER
GetDrawBufferN i -> drawBufferIndexToEnum i
GetMaxDrawBuffers -> Just gl_MAX_DRAW_BUFFERS
GetIndexWritemask -> Just gl_INDEX_WRITEMASK
GetDepthWritemask -> Just gl_DEPTH_WRITEMASK
GetStencilWritemask -> Just gl_STENCIL_WRITEMASK
GetStencilClearValue -> Just gl_STENCIL_CLEAR_VALUE
GetCurrentProgram -> Just gl_CURRENT_PROGRAM
GetMaxTransformFeedbackSeparateAttribs -> Just gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS
GetMaxTransformFeedbackSeparateComponents -> Just gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS
GetMaxTransformFeedbackInterleavedComponents -> Just gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS
GetCurrentRasterIndex -> Just gl_CURRENT_RASTER_INDEX
GetCurrentRasterPositionValid -> Just gl_CURRENT_RASTER_POSITION_VALID
GetLineStipplePattern -> Just gl_LINE_STIPPLE_PATTERN
GetLineStippleRepeat -> Just gl_LINE_STIPPLE_REPEAT
GetSampleCoverageInvert -> Just gl_SAMPLE_COVERAGE_INVERT
GetAlphaTestFunc -> Just gl_ALPHA_TEST_FUNC
GetStencilFunc -> Just gl_STENCIL_FUNC
GetStencilValueMask -> Just gl_STENCIL_VALUE_MASK
GetStencilRef -> Just gl_STENCIL_REF
GetStencilFail -> Just gl_STENCIL_FAIL
GetStencilPassDepthFail -> Just gl_STENCIL_PASS_DEPTH_FAIL
GetStencilPassDepthPass -> Just gl_STENCIL_PASS_DEPTH_PASS
GetActiveStencilFace -> Just gl_ACTIVE_STENCIL_FACE
GetLogicOpMode -> Just gl_LOGIC_OP_MODE
GetBlendDst -> Just gl_BLEND_DST
GetBlendSrc -> Just gl_BLEND_SRC
GetBlendDstRGB -> Just gl_BLEND_DST_RGB
GetBlendSrcRGB -> Just gl_BLEND_SRC_RGB
GetBlendDstAlpha -> Just gl_BLEND_DST_ALPHA
GetBlendSrcAlpha -> Just gl_BLEND_SRC_ALPHA
GetBlendEquation -> Just gl_BLEND_EQUATION_RGB
GetBlendEquationAlpha -> Just gl_BLEND_EQUATION_ALPHA
GetDepthFunc -> Just gl_DEPTH_FUNC
GetMapColor -> Just gl_MAP_COLOR
GetMapStencil -> Just gl_MAP_STENCIL
GetIndexShift -> Just gl_INDEX_SHIFT
GetIndexOffset -> Just gl_INDEX_OFFSET
GetCullFaceMode -> Just gl_CULL_FACE_MODE
GetNumCompressedTextureFormats -> Just gl_NUM_COMPRESSED_TEXTURE_FORMATS
GetMaxTextureSize -> Just gl_MAX_TEXTURE_SIZE
GetMax3DTextureSize -> Just gl_MAX_3D_TEXTURE_SIZE
GetMaxCubeMapTextureSize -> Just gl_MAX_CUBE_MAP_TEXTURE_SIZE
GetMaxRectangleTextureSize -> Just gl_MAX_RECTANGLE_TEXTURE_SIZE
GetReadBuffer -> Just gl_READ_BUFFER
GetTextureBinding1D -> Just gl_TEXTURE_BINDING_1D
GetTextureBinding2D -> Just gl_TEXTURE_BINDING_2D
GetTextureBinding3D -> Just gl_TEXTURE_BINDING_3D
GetTextureBindingCubeMap -> Just gl_TEXTURE_BINDING_CUBE_MAP
GetTextureBindingRectangle -> Just gl_TEXTURE_BINDING_RECTANGLE
GetSubpixelBits -> Just gl_SUBPIXEL_BITS
GetSampleBuffers -> Just gl_SAMPLE_BUFFERS
GetSamples -> Just gl_SAMPLES
drawBufferIndexToEnum :: GLsizei -> Maybe GLenum
drawBufferIndexToEnum i
| 0 <= i && i <= maxDrawBufferIndex = Just (gl_DRAW_BUFFER0 + fromIntegral i)
| otherwise = Nothing
maxDrawBufferIndex :: GLsizei
maxDrawBufferIndex = fromIntegral (gl_DRAW_BUFFER15 gl_DRAW_BUFFER0)
data PName1F
= GetCurrentFogCoord
| GetZoomX
| GetZoomY
| GetMaxShininess
| GetMaxSpotExponent
| GetFogStart
| GetFogEnd
| GetFogDensity
| GetDepthClearValue
| GetIndexClearValue
| GetCurrentRasterDistance
| GetPointSizeMin
| GetPointSizeMax
| GetPointFadeThresholdSize
| GetSmoothPointSizeGranularity
| GetPointSize
| GetLineWidth
| GetSmoothLineWidthGranularity
| GetSampleCoverageValue
| GetAlphaTestRef
| GetRedScale
| GetGreenScale
| GetBlueScale
| GetAlphaScale
| GetPostConvolutionRedScale
| GetPostConvolutionGreenScale
| GetPostConvolutionBlueScale
| GetPostConvolutionAlphaScale
| GetPostColorMatrixRedScale
| GetPostColorMatrixGreenScale
| GetPostColorMatrixBlueScale
| GetPostColorMatrixAlphaScale
| GetRedBias
| GetGreenBias
| GetBlueBias
| GetAlphaBias
| GetPostConvolutionRedBias
| GetPostConvolutionGreenBias
| GetPostConvolutionBlueBias
| GetPostConvolutionAlphaBias
| GetPostColorMatrixRedBias
| GetPostColorMatrixGreenBias
| GetPostColorMatrixBlueBias
| GetPostColorMatrixAlphaBias
| GetDepthScale
| GetDepthBias
| GetPolygonOffsetFactor
| GetPolygonOffsetUnits
| GetMaxTextureMaxAnisotropy
| GetMaxTextureLODBias
instance GetPName1F PName1F where
instance GetPName PName1F where
marshalGetPName pn = case pn of
GetCurrentFogCoord -> Just gl_CURRENT_FOG_COORD
GetZoomX -> Just gl_ZOOM_X
GetZoomY -> Just gl_ZOOM_Y
GetMaxShininess -> Just gl_MAX_SHININESS
GetMaxSpotExponent -> Just gl_MAX_SPOT_EXPONENT
GetFogStart -> Just gl_FOG_START
GetFogEnd -> Just gl_FOG_END
GetFogDensity -> Just gl_FOG_DENSITY
GetDepthClearValue -> Just gl_DEPTH_CLEAR_VALUE
GetIndexClearValue -> Just gl_INDEX_CLEAR_VALUE
GetCurrentRasterDistance -> Just gl_CURRENT_RASTER_DISTANCE
GetPointSizeMin -> Just gl_POINT_SIZE_MIN
GetPointSizeMax -> Just gl_POINT_SIZE_MAX
GetPointFadeThresholdSize -> Just gl_POINT_FADE_THRESHOLD_SIZE
GetSmoothPointSizeGranularity -> Just gl_POINT_SIZE_GRANULARITY
GetPointSize -> Just gl_POINT_SIZE
GetSmoothLineWidthGranularity -> Just gl_SMOOTH_LINE_WIDTH_GRANULARITY
GetLineWidth -> Just gl_LINE_WIDTH
GetSampleCoverageValue -> Just gl_SAMPLE_COVERAGE_VALUE
GetAlphaTestRef -> Just gl_ALPHA_TEST_REF
GetRedScale -> Just gl_RED_SCALE
GetRedBias -> Just gl_RED_BIAS
GetGreenScale -> Just gl_GREEN_SCALE
GetGreenBias -> Just gl_GREEN_BIAS
GetBlueScale -> Just gl_BLUE_SCALE
GetBlueBias -> Just gl_BLUE_BIAS
GetAlphaScale -> Just gl_ALPHA_SCALE
GetAlphaBias -> Just gl_ALPHA_BIAS
GetPostConvolutionRedScale -> Just gl_POST_CONVOLUTION_RED_SCALE
GetPostConvolutionGreenScale -> Just gl_POST_CONVOLUTION_GREEN_SCALE
GetPostConvolutionBlueScale -> Just gl_POST_CONVOLUTION_BLUE_SCALE
GetPostConvolutionAlphaScale -> Just gl_POST_CONVOLUTION_ALPHA_SCALE
GetPostConvolutionRedBias -> Just gl_POST_CONVOLUTION_RED_BIAS
GetPostConvolutionGreenBias -> Just gl_POST_CONVOLUTION_GREEN_BIAS
GetPostConvolutionBlueBias -> Just gl_POST_CONVOLUTION_BLUE_BIAS
GetPostConvolutionAlphaBias -> Just gl_POST_CONVOLUTION_ALPHA_BIAS
GetPostColorMatrixRedScale -> Just gl_POST_COLOR_MATRIX_RED_SCALE
GetPostColorMatrixGreenScale -> Just gl_POST_COLOR_MATRIX_GREEN_SCALE
GetPostColorMatrixBlueScale -> Just gl_POST_COLOR_MATRIX_BLUE_SCALE
GetPostColorMatrixAlphaScale -> Just gl_POST_COLOR_MATRIX_ALPHA_SCALE
GetPostColorMatrixRedBias -> Just gl_POST_COLOR_MATRIX_RED_BIAS
GetPostColorMatrixGreenBias -> Just gl_POST_COLOR_MATRIX_GREEN_BIAS
GetPostColorMatrixBlueBias -> Just gl_POST_COLOR_MATRIX_BLUE_BIAS
GetPostColorMatrixAlphaBias -> Just gl_POST_COLOR_MATRIX_ALPHA_BIAS
GetDepthScale -> Just gl_DEPTH_SCALE
GetDepthBias -> Just gl_DEPTH_BIAS
GetPolygonOffsetFactor -> Just gl_POLYGON_OFFSET_FACTOR
GetPolygonOffsetUnits -> Just gl_POLYGON_OFFSET_UNITS
GetMaxTextureMaxAnisotropy -> Just gl_MAX_TEXTURE_MAX_ANISOTROPY
GetMaxTextureLODBias -> Just gl_MAX_TEXTURE_LOD_BIAS
data IPName1I
= GetTransformFeedbackBuffer
| GetTransformFeedbackBufferStart
| GetTransformFeedbackBufferSize
instance GetIPName1I IPName1I where
instance GetPName IPName1I where
marshalGetPName pn = case pn of
GetTransformFeedbackBuffer -> Just gl_TRANSFORM_FEEDBACK_BUFFER
GetTransformFeedbackBufferSize -> Just gl_TRANSFORM_FEEDBACK_BUFFER_SIZE
GetTransformFeedbackBufferStart -> Just gl_TRANSFORM_FEEDBACK_BUFFER_START
data PName2I
= GetMaxViewportDims
| GetMap2GridSegments
| GetPolygonMode
instance GetPName2I PName2I where
instance GetPName PName2I where
marshalGetPName pn = case pn of
GetMaxViewportDims -> Just gl_MAX_VIEWPORT_DIMS
GetMap2GridSegments -> Just gl_MAP2_GRID_SEGMENTS
GetPolygonMode -> Just gl_POLYGON_MODE
data PName2F
= GetDepthRange
| GetMap1GridDomain
| GetAliasedPointSizeRange
| GetSmoothPointSizeRange
| GetAliasedLineWidthRange
| GetSmoothLineWidthRange
| GetDepthBounds
instance GetPName2F PName2F where
instance GetPName PName2F where
marshalGetPName pn = case pn of
GetDepthRange -> Just gl_DEPTH_RANGE
GetMap1GridDomain -> Just gl_MAP1_GRID_DOMAIN
GetAliasedPointSizeRange -> Just gl_ALIASED_POINT_SIZE_RANGE
GetSmoothPointSizeRange -> Just gl_POINT_SIZE_RANGE
GetAliasedLineWidthRange -> Just gl_ALIASED_LINE_WIDTH_RANGE
GetSmoothLineWidthRange -> Just gl_SMOOTH_LINE_WIDTH_RANGE
GetDepthBounds -> Just gl_DEPTH_BOUNDS
data PName3F
= GetCurrentNormal
| GetPointDistanceAttenuation
instance GetPName3F PName3F where
instance GetPName PName3F where
marshalGetPName pn = case pn of
GetCurrentNormal -> Just gl_CURRENT_NORMAL
GetPointDistanceAttenuation -> Just gl_POINT_DISTANCE_ATTENUATION
data PName4I
= GetViewport
| GetRGBASignedComponents
| GetScissorBox
instance GetPName4I PName4I where
instance GetPName PName4I where
marshalGetPName pn = case pn of
GetViewport -> Just gl_VIEWPORT
GetRGBASignedComponents -> Just gl_RGBA_SIGNED_COMPONENTS
GetScissorBox -> Just gl_SCISSOR_BOX
data PName4ISemiIndexed
= GetColorWritemask
instance GetPName4I PName4ISemiIndexed where
instance GetIPName4I PName4ISemiIndexed where
instance GetPName PName4ISemiIndexed where
marshalGetPName pn = case pn of
GetColorWritemask -> Just gl_COLOR_WRITEMASK
data PName4F
= GetCurrentColor
| GetCurrentTextureCoords
| GetCurrentSecondaryColor
| GetClipPlane GLsizei
| GetLightModelAmbient
| GetMap2GridDomain
| GetFogColor
| GetColorClearValue
| GetAccumClearValue
| GetCurrentRasterColor
| GetCurrentRasterSecondaryColor
| GetCurrentRasterTextureCoords
| GetCurrentRasterPosition
| GetBlendColor
instance GetPName4F PName4F where
instance GetPName PName4F where
marshalGetPName pn = case pn of
GetCurrentColor -> Just gl_CURRENT_COLOR
GetCurrentTextureCoords -> Just gl_CURRENT_TEXTURE_COORDS
GetCurrentSecondaryColor -> Just gl_CURRENT_SECONDARY_COLOR
GetClipPlane i -> clipPlaneIndexToEnum i
GetLightModelAmbient -> Just gl_LIGHT_MODEL_AMBIENT
GetMap2GridDomain -> Just gl_MAP2_GRID_DOMAIN
GetFogColor -> Just gl_FOG_COLOR
GetColorClearValue -> Just gl_COLOR_CLEAR_VALUE
GetAccumClearValue -> Just gl_ACCUM_CLEAR_VALUE
GetCurrentRasterColor -> Just gl_CURRENT_RASTER_COLOR
GetCurrentRasterSecondaryColor -> Just gl_CURRENT_RASTER_SECONDARY_COLOR
GetCurrentRasterTextureCoords -> Just gl_CURRENT_RASTER_TEXTURE_COORDS
GetCurrentRasterPosition -> Just gl_CURRENT_RASTER_POSITION
GetBlendColor -> Just gl_BLEND_COLOR
clipPlaneIndexToEnum :: GLsizei -> Maybe GLenum
clipPlaneIndexToEnum i
| 0 <= i && i <= maxClipPlaneIndex = Just (gl_CLIP_DISTANCE0 + fromIntegral i)
| otherwise = Nothing
maxClipPlaneIndex :: GLsizei
maxClipPlaneIndex = 0xFFF
data PNameNI
= GetCompressedTextureFormats
instance GetPNameNI PNameNI where
instance GetPName PNameNI where
marshalGetPName pn = case pn of
GetCompressedTextureFormats -> Just gl_COMPRESSED_TEXTURE_FORMATS
data PNameMatrix
= GetModelviewMatrix
| GetProjectionMatrix
| GetTextureMatrix
| GetColorMatrix
| GetMatrixPalette
instance GetPNameMatrix PNameMatrix where
instance GetPName PNameMatrix where
marshalGetPName pn = case pn of
GetModelviewMatrix -> Just gl_MODELVIEW_MATRIX
GetProjectionMatrix -> Just gl_PROJECTION_MATRIX
GetTextureMatrix -> Just gl_TEXTURE_MATRIX
GetColorMatrix -> Just gl_COLOR_MATRIX
GetMatrixPalette -> Just gl_MATRIX_PALETTE