o
    tVg                     @   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rd}|jt jkrd}|jt jkrd}	|jt jkr|jt jkrd}|jt jkrd}|jt jkrd}|jt jkrd}	qk|r|
d  d8  < |
d dk rd|
d< |r|
d  d7  < |r|
d  d8  < |
d dk rd|
d< |	r|
d  d7  < |sHt   dS )zshow 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  )centerxcentery)   r   r   r      ) pgdisplayinitimageloadset_modeconvert_alpha	SpeedTest
FULLSCREENmouseset_visible	get_width
get_height	transformsmoothscaleget_rectfillblitflipeventgettypeQUITKEYDOWNkeyK_ESCAPEK_UPK_DOWNK_LEFTK_RIGHTKEYUPquit)	imagefiler   run_speed_test
backgroundscreenbRunningbUpbDownbLeftbRightcursizer
   imgposr    r2   M/home/ubuntu/.local/lib/python3.10/site-packages/pygame/examples/scaletest.pymain   sz   



)r4   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 }~qt d|d d d	d
 d}tdD ],}|d |d  d }|d |d  d }	t }tj
| ||	f}|t | 7 }~qt 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
   imgsizedurationishrinkxshrinkystarttempimgexpandxexpandyr2   r2   r3   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<   pygamer   r4   r   __name__lenargvr8   r2   r2   r2   r3   <module>   s$   
Q1
