
    3j]                        S r SSK7  SSKrS r\\\\\\\\\\\	\	\
\
\\\\\\\\\\\\\\\\0rS rS rS)S jr\\\\\\\/r\\ \!\"\#/r$\%\&\'/r(\%\)/r*/ \+P\,P\-P\.P\/P\0P\1P\2P\3P\4P\5P\6P\7P\8P\9P\:P\;P\<P\=P\>P\?P\@P\AP\BP\CP\DP\EP\FP\GP\HP\IP\JPrK\L" \F\4\C\$4\8\$4\7\(4\G\*4/5      rMS rN\+S	S
S4\2SSS4\9SSS4\,SSS4\-SSS4\.SSS4\0SSS4\/SSS4\3SSS4\ESSS4\DSSS4\AS	S
S4\C\N" \5      SS4\C\N" \ 5      S S4\C\N" \!5      S!S4\C\N" \"5      S"S4\C\N" \#5      S#S4\F\N" \5      S$S%4\F\N" \5      S&S%4\F\N" \5      S'S%4/rO\O4S( jrPg)*z"Debug utilities for EGL operations    )*Nc                 ,    [         R                  X 5      $ )z8Returns error constant if known, otherwise returns value)KNOWN_ERRORSget)values    J/home/wildlama/miniconda3/lib/python3.13/site-packages/OpenGL/EGL/debug.pyeglErrorNamer	      s    E))    c                    [        US5       nU R                  u  p4nUR                  S5        UR                  S5        UR                  SXC4-  5        UR                  S5        [        US-
  SS5       HN  n[        U5       H+  nXU4   nSUS	   US   US
   4-  n	UR                  U	5        M-     UR                  S5        MP     SSS5        g! , (       d  f       g= f)zWrite height * width * 3-component buffer as ppm to filename

This lets us write a simple image format without
using any libraries that can be viewed on most
linux workstations.
wzP3
z%# ascii ppm file created by pyopengl
z%i %i
z255
   z %3d %3d %3dr      
N)openshapewriterange)
buffilenamefhr   cyxpixells
             r   	write_ppmr      s     
h	II	q		89		QF"#	q1ub"%A1XqD	"eAha%(%CC
  GGDM & 
		s   B:C
