a
    F^iA                     @   s   d dl mZmZmZmZmZ d dlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ d dlZd dlZd dlm  mZ d dlZdd Zdd Zdd	 Zd
d ZdddZdd Zdd Z ej!Z"ej#Z$dddZ%e%Z&dS )    )divisionabsolute_importwith_statementprint_functionunicode_literals)PY2
basestringbchrbordchropenpystrrangeroundstrtobytesunicodeNc                 C   s   | S N )sr   r   9C:\Users\PahaGest\Downloads\Selene\renpy\display\scale.pyreal*   s    r   c                 C   s   | S r   r   )nr   r   r   scale0   s    r   c                 C   s    t || }tjj| | |S r   )pgrendersurface_unscaledrenpydisplaymoduleZbilinear_scale)srcsizervr   r   r   real_bilinear4   s    r"   c                 C   s   t | |S r   )r   transform_scale_unscaled)surfr    r   r   r   real_transform_scale<   s    r%   Tc                 C   s   t | |}|S r   )r   load_image_unscaled)fhintconvertr!   r   r   r   image_load_unscaledB   s    r*   c                 C   s   t j| | d S r   )pygameimagesave)r$   filenamer   r   r   image_save_unscaledI   s    r/   c                 C   s   | S r   r   )fullr   r   r   surface_scaleO   s    r1   c                 C   s   |\}}|   \}}|| }}|du r2t|| }|dksB|dkrF|S d}	d}
||d krl|	d9 }	|d }qN||d kr|
d9 }
|d }ql||ks||krt||f| }t| ||	|
dd |} t| |ddd| | ddd| | dd	 |S )z
    This scales src up or down to size. This uses both the pixellate
    and the transform operations to handle the scaling.
    Nr         g      ?)precise)get_sizer   r   real_renpy_pixellatereal_renpy_transform)r   r    destwidthheightZsrcwidthZ	srcheightZiwidthZiheightZxshrinkZyshrinkinterr   r   r   real_smoothscaleW   s4    


r<   )T)N)'
__future__r   r   r   r   r   renpy.compatr   r   r	   r
   r   r   r   r   r   r   r   r   pygame_sdl2r+   r   renpy.display.pgrenderr   r   _renpyr   r   r"   r%   r*   r/   r1   	pixellater6   	transformr7   r<   smoothscaler   r   r   r   <module>   s    8

*