
    \
j                        d dl Z d dlZg dZej        d         Zej        d         Zej        d         Z G d de          ZddZ	e j
        e j        fZ ee d	          ree j        fz  ZeD ]+Z e j        e           e j        e j                  k    reZ, G d
 de j                  Z G d de          Zd Zd Zd Zd ZdZdZdZej        dv rd dlmZm Z mZ dS ej        dk    rd dl!mZm Z mZ dS d dl"mZm Z mZ dS )    N)link_GLlink_GLUlink_AGLlink_GLXlink_WGLGLExceptionmissing_functiondecorate_functiondebug_gldebug_gl_tracedebug_gl_trace_argsc                       e Zd ZddZdS )MissingFunctionExceptionNc                     d|z  }|r|d|z  z  }|r|dd                     |          z  z  }t                              | |           d S )Nz2%s is not exported by the available OpenGL driver.z(  %s is required for this functionality.z  Consider alternative(s) %s., )join	Exception__init__)selfnamerequiressuggestionsmsgs        G/DATA/AppData/hermes/venv/lib/python3.11/site-packages/pyglet/gl/lib.pyr   z!MissingFunctionException.__init__1   sf    BTI 	I=HHC 	L2TYY{5K5KKKC4%%%%%    NN)__name__
__module____qualname__r    r   r   r   r   0   s(        & & & & & &r   r   c                       fd}|S )Nc                  &    t                    )N)r   )argskwargsr   r   r   s     r   MissingFunctionz)missing_function.<locals>.MissingFunction;   s    &tX{CCCr   r    )r   r   r   r%   s   ``` r   r	   r	   :   s7    D D D D D D D r   c_int64c                   "    e Zd Zdej        fgZdS )c_voiddummyN)r   r   r   ctypesc_int_fields_r    r   r   r(   r(   L   s         &,'(HHHr   r(   c                       e Zd ZdS )r   N)r   r   r   r    r   r   r   r   S   s        Dr   r   c                     t           rs	 |j        }n# t          $ r t          |          }Y nw xY wt          r5d                    d |D                       }t          |d|d           nt          |           ddlm} |j	        }|st          d          |j        s^|                                }|rFt          j        |                    |          t          j                  j        }t          |          | S d S )Nr   c                 <    g | ]}t          |          d d         S )N   )repr).0args     r   
<listcomp>zerrcheck.<locals>.<listcomp>^   s&    #H#H#HsDIIcrcN#H#H#Hr   ()r   gl$No GL context; create a Window first)_debug_gl_tracer   AttributeErrorr1   _debug_gl_trace_argsr   printpygletr8   current_contextr   	_gl_begin
glGetErrorr*   castgluErrorStringc_char_pvalue)	resultfunc	argumentsr   
trace_argsr8   contexterrorr   s	            r   errcheckrL   W   s&    		=DD 	 	 	::DDD	 	#H#Hi#H#H#HIIJdddJJJ/0000$KKK G B@AAA  	#+b//66HHNCc""" s    --c                 P    ddl m} |j        }|st          d          d|_        | S )Nr   r7   r9   T)r>   r8   r?   r   r@   rF   rG   rH   r8   rJ   s        r   errcheck_glbeginrO   o   sA     G B@AAAGMr   c                 n    ddl m} |j        }|st          d          d|_        t          | ||          S )Nr   r7   r9   F)r>   r8   r?   r   r@   rL   rN   s        r   errcheck_glendrQ   x   sN     G B@AAAGFD),,,r   c                     t           rF|dk    rt          | _        d S |dk    rt          | _        d S |dvr|d d         dvrt          | _        d S d S d S d S )NglBeginglEnd)rA   rC      )glXaglwgl)	_debug_glrO   rL   rQ   )rG   r   s     r   r
   r
      sw     %9,DMMMW__*DMMM999RaR 555$DMMM% %
 :955r   )win32cygwin)r   r   r   darwin)r   r   r   )r   r   r   r   )#r*   r>   __all__optionsrY   r:   r<   r   r   r	   c_int16c_int32
_int_typeshasattrr&   tsizeofc_size_tc_ptrdiff_t	Structurer(   r   rL   rO   rQ   r
   r   r   r   compat_platformpyglet.gl.lib_wglr   r   pyglet.gl.lib_aglpyglet.gl.lib_glxr    r   r   <module>rl      s1  H  C C C N:&	.!12~&;< & & & & &y & & &    nfn-

769 $ 6>##J	  Av}Q=6=9999) ) ) ) )V ) ) )	 	 	 	 	) 	 	 	  0  - - -% % % 	000============x''========================r   