o
    OZŽh  ã                   @   sŽ   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d„ Zd	d
„ Zdd„ Zdd„ Zdd„ ZedkrEeƒ  dS dS )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                 C   s8   t  |d||¡}|  ||¡ |d | ¡  d |d fS )Né   r   é   )r   ÚrenderÚblitZ	get_width)ÚwinÚposÚtextÚcolorÚbgcolorZtextimg© r   úH/var/www/auris/lib/python3.10/site-packages/pygame/examples/eventlist.pyÚshowtext-   s   r   c                 C   sâ  d}|   |d¡ |  t ddd|¡d¡ t| ddd	|ƒ}|  ttj ¡  |¡ t| |d
 d |d fdd	|ƒ}|  ttj 	¡  |¡ t| ddd	|ƒ}|  ttj
 ¡  |¡ t| ddd	|ƒ}tj ¡ }t|d
 7 at|d 7 atttj ¡ ƒt|ƒ ƒ}d| }t| |||dƒ t| ddd	|ƒ}trœdttj
 t¡f }nd}t| |||dƒ t| ddd	|ƒ}|  ttj ¡  |¡ tj ¡ oÃtj 	¡  }t| ddd	|ƒ}|  t| |¡ |rït› dt› }t| |d
 d |d f||dƒ d S d S )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ÚmouseZget_focusedÚget_visibleÚkeyZget_relÚ	virtual_xÚ	virtual_yÚtupleÚlistZget_posÚlast_keyÚnameÚeventÚget_grab)r	   r   r
   ÚrelZ
mouse_dataÚpZis_virtual_mouser   r   r   Ú
drawstatus3   s@   ÿ
$þr.   c                 C   st   t  dddd¡}|  |d¡ d}t|ƒ}| ¡  |D ]}|  |d|f¡}|  d|j|jd	|jf¡ |t  	¡ 8 }qd S )
NzEvent History Arear   r   ©r   r   r   )r   é„   iÂ  r   r   il  )
r   r   r   r'   Úreverser   ÚrightÚtopÚheightZ
get_height)r	   ÚhistoryÚimgZyposÚhÚlineÚrr   r   r   Údrawhistory_   s   ýr:   c                 C   sD   |  d¡}|D ]}|dksd|v rqt |ddd¡}|  |¡ qd S )NÚ
Ú z===r   ©r   éÈ   r   r/   )Úsplitr   r   Úappend)r5   r   Úlinesr8   r6   r   r   r   Údraw_usage_in_historyk   s   
ürB   c            
      C   s  t  ¡  tjj ¡  ttƒ t j dt j	¡} t j 
d¡ t j d d¡at t dddd¡¡ t t dddd	¡¡ g }tt j ¡ ƒD ]/}tjj |¡rXtjj |¡}d
|j }nt j |¡}d| ¡  }t |ddd¡}| |¡ qBt j ¡ s„t dddd¡}| |¡ d}|rBt j ¡ D ]}|jt jkrÁ|jt jkrŸd}n|ja|jt jkr­t |tƒ |jt j!krÁtjj "¡ }	tjj #|	 ¡ |jt j$krÖ|j%dkrÖt j &t j '¡  ¡ |jt j$krë|j%dkrët j( )t j( *¡  ¡ |jt j+krt j ,|j¡› d|j-› }t |ddd¡}| |¡ |dd … }|jt j.kr"t j |j/t j	¡} |jt j0kr+d}qŽt1| ƒ t2| |ƒ t j 3¡  t j4 5d¡ |s‰t  6¡  t7‚)N)r   ià  z#Mouse Focus Workout. h key for helpé   ZOffr   r/   )r   r   r   ZOn)r   r   r   zEnabled controller: zEnabled joystick: r=   zNo Joysticks to InitializeTFé   z: ióÿÿÿr   )8r    ÚinitÚpygameZ_sdl2Ú
controllerÚprintÚusageÚdisplayÚset_modeZ	RESIZABLEZset_captionr   ÚFontr   r@   r   ÚrangeÚjoystickZ	get_countZis_controllerZ
Controllerr)   ZJoystickÚget_namer*   ÚgetÚtypeZKEYDOWNr#   ZK_ESCAPEr(   ZK_hrB   ZK_cZget_eventstateZset_eventstateZMOUSEBUTTONDOWNZbuttonZset_grabr+   r!   Zset_visibler"   ZMOUSEMOTIONZ
event_nameÚdictZVIDEORESIZEÚsizeZQUITr.   r:   ÚflipÚtimeÚwaitÚquitÚ
SystemExit)
r	   r5   ÚxÚcÚtxtÚjr6   ZgoingÚeZcurrent_stater   r   r   Úmaint   sj   



€

Ü&r^   Ú__main__)Ú__doc__rI   Útypingr   rF   r    Zpygame._sdl2.controllerr   ZSurfaceÚ__annotations__r   rL   r(   r$   r%   r   r.   r:   rB   r^   Ú__name__r   r   r   r   Ú<module>   s$   	,	M
ÿ