
    i                         U d Z dZddlmZ ddlZddlZg aeej                     e	d<   ej                  j                  e	d<   dadadad Zd Zd	 Zd
 Zd Zedk(  r e        yy)z pygame.examples.eventlist

Learn about pygame events and input.

At the top of the screen are the state of several device values,
and a scrolling list of events are displayed on the bottom.

a  
Mouse Controls
==============

- 1st button on mouse (left click) to toggle events 'grabed'.
- 3rd button on mouse (right click) to toggle mouse visible.
- The window can be resized.
- Mouse the mouse around to see mouse events.
- If events grabbed and mouse invisible show virtual mouse coords.


Keyboard Joystick Controls
==========================

- press keys up an down to see events.
- you can see joystick events if any are plugged in.
- press "c" to toggle events generated by controllers.
    )ListN
img_on_offfontc                     t         j                  |d||      }| j                  ||       |d   |j                         z   dz   |d   fS )N   r      )r   renderblit	get_width)winpostextcolorbgcolortextimgs         c/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/pygame/examples/eventlist.pyshowtextr   -   sJ    kk$5'2GHHWcq6G%%''!+SV33    c                    d}| j                  |d       | j                  t        j                  ddd|      d       t	        | ddd	|      }| j                  t
        t        j                  j                            |       t	        | |d
   dz   |d   fdd	|      }| j                  t
        t        j                  j                            |       t	        | ddd	|      }| j                  t
        t        j                  j                            |       t	        | ddd	|      }t        j                  j                         }t        |d
   z  at        |d   z  at        t        t        j                  j!                               t        |      z         }d|z  }t	        | |||d       t	        | ddd	|      }t"        r-dt"        t        j                  j%                  t"              fz  }nd}t	        | |||d       t	        | ddd	|      }| j                  t
        t        j&                  j)                            |       t        j&                  j)                         xr t        j                  j                          }t	        | ddd	|      }| j                  t
        |   |       |r*t         dt         }t	        | |d
   dz   |d   f||d       y y )N)2   r   r   )r   r     x   zStatus Arear      r   r   )   r   )
      zMouse Focus)   r   r   r   r   zMouse visible)J  r   zKeyboard Focus)r   <   zMouse Position(rel)z%s, %s (%s, %s))r   r   7   )r   r    zLast Keypressz%d, %sNone)r   Z   zInput Grabbed)r   r#   zVirtual Mousez, )fillr
   r   r	   r   r   pgmouseget_focusedget_visiblekeyget_rel	virtual_x	virtual_ytuplelistget_poslast_keynameeventget_grab)r   r   r   rel
mouse_datapis_virtual_mouses          r   
drawstatusr8   3   s_   GHHW&'HHT[[?GDfM
3-'
JCHHZ,,./5
c!frk3q6"O_gC HHZ,,./5
3	#3_g
NCHHZ**,-s3
3"7'
RC
((


CQIQItBHH,,./$s);<JJ&AS#q'>2
3	?OW
MC"&&++h"788S#q'>2
3/?G
LCHHZ))+,c2xx((*I2883G3G3I/I
3	?OW
MCHHZ()3/kI;'s1v{CF+QH r   c                 ^   t         j                  dddd      }| j                  |d       d}t        |      }|j	                          |D ]a  }| j                  |d|f      }| j                  d|j                  |j                  d	|j                  f       |t         j                         z  }c y )
NzEvent History Arear   r   r   r   r   )r      i  r   r   il  )
r   r	   r
   r.   reverser$   righttopheight
get_height)r   historyimgyposhliners          r   drawhistoryrG   _   s    
++*A	
JCHHS(DWAIIK "HHTB:&QWWaeeS!((34!!"r   c                     |j                  d      }|D ]5  }|dk(  sd|v rt        j                  |ddd      }| j                  |       7 y )N
 z===r   r      r   r:   )splitr   r	   append)rA   r   linesrE   rB   s        r   draw_usage_in_historyrP   k   sO    JJtE 2:$kk$=)<s	r   c                     t        j                          t        j                  j                  j                          t        t               t         j                  j                  dt         j                        } t         j                  j                  d       t         j                  j                  d d      at        j                  t        j                  dddd             t        j                  t        j                  dddd	             g }t!        t         j"                  j%                               D ]  }t        j                  j                  j'                  |      r9t        j                  j                  j)                  |      }d
|j*                  z   }n2t         j"                  j-                  |      }d|j/                         z   }t        j                  |ddd      }|j                  |        t         j"                  j%                         s)t        j                  dddd      }|j                  |       d}|r+t         j0                  j3                         D ]  }|j4                  t         j6                  k(  r|j8                  t         j:                  k(  rd}n|j8                  a|j8                  t         j>                  k(  rtA        |t               |j8                  t         jB                  k(  rRt        j                  j                  jE                         }	t        j                  j                  jG                  |	        |j4                  t         jH                  k(  rK|jJ                  dk(  r<t         j0                  jM                  t         j0                  jO                                 |j4                  t         jH                  k(  rK|jJ                  dk(  r<t         jP                  jS                  t         jP                  jU                                 |j4                  t         jV                  k7  rft         j0                  jY                  |j4                         d|jZ                   }t        j                  |ddd      }|j                  |       |dd  }|j4                  t         j\                  k(  r8t         j                  j                  |j^                  t         j                        } |j4                  t         j`                  k(  sd} tc        |        te        | |       t         j                  jg                          t         jh                  jk                  d       |r+t        jl                          tn        )N)r   i  z#Mouse Focus Workout. h key for help   Offr   r:   )r   r   r   On)r   r   r   zEnabled controller: zEnabled joystick: rK   zNo Joysticks to InitializeTF   z: ir   )8r%   initpygame_sdl2
controllerprintusagedisplayset_mode	RESIZABLEset_captionr   Fontr   rN   r	   rangejoystick	get_countis_controller
Controllerr1   Joystickget_namer2   gettypeKEYDOWNr)   K_ESCAPEr0   K_hrP   K_cget_eventstateset_eventstateMOUSEBUTTONDOWNbuttonset_grabr3   r&   set_visibler(   MOUSEMOTION
event_namedictVIDEORESIZEsizeQUITr8   rG   fliptimewaitquit
SystemExit)
r   rA   xctxtjrB   goingecurrent_states
             r   mainr   t   s   GGI
LL  "	%L
**

j",,
7CJJ@A 77<<b!D dkk%I}EFdkk$9mDE G 2;;((*+ 	<<""003''2215A(1661C$$Q'A&5Ckk#q-;s	 ;;  "kk6=)TsE
 	Avv#55BKK'!E  !uuH55BFF?)'5955BFF?$*LL$;$;$J$J$LMLL++::};LMvv+++A!!bhh&7&7&9"9:vv+++A$$)=)=)?%?@vv',,QVV45Rx@kk#q-Cs#!#$-vv'jj))!&&",,?vv ;	> 	3C!



RI L GGI
r   __main__)__doc__r[   typingr   rW   r%   pygame._sdl2.controllerr   Surface__annotations__r   r`   r0   r+   r,   r   r8   rG   rP   r   __name__ r   r   <module>r      s   	&     "
D !ggll  		4)IX	"JZ zF r   