-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.HP.ImageTransform (
  -- * Extension Support
    gl_HP_image_transform

  -- * GL_HP_image_transform
  , glGetImageTransformParameterfvHP
  , glGetImageTransformParameterivHP
  , glImageTransformParameterfHP
  , glImageTransformParameterfvHP
  , glImageTransformParameteriHP
  , glImageTransformParameterivHP
  , pattern GL_AVERAGE_HP
  , pattern GL_CUBIC_HP
  , pattern GL_IMAGE_CUBIC_WEIGHT_HP
  , pattern GL_IMAGE_MAG_FILTER_HP
  , pattern GL_IMAGE_MIN_FILTER_HP
  , pattern GL_IMAGE_ROTATE_ANGLE_HP
  , pattern GL_IMAGE_ROTATE_ORIGIN_X_HP
  , pattern GL_IMAGE_ROTATE_ORIGIN_Y_HP
  , pattern GL_IMAGE_SCALE_X_HP
  , pattern GL_IMAGE_SCALE_Y_HP
  , pattern GL_IMAGE_TRANSFORM_2D_HP
  , pattern GL_IMAGE_TRANSLATE_X_HP
  , pattern GL_IMAGE_TRANSLATE_Y_HP
  , pattern GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP
  , pattern GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP
) 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_HP_image_transform :: Bool
gl_HP_image_transform = member "GL_HP_image_transform" extensions

glGetImageTransformParameterfvHP :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glGetImageTransformParameterfvHP = ffienumenumPtrfloatIOV glGetImageTransformParameterfvHPFunPtr

glGetImageTransformParameterfvHPFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glGetImageTransformParameterfvHPFunPtr = unsafePerformIO (getProcAddress "glGetImageTransformParameterfvHP")

{-# NOINLINE glGetImageTransformParameterfvHPFunPtr #-}

glGetImageTransformParameterivHP :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glGetImageTransformParameterivHP = ffienumenumPtrintIOV glGetImageTransformParameterivHPFunPtr

glGetImageTransformParameterivHPFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glGetImageTransformParameterivHPFunPtr = unsafePerformIO (getProcAddress "glGetImageTransformParameterivHP")

{-# NOINLINE glGetImageTransformParameterivHPFunPtr #-}

glImageTransformParameterfHP :: MonadIO m => GLenum -> GLenum -> GLfloat -> m ()
glImageTransformParameterfHP = ffienumenumfloatIOV glImageTransformParameterfHPFunPtr

glImageTransformParameterfHPFunPtr :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
glImageTransformParameterfHPFunPtr = unsafePerformIO (getProcAddress "glImageTransformParameterfHP")

{-# NOINLINE glImageTransformParameterfHPFunPtr #-}

glImageTransformParameterfvHP :: MonadIO m => GLenum -> GLenum -> Ptr GLfloat -> m ()
glImageTransformParameterfvHP = ffienumenumPtrfloatIOV glImageTransformParameterfvHPFunPtr

glImageTransformParameterfvHPFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
glImageTransformParameterfvHPFunPtr = unsafePerformIO (getProcAddress "glImageTransformParameterfvHP")

{-# NOINLINE glImageTransformParameterfvHPFunPtr #-}

glImageTransformParameteriHP :: MonadIO m => GLenum -> GLenum -> GLint -> m ()
glImageTransformParameteriHP = ffienumenumintIOV glImageTransformParameteriHPFunPtr

glImageTransformParameteriHPFunPtr :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
glImageTransformParameteriHPFunPtr = unsafePerformIO (getProcAddress "glImageTransformParameteriHP")

{-# NOINLINE glImageTransformParameteriHPFunPtr #-}

glImageTransformParameterivHP :: MonadIO m => GLenum -> GLenum -> Ptr GLint -> m ()
glImageTransformParameterivHP = ffienumenumPtrintIOV glImageTransformParameterivHPFunPtr

glImageTransformParameterivHPFunPtr :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
glImageTransformParameterivHPFunPtr = unsafePerformIO (getProcAddress "glImageTransformParameterivHP")

{-# NOINLINE glImageTransformParameterivHPFunPtr #-}

pattern GL_AVERAGE_HP = 0x8160 :: GLenum

pattern GL_CUBIC_HP = 0x815F :: GLenum

pattern GL_IMAGE_CUBIC_WEIGHT_HP = 0x815E :: GLenum

pattern GL_IMAGE_MAG_FILTER_HP = 0x815C :: GLenum

pattern GL_IMAGE_MIN_FILTER_HP = 0x815D :: GLenum

pattern GL_IMAGE_ROTATE_ANGLE_HP = 0x8159 :: GLenum

pattern GL_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A :: GLenum

pattern GL_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B :: GLenum

pattern GL_IMAGE_SCALE_X_HP = 0x8155 :: GLenum

pattern GL_IMAGE_SCALE_Y_HP = 0x8156 :: GLenum

pattern GL_IMAGE_TRANSFORM_2D_HP = 0x8161 :: GLenum

pattern GL_IMAGE_TRANSLATE_X_HP = 0x8157 :: GLenum

pattern GL_IMAGE_TRANSLATE_Y_HP = 0x8158 :: GLenum

pattern GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162 :: GLenum

pattern GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163 :: GLenum