
    \
j                        d dl Z d dl T d dlZd dlmZmZ d dlmZ g dZej        d         Z	e j
        j        Ze j
        j        ZeZe	r'd dlmZ  ee          Z ee          Z ee          Z	 ej        Z e ee                    e_        ege_        dZn# e$ r d	ZY nw xY wg d
Zd Z G d d          ZddZddZeZ dS )    N)*)missing_functiondecorate_function)asbytes)link_GLlink_GLUlink_WGLdebug_trace)_TraceLibraryTF)namerequiressuggestionsftypefuncc                 &      G  fdd          }|S )Nc                       e Zd ZeZ ZdS )$makeWGLFunction.<locals>.WGLFunctionN)__name__
__module____qualname__class_slots	__slots____call__)r   s   K/DATA/AppData/hermes/venv/lib/python3.11/site-packages/pyglet/gl/lib_wgl.pyWGLFunctionr   F   s        	    r    )r   r   s   ` r   makeWGLFunctionr   E   s=              r   c                       e Zd ZeZd Zd ZdS )WGLFunctionProxyc                 ^    t           sJ || _        || _        || _        || _        d | _        d S )N)_have_get_proc_addressr   r   r   r   r   )selfr   r   r   r   s        r   __init__zWGLFunctionProxy.__init__P   s6    %%%%	
 &			r   c                    ddl m} |st          d| j        z            t	          t          | j                            }t          |t          t                              r5t          || j	                  | _
        t          | j
        | j                   n%t          | j        | j        | j                  | _
        t          | j
                  | _         | j
        |i |S )Nr   )current_contextz/Call to function "%s" before GL context created)	pyglet.glr&   	Exceptionr   wglGetProcAddressr   castPOINTERc_intr   r   r   r   r   r   r   	__class__)r#   argskwargsr&   addresss        r   r   zWGLFunctionProxy.__call__X   s    ------ 	OADIMO O O#GDI$6$677(( 	<Wdj11DIdi3333(	4=$*:< <DI )33ty$)&)))r   N)r   r   r   r   r   r$   r   r   r   r   r    r    M   s7        I  * * * * *r   r    c                    	 t          t          |           }||_        ||_        t	          ||            |S # t
          $ r 	 |ft          |          z   }t          j        | }t          rdddl
m} |                                r6t          |           }	|	r$t          |	|          }t	          ||            |cY S nt          | |||          cY S n#  Y nxY wt!          | ||          cY S w xY wNr   )gl_info)getattrgl_librestypeargtypesr   AttributeErrortuplectypesWINFUNCTYPEr"   r'   r3   have_contextr)   r*   r    r   
r   r6   r7   r   r   r   fargsr   r3   r0   s
             r   r   r   j   s-   =vt$$ $%%% = = =	Jx0E&.E% 
P------'')) P/55G $#GU33)$555#$ ,D%;OOOOO	Dh<<<<<'=:   47 
C*A4C6C*9CC*C*CC*)C*c                    	 t          t          |           }||_        ||_        t	          ||            |S # t
          $ r 	 |ft          |          z   }t          j        | }t          rdddl
m} |                                r6t          |           }	|	r$t          |	|          }t	          ||            |cY S nt          | |||          cY S n#  Y nxY wt!          | ||          cY S w xY wr2   )r4   glu_libr6   r7   r   r8   r9   r:   r;   r"   r'   r3   r<   r)   r*   r    r   r=   s
             r   r   r      s-   =w%% $%%% = = =	Jx0E&.E% 
P------'')) P/55G $#GU33)$555#$ ,D%;OOOOO	Dh<<<<<'=r?   )NN)!r:   pygletpyglet.gl.libr   r   pyglet.utilr   __all__options_debug_tracewindllopengl32r5   glu32rA   wgl_lib
pyglet.libr   r)   	CFUNCTYPEr+   r,   r6   c_char_pr7   r"   r8   r   r   r    r   r   r	   r   r   r   <module>rO      s  H       = = = = = = = =      
-
-
-~m,		
-

 %((((((]6""FmG$$GmG$$G#1 )	''%.. 9 9"*! # # #"# CBB  * * * * * * * *:= = = =:= = = =: s   0*B B%$B%