-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.EXT.PixelTransform (
  -- * Extension Support
    gl_EXT_pixel_transform

  -- * GL_EXT_pixel_transform
  , glGetPixelTransformParameterfvEXT
  , glGetPixelTransformParameterivEXT
  , glPixelTransformParameterfEXT
  , glPixelTransformParameterfvEXT
  , glPixelTransformParameteriEXT
  , glPixelTransformParameterivEXT
  , pattern GL_AVERAGE_EXT
  , pattern GL_CUBIC_EXT
  , pattern GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT
  , pattern GL_PIXEL_CUBIC_WEIGHT_EXT
  , pattern GL_PIXEL_MAG_FILTER_EXT
  , pattern GL_PIXEL_MIN_FILTER_EXT
  , pattern GL_PIXEL_TRANSFORM_2D_EXT
  , pattern GL_PIXEL_TRANSFORM_2D_MATRIX_EXT
  , pattern GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT
) 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_EXT_pixel_transform :: Bool
gl_EXT_pixel_transform = member "GL_EXT_pixel_transform" extensions

glGetPixelTransformParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetPixelTransformParameterfvEXT = ffienumenumPtrfloatIOV glGetPixelTransformParameterfvEXTFunPtr

glGetPixelTransformParameterfvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetPixelTransformParameterfvEXTFunPtr = unsafePerformIO (getProcAddress "glGetPixelTransformParameterfvEXT")

{-# NOINLINE glGetPixelTransformParameterfvEXTFunPtr #-}

glGetPixelTransformParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetPixelTransformParameterivEXT = ffienumenumPtrintIOV glGetPixelTransformParameterivEXTFunPtr

glGetPixelTransformParameterivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetPixelTransformParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glGetPixelTransformParameterivEXT")

{-# NOINLINE glGetPixelTransformParameterivEXTFunPtr #-}

glPixelTransformParameterfEXT :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glPixelTransformParameterfEXT = ffienumenumfloatIOV glPixelTransformParameterfEXTFunPtr

glPixelTransformParameterfEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glPixelTransformParameterfEXTFunPtr = unsafePerformIO (getProcAddress "glPixelTransformParameterfEXT")

{-# NOINLINE glPixelTransformParameterfEXTFunPtr #-}

glPixelTransformParameterfvEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glPixelTransformParameterfvEXT = ffienumenumPtrfloatIOV glPixelTransformParameterfvEXTFunPtr

glPixelTransformParameterfvEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glPixelTransformParameterfvEXTFunPtr = unsafePerformIO (getProcAddress "glPixelTransformParameterfvEXT")

{-# NOINLINE glPixelTransformParameterfvEXTFunPtr #-}

glPixelTransformParameteriEXT :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glPixelTransformParameteriEXT = ffienumenumintIOV glPixelTransformParameteriEXTFunPtr

glPixelTransformParameteriEXTFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
glPixelTransformParameteriEXTFunPtr = unsafePerformIO (getProcAddress "glPixelTransformParameteriEXT")

{-# NOINLINE glPixelTransformParameteriEXTFunPtr #-}

glPixelTransformParameterivEXT :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glPixelTransformParameterivEXT = ffienumenumPtrintIOV glPixelTransformParameterivEXTFunPtr

glPixelTransformParameterivEXTFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glPixelTransformParameterivEXTFunPtr = unsafePerformIO (getProcAddress "glPixelTransformParameterivEXT")

{-# NOINLINE glPixelTransformParameterivEXTFunPtr #-}

pattern GL_AVERAGE_EXT = 0x8335

pattern GL_CUBIC_EXT = 0x8334

pattern GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337

pattern GL_PIXEL_CUBIC_WEIGHT_EXT = 0x8333

pattern GL_PIXEL_MAG_FILTER_EXT = 0x8331

pattern GL_PIXEL_MIN_FILTER_EXT = 0x8332

pattern GL_PIXEL_TRANSFORM_2D_EXT = 0x8330

pattern GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338

pattern GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336