o
    OZŽhÚ  ã                   @   sž   d Z ddlZddlZddlZddd„Zdd„ ZedkrMeej	ƒd	k r;e
d
ej	d › dƒ e
dƒ e
dƒ e
dƒ dS eej	d dej	v dej	v d dS dS )z@ pygame.examples.scaletest

Shows an interactive image scaler.

é    NFc                 C   s*  t j ¡  t j | ¡}|r|rt j d¡ | ¡ }t|ƒ dS t j dt j¡}|r-| ¡ }t j	 
d¡ d}d}d}d}d}	| ¡ | ¡ g}
|rt j ||
¡}|jddd	}| d
¡ | ||¡ t j ¡  t j ¡ D ]b}|jt jks|jt jkr|jt jkrd}|jt jkr§|jt jkrd}|jt jkr—d}|jt jkrŸd}|jt jkr§d}	|jt jkrÍ|jt jkrµd}|jt jkr½d}|jt jkrÅd}|jt jkrÍd}	qk|râ|
d  d8  < |
d dk râd|
d< |rì|
d  d7  < |r|
d  d8  < |
d dk rd|
d< |	r|
d  d7  < |sHt  ¡  dS )zÕshow an interactive image scaler

    Args:
        imagefile - name of source image (required)
        convert_alpha - use convert_alpha() on the surf (default False)
        run_speed_test - (default False)
    )é   r   N)i   i   r   TFi   i€  )ZcenterxZcentery)éÿ   r   r   r   é   ) ÚpgÚdisplayÚinitÚimageÚloadÚset_modeÚconvert_alphaÚ	SpeedTestZ
FULLSCREENÚmouseZset_visibleÚ	get_widthÚ
get_heightÚ	transformÚsmoothscaleZget_rectÚfillZblitÚflipÚeventÚgetÚtypeZQUITZKEYDOWNÚkeyZK_ESCAPEZK_UPZK_DOWNZK_LEFTZK_RIGHTZKEYUPÚquit)Z	imagefiler   Úrun_speed_testÚ
backgroundÚscreenZbRunningZbUpZbDownZbLeftZbRightZcursizer   Zimgposr   © r   úH/var/www/auris/lib/python3.10/site-packages/pygame/examples/scaletest.pyÚmain   sz   



€Ø)r   c           
      C   s  t dt|  ¡ ƒ› dƒ |  ¡ |  ¡ g}d}tdƒD ](}|d | d }|d | d }t ¡ }tj 	| ||f¡}|t ¡ | 7 }~qt d|d d d	›d
ƒ d}tdƒD ],}|d |d  d }|d |d  d }	t ¡ }tj 	| ||	f¡}|t ¡ | 7 }~qVt d|d d d	›d
ƒ d}tdƒD ](}|d | d }|d | d }t ¡ }tj 
| ||f¡}|t ¡ | 7 }~q–t d|d d d	›d
ƒ d}tdƒD ],}|d |d  d }|d |d  d }	t ¡ }tj 
| ||	f¡}|t ¡ | 7 }~qÒt d|d d d	›d
ƒ d S )Nz'
Image Scaling Speed Test - Image Size Ú
g        é€   r   r   z+Average transform.smoothscale shrink time: iè  z.4fz ms.é   z+Average transform.smoothscale expand time: z%Average transform.scale shrink time: z%Average transform.scale expand time: )ÚprintÚstrÚget_sizer   r   ÚrangeÚtimer   r   r   Úscale)
r   ZimgsizeÚdurationÚiZshrinkxZshrinkyÚstartZtempimgZexpandxZexpandyr   r   r   r   ]   sL   r   Ú__main__r   z
Usage: z  imagefile [-t] [-convert_alpha]z-    imagefile       image filename (required)z"    -t              run speed testz?    -convert_alpha  use convert_alpha() on the image's surface
r   z-convert_alphaz-t)r   r   )FF)Ú__doc__Úsysr&   Zpygamer   r   r   Ú__name__ÚlenÚargvr"   r   r   r   r   Ú<module>   s$   
Q1
ýø