{-# LANGUAGE CPP, ScopedTypeVariables, PatternSynonyms #-}
module Graphics.GL.Ext.OES.VertexArrayObject (
gl_OES_vertex_array_object
, glBindVertexArrayOES
, glDeleteVertexArraysOES
, glGenVertexArraysOES
, glIsVertexArrayOES
, pattern GL_VERTEX_ARRAY_BINDING_OES
) 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_OES_vertex_array_object :: Bool
gl_OES_vertex_array_object :: Bool
gl_OES_vertex_array_object = String -> Set String -> Bool
forall a. Ord a => a -> Set a -> Bool
member String
"GL_OES_vertex_array_object" Set String
extensions
{-# NOINLINE gl_OES_vertex_array_object #-}
glBindVertexArrayOES :: MonadIO m => GLuint -> m ()
glBindVertexArrayOES :: forall (m :: * -> *). MonadIO m => GLuint -> m ()
glBindVertexArrayOES = FunPtr (GLuint -> IO ()) -> GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO ()) -> GLuint -> m ()
ffiuintIOV FunPtr (GLuint -> IO ())
glBindVertexArrayOESFunPtr
glBindVertexArrayOESFunPtr :: FunPtr (GLuint -> IO ())
glBindVertexArrayOESFunPtr :: FunPtr (GLuint -> IO ())
glBindVertexArrayOESFunPtr = IO (FunPtr (GLuint -> IO ())) -> FunPtr (GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glBindVertexArrayOES")
{-# NOINLINE glBindVertexArrayOESFunPtr #-}
glDeleteVertexArraysOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteVertexArraysOES :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLuint -> m ()
glDeleteVertexArraysOES = FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteVertexArraysOESFunPtr
glDeleteVertexArraysOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteVertexArraysOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glDeleteVertexArraysOESFunPtr = IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
-> FunPtr (GLsizei -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glDeleteVertexArraysOES")
{-# NOINLINE glDeleteVertexArraysOESFunPtr #-}
glGenVertexArraysOES :: MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenVertexArraysOES :: forall (m :: * -> *). MonadIO m => GLsizei -> Ptr GLuint -> m ()
glGenVertexArraysOES = FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLsizei -> Ptr GLuint -> IO ())
-> GLsizei -> Ptr GLuint -> m ()
ffisizeiPtruintIOV FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenVertexArraysOESFunPtr
glGenVertexArraysOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenVertexArraysOESFunPtr :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
glGenVertexArraysOESFunPtr = IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
-> FunPtr (GLsizei -> Ptr GLuint -> IO ())
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLsizei -> Ptr GLuint -> IO ()))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glGenVertexArraysOES")
{-# NOINLINE glGenVertexArraysOESFunPtr #-}
glIsVertexArrayOES :: MonadIO m => GLuint -> m GLboolean
glIsVertexArrayOES :: forall (m :: * -> *). MonadIO m => GLuint -> m GLboolean
glIsVertexArrayOES = FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
forall (m :: * -> *).
MonadIO m =>
FunPtr (GLuint -> IO GLboolean) -> GLuint -> m GLboolean
ffiuintIOboolean FunPtr (GLuint -> IO GLboolean)
glIsVertexArrayOESFunPtr
glIsVertexArrayOESFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsVertexArrayOESFunPtr :: FunPtr (GLuint -> IO GLboolean)
glIsVertexArrayOESFunPtr = IO (FunPtr (GLuint -> IO GLboolean))
-> FunPtr (GLuint -> IO GLboolean)
forall a. IO a -> a
unsafePerformIO (String -> IO (FunPtr (GLuint -> IO GLboolean))
forall a. String -> IO (FunPtr a)
getProcAddress String
"glIsVertexArrayOES")
{-# NOINLINE glIsVertexArrayOESFunPtr #-}
pattern GL_VERTEX_ARRAY_BINDING_OES :: (Eq a, Num a) => a
pattern $mGL_VERTEX_ARRAY_BINDING_OES :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bGL_VERTEX_ARRAY_BINDING_OES :: forall a. (Eq a, Num a) => a
GL_VERTEX_ARRAY_BINDING_OES = 0x85B5