-- This file was automatically generated.
{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.SGIS.PixelTexture (
  -- * Extension Support
    gl_SGIS_pixel_texture

  -- * GL_SGIS_pixel_texture
  , glGetPixelTexGenParameterfvSGIS
  , glGetPixelTexGenParameterivSGIS
  , glPixelTexGenParameterfSGIS
  , glPixelTexGenParameterfvSGIS
  , glPixelTexGenParameteriSGIS
  , glPixelTexGenParameterivSGIS
  , pattern GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS
  , pattern GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS
  , pattern GL_PIXEL_GROUP_COLOR_SGIS
  , pattern GL_PIXEL_TEXTURE_SGIS
) where

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

-- | Checks that the <https://cvs.khronos.org/svn/repos/ogl/trunk/doc/registry/public/specs/SGIS/pixel_texture.txt GL_SGIS_pixel_texture> extension is available.

gl_SGIS_pixel_texture :: Bool
gl_SGIS_pixel_texture :: Bool
gl_SGIS_pixel_texture = [Char] -> Set [Char] -> Bool
forall a. Ord a => a -> Set a -> Bool
member "GL_SGIS_pixel_texture" Set [Char]
extensions
{-# NOINLINE gl_SGIS_pixel_texture #-}

-- | Usage: @'glGetPixelTexGenParameterfvSGIS' pname params@
--
-- The parameter @pname@ is a @PixelTexGenParameterNameSGIS@, one of: 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'.
--
-- The parameter @params@ is a @CheckedFloat32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetPixelTexGenParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glGetPixelTexGenParameterfvSGIS :: GLenum -> Ptr GLfloat -> m ()
glGetPixelTexGenParameterfvSGIS = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetPixelTexGenParameterfvSGISFunPtr

glGetPixelTexGenParameterfvSGISFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetPixelTexGenParameterfvSGISFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glGetPixelTexGenParameterfvSGISFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetPixelTexGenParameterfvSGIS")

{-# NOINLINE glGetPixelTexGenParameterfvSGISFunPtr #-}

-- | Usage: @'glGetPixelTexGenParameterivSGIS' pname params@
--
-- The parameter @pname@ is a @PixelTexGenParameterNameSGIS@, one of: 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'.
--
-- The parameter @params@ is a @CheckedInt32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glGetPixelTexGenParameterivSGIS :: MonadIO m => GLenum -> Ptr GLint -> m ()
glGetPixelTexGenParameterivSGIS :: GLenum -> Ptr GLint -> m ()
glGetPixelTexGenParameterivSGIS = FunPtr (GLenum -> Ptr GLint -> IO ())
-> GLenum -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLint -> IO ())
-> GLenum -> Ptr GLint -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLint -> IO ())
glGetPixelTexGenParameterivSGISFunPtr

glGetPixelTexGenParameterivSGISFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glGetPixelTexGenParameterivSGISFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glGetPixelTexGenParameterivSGISFunPtr = IO (FunPtr (GLenum -> Ptr GLint -> IO ()))
-> FunPtr (GLenum -> Ptr GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> Ptr GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glGetPixelTexGenParameterivSGIS")

{-# NOINLINE glGetPixelTexGenParameterivSGISFunPtr #-}

-- | Usage: @'glPixelTexGenParameterfSGIS' pname param@
--
-- The parameter @pname@ is a @PixelTexGenParameterNameSGIS@, one of: 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'.
--
-- The parameter @param@ is a @CheckedFloat32@.


glPixelTexGenParameterfSGIS :: MonadIO m => GLenum -> GLfloat -> m ()
glPixelTexGenParameterfSGIS :: GLenum -> GLfloat -> m ()
glPixelTexGenParameterfSGIS = FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLfloat -> IO ()) -> GLenum -> GLfloat -> m ()
ffienumfloatIOV FunPtr (GLenum -> GLfloat -> IO ())
glPixelTexGenParameterfSGISFunPtr

glPixelTexGenParameterfSGISFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glPixelTexGenParameterfSGISFunPtr :: FunPtr (GLenum -> GLfloat -> IO ())
glPixelTexGenParameterfSGISFunPtr = IO (FunPtr (GLenum -> GLfloat -> IO ()))
-> FunPtr (GLenum -> GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glPixelTexGenParameterfSGIS")

{-# NOINLINE glPixelTexGenParameterfSGISFunPtr #-}

-- | Usage: @'glPixelTexGenParameterfvSGIS' pname params@
--
-- The parameter @pname@ is a @PixelTexGenParameterNameSGIS@, one of: 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'.
--
-- The parameter @params@ is a @CheckedFloat32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glPixelTexGenParameterfvSGIS :: MonadIO m => GLenum -> Ptr GLfloat -> m ()
glPixelTexGenParameterfvSGIS :: GLenum -> Ptr GLfloat -> m ()
glPixelTexGenParameterfvSGIS = FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLfloat -> IO ())
-> GLenum -> Ptr GLfloat -> m ()
ffienumPtrfloatIOV FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPixelTexGenParameterfvSGISFunPtr

glPixelTexGenParameterfvSGISFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPixelTexGenParameterfvSGISFunPtr :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
glPixelTexGenParameterfvSGISFunPtr = IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
-> FunPtr (GLenum -> Ptr GLfloat -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> Ptr GLfloat -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glPixelTexGenParameterfvSGIS")

{-# NOINLINE glPixelTexGenParameterfvSGISFunPtr #-}

-- | Usage: @'glPixelTexGenParameteriSGIS' pname param@
--
-- The parameter @pname@ is a @PixelTexGenParameterNameSGIS@, one of: 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'.
--
-- The parameter @param@ is a @CheckedInt32@.


glPixelTexGenParameteriSGIS :: MonadIO m => GLenum -> GLint -> m ()
glPixelTexGenParameteriSGIS :: GLenum -> GLint -> m ()
glPixelTexGenParameteriSGIS = FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> IO ()) -> GLenum -> GLint -> m ()
ffienumintIOV FunPtr (GLenum -> GLint -> IO ())
glPixelTexGenParameteriSGISFunPtr

glPixelTexGenParameteriSGISFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glPixelTexGenParameteriSGISFunPtr :: FunPtr (GLenum -> GLint -> IO ())
glPixelTexGenParameteriSGISFunPtr = IO (FunPtr (GLenum -> GLint -> IO ()))
-> FunPtr (GLenum -> GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glPixelTexGenParameteriSGIS")

{-# NOINLINE glPixelTexGenParameteriSGISFunPtr #-}

-- | Usage: @'glPixelTexGenParameterivSGIS' pname params@
--
-- The parameter @pname@ is a @PixelTexGenParameterNameSGIS@, one of: 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS', 'Graphics.GL.Ext.SGIS.PixelTexture.GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'.
--
-- The parameter @params@ is a @CheckedInt32@.
--
-- The length of @params@ should be @COMPSIZE(pname)@.


glPixelTexGenParameterivSGIS :: MonadIO m => GLenum -> Ptr GLint -> m ()
glPixelTexGenParameterivSGIS :: GLenum -> Ptr GLint -> m ()
glPixelTexGenParameterivSGIS = FunPtr (GLenum -> Ptr GLint -> IO ())
-> GLenum -> Ptr GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLint -> IO ())
-> GLenum -> Ptr GLint -> m ()
ffienumPtrintIOV FunPtr (GLenum -> Ptr GLint -> IO ())
glPixelTexGenParameterivSGISFunPtr

glPixelTexGenParameterivSGISFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glPixelTexGenParameterivSGISFunPtr :: FunPtr (GLenum -> Ptr GLint -> IO ())
glPixelTexGenParameterivSGISFunPtr = IO (FunPtr (GLenum -> Ptr GLint -> IO ()))
-> FunPtr (GLenum -> Ptr GLint -> IO ())
forall a. IO a -> a
unsafePerformIO ([Char] -> IO (FunPtr (GLenum -> Ptr GLint -> IO ()))
forall a. [Char] -> IO (FunPtr a)
getProcAddress "glPixelTexGenParameterivSGIS")

{-# NOINLINE glPixelTexGenParameterivSGISFunPtr #-}

pattern $bGL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS :: a
$mGL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355

pattern $bGL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS :: a
$mGL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354

pattern $bGL_PIXEL_GROUP_COLOR_SGIS :: a
$mGL_PIXEL_GROUP_COLOR_SGIS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_GROUP_COLOR_SGIS = 0x8356

pattern $bGL_PIXEL_TEXTURE_SGIS :: a
$mGL_PIXEL_TEXTURE_SGIS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
GL_PIXEL_TEXTURE_SGIS = 0x8353