-- This file was automatically generated.
{-# LANGUAGE ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Raw.Extension.MESA.WindowPos (
  -- * Extension Support
    gl_MESA_window_pos

  -- * GL_MESA_window_pos
  , glWindowPos2dMESA
  , glWindowPos2dvMESA
  , glWindowPos2fMESA
  , glWindowPos2fvMESA
  , glWindowPos2iMESA
  , glWindowPos2ivMESA
  , glWindowPos2sMESA
  , glWindowPos2svMESA
  , glWindowPos3dMESA
  , glWindowPos3dvMESA
  , glWindowPos3fMESA
  , glWindowPos3fvMESA
  , glWindowPos3iMESA
  , glWindowPos3ivMESA
  , glWindowPos3sMESA
  , glWindowPos3svMESA
  , glWindowPos4dMESA
  , glWindowPos4dvMESA
  , glWindowPos4fMESA
  , glWindowPos4fvMESA
  , glWindowPos4iMESA
  , glWindowPos4ivMESA
  , glWindowPos4sMESA
  , glWindowPos4svMESA
) 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_MESA_window_pos :: Bool
gl_MESA_window_pos = member "GL_MESA_window_pos" extensions

glWindowPos2dMESA :: MonadIO m => GLdouble -> GLdouble -> m ()
glWindowPos2dMESA = ffidoubledoubleIOV glWindowPos2dMESAFunPtr

glWindowPos2dMESAFunPtr :: FunPtr (GLdouble -> GLdouble -> IO ())
glWindowPos2dMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos2dMESA")

