
    _eR                         d Z ddlZej                  Z G d dej                        Z G d d ej
                  e            Zd Zy)z"Data-type definitions for EGL/GLES    Nc                       e Zd ZdZy)_Opaquez*An Opaque Structure reference (base class)N)__name__
__module____qualname____doc__     0/usr/lib/python3/dist-packages/OpenGL/_opaque.pyr   r      s    4r
   r   c                   F    e Zd ZeZed        Zed        Zed        Z	d Z
y)_opaque_pointerc                 .    t        j                  ||       S N)ctypescast)clsvalues     r   
from_paramz_opaque_pointer.from_param	   s    {{E3((r
   c                 @    t        j                  | j                        S r   )r   	addressofcontentsselfs    r   addressz_opaque_pointer.address   s    00r
   c                 @    t        j                  | j                        S r   )r   c_voidpr   r   s    r   as_voidpz_opaque_pointer.as_voidp   s    ~~t||--r
   c                     | j                   S )z7Allow these pointers to be used as keys in dictionaries)r   r   s    r   __hash__z_opaque_pointer.__hash__   s    ||r
   N)r   r   r   r   _type_classmethodr   propertyr   r   r   r	   r
   r   r   r      sB    F) )1 1. .r
   r   c                 X    t        | t        fi       }t        | dz   t        fd|i      }|S )z1Create an Opaque pointer class for the given name_pointerr    )typer   r   )nametypp_typs      r   opaque_pointer_clsr)      s0    
wj"
&C$z/O#5~FELr
   )r   r   pointer	Structurer   POINTERr   r)   r	   r
   r   <module>r-      sB    ( 
..5v 5~v~~w0 r
   