a
    ij                     @   sr   d Z ddlmZ ddlmZmZ ddlZG dd dejZ	e	Zej
dfddZed	ejee	g d
g dZdZdS )z>Wrapper/Implementation of the GLU quadrics object for PyOpenGL    )GLU)createBaseFunctionPLATFORMNc                   @   s6   e Zd ZdZeejZej	edej
iZdd ZdS )
GLUQuadricz7Implementation class for GLUQuadric classes in PyOpenGLNc                 C   sj   | j |}|std|f t||s2||}n|}tj| || t| dddu r\i | _|| j|< |S )zRegister a callback for the quadric object
        
        At the moment only GLU_ERROR is supported by OpenGL, but
        we allow for the possibility of more callbacks in the future...
        z,Don't have a registered callback type for %r	callbacksN)	CALLBACK_TYPESget
ValueError
isinstancer   r   gluQuadricCallbackgetattrr   )selfwhichfunctionZcallbackTypeZ	cCallback r   Q/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GLU/quadrics.pyaddCallback   s    


zGLUQuadric.addCallback)__name__
__module____qualname____doc__r   ZfunctionTypeForr   ZFUNCTION_TYPE_simple	GLU_ERRORZGLenumr   r   r   r   r   r   r      s
   r   c                 C   s   |  ||S )z#Set the GLU error callback function)r   )Zquadricr   r   r   r   r   r   &   s    r   gluNewQuadriczCgluNewQuadric(  ) -> GLUQuadric
    
Create a new GLUQuadric object)ZdllZ
resultTypeZargTypesdocZargNames)r   r   r   )r   Z
OpenGL.rawr   r   ZOpenGL.platformr   r   ctypesZ
GLUquadricr   r   r   ZPOINTERr   __all__r   r   r   r   <module>   s   	