{-# NOINLINE glWindowPos2dMESAFunPtr #-}

glWindowPos2dvMESA :: MonadIO m => Ptr GLdouble -> m ()
glWindowPos2dvMESA = ffiPtrdoubleIOV glWindowPos2dvMESAFunPtr

glWindowPos2dvMESAFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glWindowPos2dvMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos2dvMESA")

{-# NOINLINE glWindowPos2dvMESAFunPtr #-}

glWindowPos2fMESA :: MonadIO m => GLfloat -> GLfloat -> m ()
glWindowPos2fMESA = ffifloatfloatIOV glWindowPos2fMESAFunPtr

glWindowPos2fMESAFunPtr :: FunPtr (GLfloat -> GLfloat -> IO ())
glWindowPos2fMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos2fMESA")

{-# NOINLINE glWindowPos2fMESAFunPtr #-}

glWindowPos2fvMESA :: MonadIO m => Ptr GLfloat -> m ()
glWindowPos2fvMESA = ffiPtrfloatIOV glWindowPos2fvMESAFunPtr

glWindowPos2fvMESAFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glWindowPos2fvMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos2fvMESA")

{-# NOINLINE glWindowPos2fvMESAFunPtr #-}

glWindowPos2iMESA :: MonadIO m => GLint -> GLint -> m ()
glWindowPos2iMESA = ffiintintIOV glWindowPos2iMESAFunPtr

glWindowPos2iMESAFunPtr :: FunPtr (GLint -> GLint -> IO ())
glWindowPos2iMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos2iMESA")

{-# NOINLINE glWindowPos2iMESAFunPtr #-}

glWindowPos2ivMESA :: MonadIO m => Ptr GLint -> m ()
glWindowPos2ivMESA = ffiPtrintIOV glWindowPos2ivMESAFunPtr

glWindowPos2ivMESAFunPtr :: FunPtr (Ptr GLint -> IO ())
glWindowPos2ivMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos2ivMESA")

{-# NOINLINE glWindowPos2ivMESAFunPtr #-}

glWindowPos2sMESA :: MonadIO m => GLshort -> GLshort -> m ()
glWindowPos2sMESA = ffishortshortIOV glWindowPos2sMESAFunPtr

glWindowPos2sMESAFunPtr :: FunPtr (GLshort -> GLshort -> IO ())
glWindowPos2sMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos2sMESA")

{-# NOINLINE glWindowPos2sMESAFunPtr #-}

glWindowPos2svMESA :: MonadIO m => Ptr GLshort -> m ()
glWindowPos2svMESA = ffiPtrshortIOV glWindowPos2svMESAFunPtr

glWindowPos2svMESAFunPtr :: FunPtr (Ptr GLshort -> IO ())
glWindowPos2svMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos2svMESA")

{-# NOINLINE glWindowPos2svMESAFunPtr #-}

glWindowPos3dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> m ()
glWindowPos3dMESA = ffidoubledoubledoubleIOV glWindowPos3dMESAFunPtr

glWindowPos3dMESAFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
glWindowPos3dMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos3dMESA")

{-# NOINLINE glWindowPos3dMESAFunPtr #-}

glWindowPos3dvMESA :: MonadIO m => Ptr GLdouble -> m ()
glWindowPos3dvMESA = ffiPtrdoubleIOV glWindowPos3dvMESAFunPtr

glWindowPos3dvMESAFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glWindowPos3dvMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos3dvMESA")

{-# NOINLINE glWindowPos3dvMESAFunPtr #-}

glWindowPos3fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> m ()
glWindowPos3fMESA = ffifloatfloatfloatIOV glWindowPos3fMESAFunPtr

glWindowPos3fMESAFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
glWindowPos3fMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos3fMESA")

{-# NOINLINE glWindowPos3fMESAFunPtr #-}

glWindowPos3fvMESA :: MonadIO m => Ptr GLfloat -> m ()
glWindowPos3fvMESA = ffiPtrfloatIOV glWindowPos3fvMESAFunPtr

glWindowPos3fvMESAFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glWindowPos3fvMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos3fvMESA")

{-# NOINLINE glWindowPos3fvMESAFunPtr #-}

glWindowPos3iMESA :: MonadIO m => GLint -> GLint -> GLint -> m ()
glWindowPos3iMESA = ffiintintintIOV glWindowPos3iMESAFunPtr

glWindowPos3iMESAFunPtr :: FunPtr (GLint -> GLint -> GLint -> IO ())
glWindowPos3iMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos3iMESA")

{-# NOINLINE glWindowPos3iMESAFunPtr #-}

glWindowPos3ivMESA :: MonadIO m => Ptr GLint -> m ()
glWindowPos3ivMESA = ffiPtrintIOV glWindowPos3ivMESAFunPtr

glWindowPos3ivMESAFunPtr :: FunPtr (Ptr GLint -> IO ())
glWindowPos3ivMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos3ivMESA")

{-# NOINLINE glWindowPos3ivMESAFunPtr #-}

glWindowPos3sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> m ()
glWindowPos3sMESA = ffishortshortshortIOV glWindowPos3sMESAFunPtr

glWindowPos3sMESAFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
glWindowPos3sMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos3sMESA")

{-# NOINLINE glWindowPos3sMESAFunPtr #-}

glWindowPos3svMESA :: MonadIO m => Ptr GLshort -> m ()
glWindowPos3svMESA = ffiPtrshortIOV glWindowPos3svMESAFunPtr

glWindowPos3svMESAFunPtr :: FunPtr (Ptr GLshort -> IO ())
glWindowPos3svMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos3svMESA")

{-# NOINLINE glWindowPos3svMESAFunPtr #-}

glWindowPos4dMESA :: MonadIO m => GLdouble -> GLdouble -> GLdouble -> GLdouble -> m ()
glWindowPos4dMESA = ffidoubledoubledoubledoubleIOV glWindowPos4dMESAFunPtr

glWindowPos4dMESAFunPtr :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
glWindowPos4dMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos4dMESA")

{-# NOINLINE glWindowPos4dMESAFunPtr #-}

glWindowPos4dvMESA :: MonadIO m => Ptr GLdouble -> m ()
glWindowPos4dvMESA = ffiPtrdoubleIOV glWindowPos4dvMESAFunPtr

glWindowPos4dvMESAFunPtr :: FunPtr (Ptr GLdouble -> IO ())
glWindowPos4dvMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos4dvMESA")

{-# NOINLINE glWindowPos4dvMESAFunPtr #-}

glWindowPos4fMESA :: MonadIO m => GLfloat -> GLfloat -> GLfloat -> GLfloat -> m ()
glWindowPos4fMESA = ffifloatfloatfloatfloatIOV glWindowPos4fMESAFunPtr

glWindowPos4fMESAFunPtr :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
glWindowPos4fMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos4fMESA")

{-# NOINLINE glWindowPos4fMESAFunPtr #-}

glWindowPos4fvMESA :: MonadIO m => Ptr GLfloat -> m ()
glWindowPos4fvMESA = ffiPtrfloatIOV glWindowPos4fvMESAFunPtr

glWindowPos4fvMESAFunPtr :: FunPtr (Ptr GLfloat -> IO ())
glWindowPos4fvMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos4fvMESA")

{-# NOINLINE glWindowPos4fvMESAFunPtr #-}

glWindowPos4iMESA :: MonadIO m => GLint -> GLint -> GLint -> GLint -> m ()
glWindowPos4iMESA = ffiintintintintIOV glWindowPos4iMESAFunPtr

glWindowPos4iMESAFunPtr :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
glWindowPos4iMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos4iMESA")

{-# NOINLINE glWindowPos4iMESAFunPtr #-}

glWindowPos4ivMESA :: MonadIO m => Ptr GLint -> m ()
glWindowPos4ivMESA = ffiPtrintIOV glWindowPos4ivMESAFunPtr

glWindowPos4ivMESAFunPtr :: FunPtr (Ptr GLint -> IO ())
glWindowPos4ivMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos4ivMESA")

{-# NOINLINE glWindowPos4ivMESAFunPtr #-}

glWindowPos4sMESA :: MonadIO m => GLshort -> GLshort -> GLshort -> GLshort -> m ()
glWindowPos4sMESA = ffishortshortshortshortIOV glWindowPos4sMESAFunPtr

glWindowPos4sMESAFunPtr :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
glWindowPos4sMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos4sMESA")

{-# NOINLINE glWindowPos4sMESAFunPtr #-}

glWindowPos4svMESA :: MonadIO m => Ptr GLshort -> m ()
glWindowPos4svMESA = ffiPtrshortIOV glWindowPos4svMESAFunPtr

glWindowPos4svMESAFunPtr :: FunPtr (Ptr GLshort -> IO ())
glWindowPos4svMESAFunPtr = unsafePerformIO (getProcAddress "glWindowPos4svMESA")

{-# NOINLINE glWindowPos4svMESAFunPtr #-}