
    _e	                         d Z dZddlZ ej                  d      ZddlmZ dZej                  r	 ddl	mZ eddlmZ  G d	 d
ej                        Zyy# e
$ rZej                  d       Y dZ[:dZ[ww xY w)z&Passing of None as an array data-type
nones    NzOpenGL.arrays.nones)acceleratesupport)NoneHandlerzEUnable to load nones_formathandler accelerator from OpenGL_accelerate)formathandlerc                   t    e Zd ZdZ ed      fZddZd Zd ZddZ	d Z
ddZdd	Zdd
ZddZddZddZy)r   z+Numpy-specific data-type handler for OpenGLNc                      y)z!Convert to a ctypes pointer valueN selfvaluetypeCodes      5/usr/lib/python3/dist-packages/OpenGL/arrays/nones.py
from_paramzNoneHandler.from_param           c                      y)zreturn long for pointer valueNr	   r   r   s     r   dataPointerzNoneHandler.dataPointer   r   r   c                      y)zCGiven value in a known data-pointer type, return void_p for pointerNr	   )clsr   s     r   voidDataPointerzNoneHandler.voidDataPointer   r   r   c                      y)z.Given a value, convert to array representationNr	   r
   s      r   asArrayzNoneHandler.asArray   r   r   c                     t        d      )z=Given a value, guess OpenGL type of the corresponding pointerz"Can't guess type of a NULL pointer	TypeErrorr   s     r   arrayToGLTypezNoneHandler.arrayToGLType!   s    EGGr   c                      y)z6Given a data-value, calculate dimensions for the arrayr   r	   r
   s      r   	arraySizezNoneHandler.arraySize$       r   c                      y)zCGiven a data-value, calculate number of bytes required to representr   r	   r
   s      r   arrayByteCountzNoneHandler.arrayByteCount'   r    r   c                     t        d      z2Create an array of given shape with given typeCodez,Can't create NULL pointer filled with valuesr   r   shaper   s      r   zeroszNoneHandler.zeros*       OQQr   c                     t        d      r$   r   r%   s      r   oneszNoneHandler.ones-   r(   r   c                     t        d      )z-Determine unit size of an array (if possible)z+Can't determine unit size of a null pointerr   r
   s      r   unitSizezNoneHandler.unitSize0   s    NPPr   c                      y)z<Determine dimensions of the passed array value (if possible))r   r	   r
   s      r   
dimensionszNoneHandler.dimensions3   r   r   )N)__name__
__module____qualname____doc__typeHANDLED_TYPESr   r   r   r   r   r   r"   r'   r*   r,   r.   r	   r   r   r   r      sK    9d					H			R	R	Q	r   r   )r2   REGISTRY_NAMElogging	getLogger_logOpenGLr   r   ACCELERATE_AVAILABLE%OpenGL_accelerate.nones_formathandlerImportErrorerrwarningOpenGL.arraysr   FormatHandlerr	   r   r   <module>rA      s    w/1 $))
E
 +#}22 # 	  
S	
 	

s   A A5A00A5