-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.SGI.ColorTable (
  -- * Extension Support
    gl_SGI_color_table

  -- * GL_SGI_color_table
  , glColorTableParameterfvSGI
  , glColorTableParameterivSGI
  , glColorTableSGI
  , glCopyColorTableSGI
  , glGetColorTableParameterfvSGI
  , glGetColorTableParameterivSGI
  , glGetColorTableSGI
  , pattern GL_COLOR_TABLE_ALPHA_SIZE_SGI
  , pattern GL_COLOR_TABLE_BIAS_SGI
  , pattern GL_COLOR_TABLE_BLUE_SIZE_SGI
  , pattern GL_COLOR_TABLE_FORMAT_SGI
  , pattern GL_COLOR_TABLE_GREEN_SIZE_SGI
  , pattern GL_COLOR_TABLE_INTENSITY_SIZE_SGI
  , pattern GL_COLOR_TABLE_LUMINANCE_SIZE_SGI
  , pattern GL_COLOR_TABLE_RED_SIZE_SGI
  , pattern GL_COLOR_TABLE_SCALE_SGI
  , pattern GL_COLOR_TABLE_SGI
  , pattern GL_COLOR_TABLE_WIDTH_SGI
  , pattern GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI
  , pattern GL_POST_CONVOLUTION_COLOR_TABLE_SGI
  , pattern GL_PROXY_COLOR_TABLE_SGI
  , pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI
  , pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI
) where

import Control.Monad.IO.Class
import Data.Set
import Foreign.Ptr
import Graphics.GL.Raw.Internal.FFI
import Graphics.GL.Raw.Internal.Proc
import Graphics.GL.Raw.Types
import System.IO.Unsafe

gl_SGI_color_table :: Bool
gl_SGI_color_table = member "GL_SGI_color_table" extensions

glColorTableParameterfvSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glColorTableParameterfvSGI = ffienumenumPtrfloatIOV glColorTableParameterfvSGIFunPtr

glColorTableParameterfvSGIFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glColorTableParameterfvSGIFunPtr = unsafePerformIO (getProcAddress "glColorTableParameterfvSGI")

{-# NOINLINE glColorTableParameterfvSGIFunPtr #-}

glColorTableParameterivSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glColorTableParameterivSGI = ffienumenumPtrintIOV glColorTableParameterivSGIFunPtr

glColorTableParameterivSGIFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glColorTableParameterivSGIFunPtr = unsafePerformIO (getProcAddress "glColorTableParameterivSGI")

{-# NOINLINE glColorTableParameterivSGIFunPtr #-}

glColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> m ()
glColorTableSGI = ffienumenumsizeienumenumPtrVIOV glColorTableSGIFunPtr

glColorTableSGIFunPtr :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr () -> IO ())
glColorTableSGIFunPtr = unsafePerformIO (getProcAddress "glColorTableSGI")

{-# NOINLINE glColorTableSGIFunPtr #-}

glCopyColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLint -> GLint -> GLsizei -> m ()
glCopyColorTableSGI = ffienumenumintintsizeiIOV glCopyColorTableSGIFunPtr

glCopyColorTableSGIFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
glCopyColorTableSGIFunPtr = unsafePerformIO (getProcAddress "glCopyColorTableSGI")

{-# NOINLINE glCopyColorTableSGIFunPtr #-}

glGetColorTableParameterfvSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetColorTableParameterfvSGI = ffienumenumPtrfloatIOV glGetColorTableParameterfvSGIFunPtr

glGetColorTableParameterfvSGIFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetColorTableParameterfvSGIFunPtr = unsafePerformIO (getProcAddress "glGetColorTableParameterfvSGI")

{-# NOINLINE glGetColorTableParameterfvSGIFunPtr #-}

glGetColorTableParameterivSGI :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetColorTableParameterivSGI = ffienumenumPtrintIOV glGetColorTableParameterivSGIFunPtr

glGetColorTableParameterivSGIFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetColorTableParameterivSGIFunPtr = unsafePerformIO (getProcAddress "glGetColorTableParameterivSGI")

{-# NOINLINE glGetColorTableParameterivSGIFunPtr #-}

glGetColorTableSGI :: MonadIO m => GLenum -> GLenum -> GLenum -> Ptr () -> m ()
glGetColorTableSGI = ffienumenumenumPtrVIOV glGetColorTableSGIFunPtr

glGetColorTableSGIFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr () -> IO ())
glGetColorTableSGIFunPtr = unsafePerformIO (getProcAddress "glGetColorTableSGI")

{-# NOINLINE glGetColorTableSGIFunPtr #-}

pattern GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD :: GLenum

pattern GL_COLOR_TABLE_BIAS_SGI = 0x80D7 :: GLenum

pattern GL_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC :: GLenum

pattern GL_COLOR_TABLE_FORMAT_SGI = 0x80D8 :: GLenum

pattern GL_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB :: GLenum

pattern GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF :: GLenum

pattern GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE :: GLenum

pattern GL_COLOR_TABLE_RED_SIZE_SGI = 0x80DA :: GLenum

pattern GL_COLOR_TABLE_SCALE_SGI = 0x80D6 :: GLenum

pattern GL_COLOR_TABLE_SGI = 0x80D0 :: GLenum

pattern GL_COLOR_TABLE_WIDTH_SGI = 0x80D9 :: GLenum

pattern GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2 :: GLenum

pattern GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1 :: GLenum

pattern GL_PROXY_COLOR_TABLE_SGI = 0x80D3 :: GLenum

pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5 :: GLenum

pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4 :: GLenum