{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.APPLE.ElementArray (
gl_APPLE_element_array
, glDrawElementArrayAPPLE
, glDrawRangeElementArrayAPPLE
, glElementPointerAPPLE
, glMultiDrawElementArrayAPPLE
, glMultiDrawRangeElementArrayAPPLE
, pattern GL_ELEMENT_ARRAY_APPLE
, pattern GL_ELEMENT_ARRAY_POINTER_APPLE
, pattern GL_ELEMENT_ARRAY_TYPE_APPLE
) 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
gl_APPLE_element_array :: Bool
gl_APPLE_element_array :: Bool
gl_APPLE_element_array = String -> Set String -> Bool
forall a. Ord a => a -> Set a -> Bool
member String
"GL_APPLE_element_array" Set String
extensions
{-# NOINLINE gl_APPLE_element_array #-}
glDrawElementArrayAPPLE :: MonadIO m => GLenum -> GLint -> GLsizei -> m ()
glDrawElementArrayAPPLE :: forall (m :: * -> *). MonadIO m => GLenum -> GLint -> GLint -> m ()
glDrawElementArrayAPPLE = FunPtr (GLenum -> GLint -> GLint -> IO ())
-> GLenum -> GLint -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLint -> GLint -> IO ())
-> GLenum -> GLint -> GLint -> m ()
ffienumintsizeiIOV FunPtr (GLenum -> GLint -> GLint -> IO ())
glDrawElementArrayAPPLEFunPtr
glDrawElementArrayAPPLEFunPtr :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
glDrawElementArrayAPPLEFunPtr :: FunPtr (GLenum -> GLint -> GLint -> IO ())
glDrawElementArrayAPPLEFunPtr = IO (FunPtr (GLenum -> GLint -> GLint -> IO ()))
-> FunPtr (GLenum -> GLint -> GLint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> GLint -> GLint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDrawElementArrayAPPLE")
{-# NOINLINE glDrawElementArrayAPPLEFunPtr #-}
glDrawRangeElementArrayAPPLE :: MonadIO m => GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> m ()
glDrawRangeElementArrayAPPLE :: forall (m :: * -> *).
MonadIO m =>
GLenum -> GLenum -> GLenum -> GLint -> GLint -> m ()
glDrawRangeElementArrayAPPLE = FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
-> GLenum -> GLenum -> GLenum -> GLint -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
-> GLenum -> GLenum -> GLenum -> GLint -> GLint -> m ()
ffienumuintuintintsizeiIOV FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
glDrawRangeElementArrayAPPLEFunPtr
glDrawRangeElementArrayAPPLEFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ())
glDrawRangeElementArrayAPPLEFunPtr :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
glDrawRangeElementArrayAPPLEFunPtr = IO (FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ()))
-> FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
(FunPtr (GLenum -> GLenum -> GLenum -> GLint -> GLint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDrawRangeElementArrayAPPLE")
{-# NOINLINE glDrawRangeElementArrayAPPLEFunPtr #-}
glElementPointerAPPLE :: MonadIO m => GLenum -> Ptr () -> m ()
glElementPointerAPPLE :: forall (m :: * -> *). MonadIO m => GLenum -> Ptr () -> m ()
glElementPointerAPPLE = FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr () -> IO ()) -> GLenum -> Ptr () -> m ()
ffienumPtrVIOV FunPtr (GLenum -> Ptr () -> IO ())
glElementPointerAPPLEFunPtr
glElementPointerAPPLEFunPtr :: FunPtr (GLenum -> Ptr () -> IO ())
glElementPointerAPPLEFunPtr :: FunPtr (GLenum -> Ptr () -> IO ())
glElementPointerAPPLEFunPtr = IO (FunPtr (GLenum -> Ptr () -> IO ()))
-> FunPtr (GLenum -> Ptr () -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLenum -> Ptr () -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glElementPointerAPPLE")
{-# NOINLINE glElementPointerAPPLEFunPtr #-}
glMultiDrawElementArrayAPPLE :: MonadIO m => GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
glMultiDrawElementArrayAPPLE :: forall (m :: * -> *).
MonadIO m =>
GLenum -> Ptr GLint -> Ptr GLint -> GLint -> m ()
glMultiDrawElementArrayAPPLE = FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
-> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
-> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> m ()
ffienumPtrintPtrsizeisizeiIOV FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
glMultiDrawElementArrayAPPLEFunPtr
glMultiDrawElementArrayAPPLEFunPtr :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
glMultiDrawElementArrayAPPLEFunPtr :: FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
glMultiDrawElementArrayAPPLEFunPtr = IO (FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ()))
-> FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO (FunPtr (GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glMultiDrawElementArrayAPPLE")
{-# NOINLINE glMultiDrawElementArrayAPPLEFunPtr #-}
glMultiDrawRangeElementArrayAPPLE :: MonadIO m => GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> m ()
glMultiDrawRangeElementArrayAPPLE :: forall (m :: * -> *).
MonadIO m =>
GLenum
-> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> m ()
glMultiDrawRangeElementArrayAPPLE = FunPtr
(GLenum
-> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> Ptr GLint
-> Ptr GLint
-> GLint
-> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr
(GLenum
-> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
-> GLenum
-> GLenum
-> GLenum
-> Ptr GLint
-> Ptr GLint
-> GLint
-> m ()
ffienumuintuintPtrintPtrsizeisizeiIOV FunPtr
(GLenum
-> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
glMultiDrawRangeElementArrayAPPLEFunPtr
glMultiDrawRangeElementArrayAPPLEFunPtr :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
glMultiDrawRangeElementArrayAPPLEFunPtr :: FunPtr
(GLenum
-> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
glMultiDrawRangeElementArrayAPPLEFunPtr = IO
(FunPtr
(GLenum
-> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ()))
-> FunPtr
(GLenum
-> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ())
forall a. IO a -> a
unsafePerformIO (String
-> IO
(FunPtr
(GLenum
-> GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> GLint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glMultiDrawRangeElementArrayAPPLE")
{-# NOINLINE glMultiDrawRangeElementArrayAPPLEFunPtr #-}
pattern GL_ELEMENT_ARRAY_APPLE :: (Eq a, Num a) => a
pattern $mGL_ELEMENT_ARRAY_APPLE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_ELEMENT_ARRAY_APPLE :: forall a. (Eq a, Num a) => a
GL_ELEMENT_ARRAY_APPLE = 0x8A0C
pattern GL_ELEMENT_ARRAY_POINTER_APPLE :: (Eq a, Num a) => a
pattern $mGL_ELEMENT_ARRAY_POINTER_APPLE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_ELEMENT_ARRAY_POINTER_APPLE :: forall a. (Eq a, Num a) => a
GL_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E
pattern GL_ELEMENT_ARRAY_TYPE_APPLE :: (Eq a, Num a) => a
pattern $mGL_ELEMENT_ARRAY_TYPE_APPLE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_ELEMENT_ARRAY_TYPE_APPLE :: forall a. (Eq a, Num a) => a
GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D