a
    iju                     @   s   d Z ddlmZmZmZ ddlmZmZ ddlZddlm	Z	m
Z
 ddlT ddlmZ dd	 Zeejd
dd dddZeed
dZdS )a  OpenGL extension AMD.name_gen_delete

This module customises the behaviour of the 
OpenGL.raw.GL.AMD.name_gen_delete to provide a more 
Python-friendly API

Overview (from the spec)
	
	This extension simply creates 2 new entry-points that name generic
	creation and deletion of names.  The intent is to go away from API
	functionality that provides a create/delete function for each specific 
	object.  
	
	For example: 
	    glGenTextures/glDeleteTextures/glIsTexture
	    glGenBuffers/glDeleteBuffers/IsBuffer
	    glGenFramebuffers/glDeleteFramebuffers/IsFramebuffer
	
	Instead, everything is created using one entry-point GenNamesAMD and
	everything is now deleted with another entry-point DeleteNamesAMD with
	the appropriate identifier set.  In addition, everything can now be 
	queried with IsNameAMD.
	
	This alleviates the problem we may eventually encounter where we have
	many Gen/Delete/Is functions where 3 might suffice.  All that is needed
	in the new case is to add a valid identifier to the accepted parameters
	list.
	

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/AMD/name_gen_delete.txt
    )platformconstantarrays)
extensionswrapperN)_types_glgets)*)_EXTENSION_NAMEc                  C   s   ddl m}  | tS )z=Return boolean indicating whether this extension is availabler   r   )OpenGLr   ZhasGLExtensionr
   r    r   [/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GL/AMD/name_gen_delete.pyglInitNameGenDeleteAMD(   s    r   namesc                 C   s   | fS )Nr   )xr   r   r   <lambda>.       r   numT)sizeZpnameArgZorPassIn)__doc__r   r   r   r   r   r   ctypesZOpenGL.raw.GLr   r   Z!OpenGL.raw.GL.AMD.name_gen_deleter
   r   ZglGenNamesAMDZ	setOutputZglDeleteNamesAMDZsetInputArraySizer   r   r   r   <module>   s    

