
    _e                         d Z ddlmZ ddlmZmZ ddlZ G d dej                        Z	e	Zej                  dfdZ edej                   ej                  e	      g d	g 
      ZdZy)z>Wrapper/Implementation of the GLU quadrics object for PyOpenGL    )GLU)createBaseFunctionPLATFORMNc                       e Zd ZdZ ej
                  ej                        Zej                   edej                        iZd Zy)
GLUQuadricz7Implementation class for GLUQuadric classes in PyOpenGLNc                    | j                   j                  |      }|st        d|      t        ||      s	 ||      }n|}t        j
                  j                  | ||       t        | dd      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 	callbacksN)	CALLBACK_TYPESget
ValueError
isinstancer   r   gluQuadricCallbackgetattrr	   )selfwhichfunctioncallbackType	cCallbacks        5/usr/lib/python3/dist-packages/OpenGL/GLU/quadrics.pyaddCallbackzGLUQuadric.addCallback   s     **..7 
 8\3$h0I I''uiAD+t-5DN"+    )__name__
__module____qualname____doc__r   functionTypeForr   FUNCTION_TYPE_simple	GLU_ERRORGLenumr
   r    r   r   r   r      s?    A,H,,X\\:M 	M4ANr   r   c                 &    | j                  ||      S )z#Set the GLU error callback function)r   )quadricr   r   s      r   r   r   &   s    x11r   gluNewQuadriczCgluNewQuadric(  ) -> GLUQuadric
    
Create a new GLUQuadric object)dll
resultTypeargTypesdocargNames)r$   r   r   )r   
OpenGL.rawr   r   OpenGL.platformr   r   ctypes
GLUquadricr   r   r   POINTERr$   __all__r!   r   r   <module>r0      sp    D % 8 '$$ < 
'.'8'84 2
 #.&..2L	" r   