Cc                 @   0 n[        5       n[         H  n[        XXC5      (       d  [        R	                  SU5        M,  U[
        ;   a7  0 n[
        U    H'  nUR                  U-  (       d  M  SXVR                  '   M)     OUR                  nXRUR                  '   M     U$ )z-Get debug display for the given configurationz&Failed to get attribute %s from configT)EGLintCONFIG_ATTRSeglGetConfigAttriblogwarningBITMASK_FIELDSr   name)displayconfigresultr   attr
attr_valuesubattrs          r   debug_configr-   4   s    FHE!'4??KK@$G>!J)$/;;((/3J||, 0 J&tyy  Mr
   c                     UcF  [         U-  " 5       n[        5       n[        XX#5        UR                  (       d  / $ USUR                   nU Vs/ s H  n[	        X5      PM     nnU$ s  snf )z3Present a formatted list of configs for the displayN)	EGLConfigr    eglGetConfigsr   r-   )r'   configs	max_countnum_configscfgdebug_configss         r   r5   r5   G   sk    y(+hg	?  I-K--.;BC7C\'/7MC Ds   A'c                    ^  U 4S jnU$ )Nc                 (   > TR                   U ;   a  gg)Nz Yz .)r&   )r   bits    r   renderbit_renderer.<locals>.render   s    88ur
    )r8   r9   s   ` r   bit_rendererr<      s     Mr
   z0x%xidr4   z%iszbfr   lvrcbufgbathdptsnsmultbuvisualglr9   ese2e3vgwnsurfacepbpxc                 "   / nU H  u  p4pV/ nSnU  H}  n	[        U	[        5      (       a  [        U	S5      e XR                     n
[        U[        5      (       a  XJ-  nO	U" U
5      n [        [        U5      U45      nUR                  U5        M     UR                  UUUUUUS.5        M     / n/ nX/n[        R                  " US 5       Hb  u  nn[        U5      n[        U Vs/ s H  ofS   PM	     sn5      [        U5      S-
  -   nUR                  UR                  US5      S	U 5        Md     U H/  nUR                  US
   R                  US   5      S	US    5        M1     UR                  [!        U VVs/ s H+  ofS    Vs/ s H  nUR                  US   S5      PM     snPM-     snn6 5        SR#                  U V	s/ s H  n	SR#                  U	5      PM     sn	5      $ ! [
         a    Sn GNf = fs  snf s  snf s  snnf s  sn	f )a|  Format config for compact debugging display

Produces a config summary display for a set of
debug_configs as a text-mode table.

Uses `formats` (default `CONFIG_FORMAT`) to determine
which fields are extracted and how they are formatted
along with the column/subcolum set to be rendered in
the overall header.

returns formatted ASCII table for display in debug
logs or utilities
r   z!Call debug_config(display,config)_)rowskeyformatsubcolcolwidthc                     U S   $ )Nr]   r;   )r   s    r   <lambda>&format_debug_configs.<locals>.<lambda>   s    %r
   r^   r   .Nr\   rY    r   )
isinstancer/   	TypeErrorr&   strKeyErrormaxlenappend	itertoolsgroupbylistsumcenterrjustextendzipjoin)r5   formatscolumnsrZ   r[   r\   r]   column	max_widthrowr   	formattedheaders
subheadersrY   headersubcolsr^   vs                      r   format_debug_configsr      s
    G$+ V	 C#y))%HII.HH fc** & 0I &uIS^Y78IMM)$ ! 	  "		
# %,6 GJ D %,,W6HIw-W5Wc\W56#g,:JKv}}UC0%89 J &*00ABSF7OTU KK7S7Cv;?;aqwws7|S);?7ST 99t4tchhsmt455C   	 4 6
 @S4s5   G)'G<
=H	H(HH)G98G9H)N   )Q__doc__
OpenGL.EGLrk   r	   EGL_SUCCESSEGL_NOT_INITIALIZEDEGL_BAD_ACCESSEGL_BAD_ALLOCEGL_BAD_ATTRIBUTEEGL_BAD_CONTEXTEGL_BAD_CONFIGEGL_BAD_CURRENT_SURFACEEGL_BAD_DISPLAYEGL_BAD_SURFACEEGL_BAD_MATCHEGL_BAD_PARAMETEREGL_BAD_NATIVE_PIXMAPEGL_BAD_NATIVE_WINDOWEGL_CONTEXT_LOSTr   r   r-   r5   EGL_MULTISAMPLE_RESOLVE_BOX_BITEGL_PBUFFER_BITEGL_PIXMAP_BITEGL_SWAP_BEHAVIOR_PRESERVED_BITEGL_VG_ALPHA_FORMAT_PRE_BITEGL_VG_COLORSPACE_LINEAR_BITEGL_WINDOW_BITSURFACE_TYPE_BITSEGL_OPENGL_BITEGL_OPENGL_ES_BITEGL_OPENGL_ES2_BITEGL_OPENGL_ES3_BITEGL_OPENVG_BITRENDERABLE_TYPE_BITSEGL_NONEEGL_SLOW_CONFIGEGL_NON_CONFORMANT_CONFIGCAVEAT_BITSEGL_TRANSPARENT_RGBTRANSPARENT_BITSEGL_CONFIG_IDEGL_RED_SIZEEGL_GREEN_SIZEEGL_BLUE_SIZEEGL_DEPTH_SIZEEGL_ALPHA_SIZEEGL_ALPHA_MASK_SIZEEGL_BUFFER_SIZEEGL_STENCIL_SIZEEGL_BIND_TO_TEXTURE_RGBEGL_BIND_TO_TEXTURE_RGBAEGL_COLOR_BUFFER_TYPEEGL_CONFIG_CAVEATEGL_CONFORMANT	EGL_LEVELEGL_LUMINANCE_SIZEEGL_MAX_PBUFFER_WIDTHEGL_MAX_PBUFFER_HEIGHTEGL_MAX_PBUFFER_PIXELSEGL_MIN_SWAP_INTERVALEGL_MAX_SWAP_INTERVALEGL_NATIVE_RENDERABLEEGL_NATIVE_VISUAL_IDEGL_NATIVE_VISUAL_TYPEEGL_RENDERABLE_TYPEEGL_SAMPLE_BUFFERSEGL_SAMPLESEGL_SURFACE_TYPEEGL_TRANSPARENT_TYPEEGL_TRANSPARENT_RED_VALUEEGL_TRANSPARENT_GREEN_VALUEEGL_TRANSPARENT_BLUE_VALUEr!   dictr%   r<   CONFIG_FORMATr   r;   r
   r   <module>r      s   (  * ,N=(_N4__=(00&&*&
 $#       
!!! ! 	!
 ! ! ! ! ! ! ! ! ! ! !  !!" #!$ %!& '!( )!* +!, -!. /!0 1!2 3!4 5!6 7!8 9!: ;!< =!>  ?!@ A!F 	,-	23	-.	K(	/0 FD%(dD$'c4 4f%T3'D#v&T3'T4&tS#&$f%tV,642,~6hG,'894J,'9:D(K,'9:D(K,~6hG|N3T9E|O4dIF|N3T9E)0 1> 86r
   