
~YKc        	   @   s   d  d k  Z  d  d k Z d  d k Z d  d k Z d  d k i i Z d  d k Z d  d k Z e i	 Z
 d a e a d   Z d   Z d   Z d   Z e d  Z d   Z d	   Z e i Z e i Z d d
  Z e Z d   Z e a d a d   Z  d S(   iNg      ?c         C   s   |  S(   N(    (   t   s(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   real1   s    c         C   s   |  S(   N(    (   t   n(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   scale5   s    c         C   s,   t  i | |   } t i i i |  |  | S(   N(   t   pgrendert   surface_unscaledt   renpyt   displayt   modulet   bilinear_scale(   t   srct   sizet   rv(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   real_bilinear8   s    c         C   s   t  i |  |  S(   N(   R   t   transform_scale_unscaled(   t   surfR   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   real_transform_scale>   s    c         C   s   t  i |  |  } | S(   N(   R   t   load_image_unscaled(   t   ft   hintt   convertR   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   image_load_unscaledB   s    c         C   s   t  i i |  |  d  S(   N(   t   pygamet   imaget   save(   R   t   dest(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   image_save_unscaledG   s    c         C   s   |  S(   N(    (   t   full(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   surface_scaleK   s    c         C   sd  | \ } } |  i    \ } } | | } } | d j o t i | |   } n | d j p | d j o | Sn d }	 d }
 x* | | d j o |	 d 9}	 | d :} q Wx* | | d j o |
 d 9}
 | d :} q W| | j p | | j o; t i | | f |   } t |  | |	 |
 d d  | }  n t |  | d d d | | d d d | | d d | S(   s   
    This scales src up or down to size. This uses both the pixellate
    and the transform operations to handle the scaling.
    i    i   i   g      ?t   preciseN(   t   get_sizet   NoneR   R   t   real_renpy_pixellatet   real_renpy_transform(   R
   R   R   t   widtht   heightt   srcwidtht	   srcheightt   iwidtht   iheightt   xshrinkt   yshrinkt   inter(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   real_smoothscaleQ   s2    


	c          C   s'  d t  i j o t t  i d  a n d t  i j oQ t t  i d  }  |  t i i j  o! t t  i d  t i i a q d a n[ t i i	   } t
 d d | i t i i d | i t i i  a t d j o
 d a n t d j o d t GHt   n d t  i j o
 t a n t a d  S(   Nt   RENPY_SCALE_FACTORt   RENPY_SCALE_WIDTHg      ?i    s   Using scale factor of %f.t   RENPY_SCALE_FAST(   t   ost   environt   floatt   factorR   t   configt   screen_widthR   R   t   Infot   mint	   current_wt	   current_ht   screen_heightt   load_scalingt   Truet
   scale_fastt   False(   R"   t   info(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   init}   s&    !

	
c    !   $      s  t  o d  Sn t a  d   }  d    d   }   f d    d    d    d     f d   } | t _ | t i _ d	    d
 t f    f d     Y  t _ t  f d  } | t _  f d   } | t _	 t i i
  d    f d  } | t i _
 d   } | t i _  f d   } | t _ | t i _   f d   } | t _ | t i _  f d   }	 |	 t _ |	 t i _  f d   }
 |
 t _ |
 t i _  f d   } | t _ | t i _ t i  d t f    f d     Y} | t _ t i i   f d   } | t i _  f d   } t i i    f d   } | t i _  f d    t i i    f d   } | t i _ t i i    f d   } | t i _ t i i      f d   } | t i _ t  i!  d  f d  } | t  _! t  i"   f d    } | t  _" t  i#    f d!   } | t  _# t  i$ 
 
  f d"   } | t  _$ t  i%  d# d# d  d  d# d# d  d  d$  f d% 	 } | t  _% t  i& 	 	  f d&   } | t  _& t  i  d' d$  f d(  } | t  _ t  i'   f d)   } | t  _' t  i(    f d*   } | t  _( t  i)    f d+   } | t  _) t  i*    f d,   } | t  _*  f d-     f d.   }  f d/   } | t i+ i,  t i+ _, | t i+ i-  t i+ _- | t i+ i.  t i+ _. | t i+ i/  t i+ _/ | t i+ i0  t i+ _0 | t i+ i1  t i+ _1 | t i+ i2  t i+ _2 | t i+ i3  t i+ _3 | t i+ i4  t i+ _4 d    f d0  }  t5   i
 t6    t7 t8 i i9  d  S(1   Nc         S   s   |  i  S(   N(   t   surface(   R    (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR      s    c          W   s   t  d   |  D  } t  d   |  D  } | | f } g  } xE |  D]= } | i   | j o | i d |  } n | i |  qE W| S(   s   
        If all the surfaces in args are the same size, return them all
        unchanged. Otherwise, compute smallest width and height, and
        take subsurfaces of anything bigger.
        c         s   s   x |  ] } | i    Vq Wd  S(   N(   t	   get_width(   t   .0t   i(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pys	   <genexpr>   s    c         s   s   x |  ] } | i    Vq Wd  S(   N(   t
   get_height(   RB   RC   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pys	   <genexpr>   s    i    (   i    i    (   R6   R   t
   subsurfacet   append(   t   argst   wt   hR   R   RC   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt	   same_size   s     c         S   s#   |  d  j o |  Sn t |  t  S(   N(   R   t   intR2   (   R   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR      s    c            s[   t  o t |   |  i     } n2 t |   |  i     }   | d |  i   Sd  S(   Nt   wh(   R<   R   R   R+   (   R   t   scaled(   t   ScaledSurfacet   v2p(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR      s    c         S   sD   |  d  j o d  Sn t g  } |  D] } | t | t  q# ~  S(   N(   R   t   tupleRK   R2   (   R   t   _[1]RC   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyRO      s    c         S   sW   |  d  j o d  Sn t g  } t |  d  D]! \ } } | t | t  | q, ~  S(   Ni    i   (   i    i    i   i   (   R   RP   t   zipRK   R2   (   R   RQ   RC   t   k(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   v2pplus   s    c         S   sD   |  d  j o d  Sn t g  } |  D] } | t | t  q# ~  S(   N(   R   RP   RK   R2   (   R   RQ   RC   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   p2v   s    c            sc   |  \ } } t  | t  } t  | t  } t i | | f | |  }   | d | | f a t S(   NRL   (   RK   R2   R   t   set_mode_unscaledt   screen(   RB   t   flagst   bppRH   RI   R"   R#   t   real_screen(   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   set_mode   s
   c            s"   t  t |       f d   } | S(   Nc            s     |  i  | |  S(   N(   R@   (   t   selfRG   t   kwargs(   t   func(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    (   t   getattrt   PygameSurface(   t   nameR   (    (   R^   s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   proxy  s    RN   c              sg  e  Z e d   f d   Z d   Z d   Z d   Z d  d  Z  f d   Z	 d   Z
 d   Z d   Z  d	  Z  d
  Z  d  Z  d  Z  d  Z  d  Z  d  Z  d  Z  d  Z  d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z  f d   Z d   Z d   Z d   Z  d   Z!   f d   Z" RS(!   c            sT  t  | t  o | |  _ | d  j	 o* t | d  |  _ t | d  |  _ q,t t i |  i i	   t
   |  _ t t i |  i i   t
   |  _ n | \ } } t |  } t |  } | |  _ | |  _ t | t
  } t | t
  } t  |    o | i } n t i | | f |  |  _ d |  _ d |  _ d |  _ d |  _ d  S(   Ni    i   (   t
   isinstanceR`   R@   R   RK   R"   R#   t   matht   ceilRA   R2   RD   R   R   t   virtxt   virtyt   physxt   physy(   R\   t   whatt   alphaRL   RH   RI   (   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   __init__  s*    	%)					c         S   sj   | \ } } | |  i  } | |  i } | t 9} | t 9} t |  } t |  } | |  i | |  i f S(   sJ   
            Converts a virtual position into a physical one.
            (   Rf   Rg   R2   RK   Rh   Ri   (   R\   t   .1t   xt   yt   x0t   y0(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   transform_pos3  s   

c         S   s   | \ } } } } | |  i  } | |  i } | | } | | }	 | t 9} | t 9} | t 9} |	 t 9}	 t |  } t |  } t |  } t |	  }	 | |  i | |  i | | |	 | f }
 |
 S(   sK   
            Converts a virtual rectangle into a physical one.
            (   Rf   Rg   R2   RK   Rh   Ri   (   R\   Rm   Rn   Ro   RH   RI   Rp   Rq   t   x1t   y1R   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   transform_rectD  s   





(c         S   s   d |  i    |  i f S(   Ns   <ScaledSurface %r %r>(   R   R@   (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   __repr__]  s    c         S   s_   | d  j o# |  i i | i |  i |   n, |  i i | i |  i |  |  i |   d  S(   N(   R   R@   t   blitRr   Ru   (   R\   R    t   destpost
   sourcerect(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyRw   a  s    		c            s     |  i  i   d |  i   S(   NRL   (   R@   t   copyR   (   R\   (   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyRz   n  s    c         S   s   |  i  i |  d  S(   N(   R@   t   fill(   R\   t   color(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR{   r  s    c         S   s   |  i  i   S(   N(   R@   t	   get_alpha(   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR}   v  s    c         S   sZ   |  i  |  \ } } |  i i   \ } } |  i i t | | d  t | | d  f  S(   Ni   (   Rr   R@   R   t   get_atR6   (   R\   t   posRn   Ro   RH   RI   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR~   z  s    t   set_colorkeyR}   t	   get_lockst   map_rgbt	   unmap_rgbt	   get_pitcht	   set_maskst
   get_shiftst
   set_shiftst
   get_lossesc         S   s   |  i  i   S(   N(   R@   t   get_bytesize(   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    c         S   s   |  i  i   S(   N(   R@   t   get_bitsize(   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    c         S   s   |  i  i   S(   N(   R@   t   get_colorkey(   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    c         S   s   |  i  i   S(   N(   R@   t	   get_flags(   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    c         S   s   |  i  i   S(   N(   R@   t	   get_masks(   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    c         S   s   |  i  |  i f S(   N(   R"   R#   (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    c         S   s   |  i  i | |  d  S(   N(   R@   t	   set_alpha(   R\   Rk   RX   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    c            s   |  i  |  } |  i i |  }   | d | d } | \ } } } } | \ }	 }
 } } | |  i | _ | |  i | _ |	 |  i | _ |
 |  i | _ | S(   NRL   i   (   Ru   R@   RE   Rf   Rg   Rh   Ri   (   R\   t   rectt   prectR   R   t   vxt   vyt   vwt   vht   pxt   pyt   pwt   ph(   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyRE     s    c         S   s   t  S(   N(   R=   (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   mustlock  s    c         S   s   d  S(   N(    (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   lock  s    c         S   s   d  S(   N(    (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   unlock  s    c         S   s   t  S(   N(   R=   (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt
   get_locked  s    c            sd   |  i  i   }   | i  | _   | i  | _ x* | i   D] \ } } t | | |  q@ W| S(   N(   R@   t   get_rectR   t   topleftt	   iteritemst   setattr(   R\   R]   R   RS   t   v(   RU   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s     N(#   t   __name__t
   __module__R;   R   Rl   Rr   Ru   Rv   Rw   Rz   R{   R}   R~   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   RE   R   R   R   R   R   (    (   RU   Rb   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyRN     s@   "																	c            s1   t  i |  i |  }   | d |  i |  i f S(   NRL   (   R   t   copy_surface_unscaledR@   R"   R#   (   R   Rk   t   new_surf(   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   copy_surface  s    c            s     |  |  S(   N(    (   R   RX   t   sample(   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   pygame_surface  s    c            sh   |  d  j o     d  Sn t |  t  p |  g }  n   g  } |  D] } |  |  qG ~  d  S(   N(   R   Rc   t   list(   t   rectsRQ   RC   (   t
   old_updateRT   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   update  s    c           S   s   t  S(   N(   RW   (    (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   get_surface  s    c            s   t  i |  |  }   |  S(   N(   R   R   (   R   t   filenameR   (   R   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt
   load_image  s    c            s1   t  i |  i   |   }  | d | } | S(   NRL   (   R   R   R@   (   R   R   R   (   RO   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   transform_scale  s    c            s.   t  i |  i | |  }   | d |  i   S(   NRL   (   R   t   flip_unscaledR@   R   (   R   t   xboolt   yboolR   (   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   transform_flip  s    c            s   t  i |  i |  }   |  S(   N(   R   t   transform_rotate_unscaledR@   (   R   t   angleR   (   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   transform_rotate  s    c            s"   t  i |  i | |  }   |  S(   N(   R   t   rotozoomR@   (   R   R   R   R   (   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    t   Fontc              s   e  Z  f d    Z   f d   Z  f d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z RS(   c            s#     | t  | t  |  |  _ d  S(   N(   RK   R2   t   font(   R\   t   oR   t   index(   t
   PygameFont(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyRl   &  s    c            s     |  i  i |    S(   N(   R   t   render(   R\   RG   (   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   )  s    c            s     |  i  i |   S(   N(   R   R   (   R\   t   text(   RU   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   ,  s    c         S   s   |  i  i |  d  S(   N(   R   t   set_underline(   R\   t   b(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   /  s    c         S   s   |  i  i   S(   N(   R   t   get_underline(   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   2  s    c         S   s   |  i  i |  d  S(   N(   R   t   set_bold(   R\   R   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   5  s    c         S   s   |  i  i   S(   N(   R   t   get_bold(   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   8  s    c         S   s   |  i  i |  d  S(   N(   R   t
   set_italic(   R\   R   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   ;  s    c         S   s   |  i  i   S(   N(   R   t
   get_italic(   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   >  s    c         S   s   t  |  i i   t  S(   N(   RK   R   t   get_linesizeR2   (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   A  s    c         S   s   t  |  i i   t  S(   N(   RK   R   RD   R2   (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyRD   D  s    c         S   s   t  |  i i   t  S(   N(   RK   R   t
   get_ascentR2   (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   G  s    c         S   s   t  |  i i   t  S(   N(   RK   R   t   get_descentR2   (   R\   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   J  s    c         S   s   |  i  i | t  d  S(   N(   R   t
   set_expandR2   (   R\   t   value(    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   M  s    (   R   R   Rl   R   R   R   R   R   R   R   R   R   RD   R   R   R   (    (   RN   RU   R   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   $  s   										c            s,   t  i |  i |  i    }    |  |  d  S(   N(   R   R   R@   R   (   R   R   (   t   old_image_save(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt
   image_saveU  s    c            s     |  i  |  d  S(   N(   R@   (   R   R   (   R   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR   \  s    c              s         S(   N(    (    (   RU   t   old_mouse_get_pos(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   mouse_get_posb  s    c            s   |  i  t i j o> t i i |  i  d   |  i  d   |  i  d |  i SnZ |  i  t i j p |  i  t i	 j o/ t i i |  i  d   |  i  d |  i
 Sn |  Sd  S(   NR   t   relt   buttonst   button(   t   typeR   t   MOUSEMOTIONt   eventt   EventR   R   R   t   MOUSEBUTTONUPt   MOUSEBUTTONDOWNR   (   t   ev(   RU   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   scale_eventh  s
    >&/c             s      }    |   S(   N(    (   R   (   R   t   old_event_poll(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt
   event_polls  s    	c             s      }    |   S(   N(    (   R   (   R   t   old_event_wait(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt
   event_wait|  s    	c             s/    |    } | o   | d  | d <n | S(   Ni(    (   RG   R   (   R   t   old_event_get(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt	   event_get  s    ic            s2   t  i |  i |  i    }    |  | d | d  S(   Nt   compress(   R   R   R@   R   (   R   R   R   (   t   old_save_png(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   save_png  s    c   
         s   t  t | t  d  } t  t | t  d  } d | | } d | | }	   |  i | i t  | | d  t  | |	 d  | |  d  S(   Ni   g      ?(   t   maxRK   R2   R@   (
   t   pysrct   pydstt   avgwidtht	   avgheightt   outwidtht	   outheightt   owt   oht   owft   ohf(   t   old_pixellate(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt	   pixellate  s    c            s8    |  i  | i   \ }  }   |  | | | | |  d  S(   N(   R@   (   R   R   t   rt   gR   t   a(   t   old_mapRJ   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   map  s    c            s8    |  i  | i   \ }  }   |  | | | | |  d  S(   N(   R@   (   R   R   R   R   R   R   (   t
   old_linmapRJ   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   linmap  s    g        i    c            s   d   } | |  } | |  } | |  } | |  } | |  } | |  } | |  } | |	  }	   |  i  | i  d | d | d | d | d | d | d | d	 |	 d
 |
 	d  S(   Nc         S   s   |  d  j o |  Sn |  t S(   N(   R   R2   (   R   (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR     s    t   source_xofft   source_yofft   source_widtht   source_heightt	   dest_xofft	   dest_yofft
   dest_widtht   dest_heightR   (   R@   (   R   R   R   R   R   R   R   R   R   R   R   R   (   t   old_bilinear(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   bilinear  s&    	c            s5    |  i  | i   \ }  }   |  | | | |  d  S(   N(   R@   (   R   R   t   srcchant   dstchant   amap(   t   old_alpha_mungeRJ   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   alpha_munge  s    g      ?c
   
         s7     |  i  | i  | t | t | | | | | |	 
 d  S(   N(   R@   R2   (
   R   R   t   corner_xt   corner_yt   xdxt   ydxt   xdyt   ydyR   R   (   t   old_transform(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt	   transform  s    c            s$     |  i  | i  | t | t |  S(   N(   R@   R2   (   R   R   Rn   Ro   t   shift(   t   old_subpixel(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   subpixel  s    c            s;    |  i  | i  | i   \ }  } }   |  | | |  d  S(   N(   R@   (   t   pysrcat   pysrcbR   Rk   (   t	   old_blendRJ   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   blend   s    $c            sJ    |  i  | i  | i  | i   \ }  } } }   |  | | | | |  d  S(   N(   R@   (   R  R  R   t   pyimgt   aoffR  (   t   old_imageblendRJ   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt
   imageblend	  s    -c            s/    |  i  | i   \ }  }   |  | |  d  S(   N(   R@   (   R
   t   dstRG   (   t   old_colormatrixRJ   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   colormatrix  s    c            s   t  |  t  o t t i |  t   Sn t  |  t  o |  t Sn t  |  t  o t   f d   |  D  Sng t  |  t  o t   f d   |  D  Sn9 t  |  t  o$ t   f d   |  i	   D  Sn d  Sd  S(   Nc         3   s   x |  ] }   |  Vq Wd  S(   N(    (   RB   RC   (   t
   draw_scale(    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pys	   <genexpr>  s    c         3   s   x |  ] }   |  Vq Wd  S(   N(    (   RB   RC   (   R  (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pys	   <genexpr>!  s    c         3   s+   x$ |  ] \ } } |   |  f Vq Wd  S(   N(    (   RB   RS   R   (   R  (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pys	   <genexpr>#  s    (   Rc   RK   Rd   Re   R2   R1   RP   R   t   dictR   R   (   R   (   R  (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR    s    $c            s      f d   } | S(   Nc            s&     |  i  |  |   |   d  S(   N(   R@   (   R   R|   RG   R]   (   R   R  (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   newf)  s    (    (   R   R  (   R  (   R   s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt	   draw_wrap(  s    c            s   d    f d  } | S(   Ni   c            s,    |  i  |   |  | |   |   d  S(   N(   R@   (   R   R|   t   Rectt   start_anglet
   stop_angleR"   (   R  R   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR  /  s    (    (   R   R  (   R  (   R   s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   arc_wrap.  s    c            s^   | d  j	 o | i } n t |  i   |  |  } | d  j o | Sn  | d | Sd  S(   NRL   (   R   R@   R+   (   R   R   R   R   (   RO   RN   (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyt   smoothscale@  s    (:   t   scaling_loadedR;   R   R[   R   R   t   objectR@   R   t   SurfaceR   R   R   R   R   t   loadR   R  R   t   flipR   t   rotateR   t   _renpy_fontR   R   t   mouset   get_posR   t   pollt   waitt   gett   _renpyR   R   R   R   R  R  R  R  R  R  t   drawR   t   polygont   circlet   ellipset   arct   linet   linest   aalinet   aalinest   globalst   localst   reloadR   R   (!   R   R   R[   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R  R  R  R  R  R  R  R   R$  R%  (    (   R   RO   R   R  R   R   R   R   R  R  R   R   R   R  R   RU   R   Rb   R  R   RN   R  R  R   RT   R   RJ   s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pyR:      s    									
"			
							",																									(!   R/   Rd   R   R   t   renpy.display.pgrenderR   R   R,  R2  R(  R`   R2   R=   R<   R   R   R   R   R;   R   R   R   R   R    R  R!   R   R+   R%  R?   R&  RW   R:   (    (    (    s;   D:\Version 1-0-7\Games\Katawa Shoujo\renpy\display\scale.pys   <module>   s0   									)	$