ó
V%¤\c           @  s  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l Z d a
 d a d „  Z d e j f d „  ƒ  YZ d „  Z e Z e d „ Z e Z d d	 d
 d h Z e j ƒ  Z d „  Z e Z d „  Z e Z d „  Z e Z d „  Z e Z d „  Z e Z d S(   iÿÿÿÿ(   t   print_functionNc          C  sî   t  j d d d ƒ }  |  j ƒ  a t t j ƒ  ƒ } | j d d „  ƒ t j d k rz | d | d | d	 | d f } n" | d | d	 | d | d f } t  j d d d | ƒ a t  j d d d | d  d ƒ a	 t
 j j j t	 t ƒ d
 S(   sR   
    This rebuilds the sample surfaces, to ones that use the given
    masks.
    i
   i    i    t   keyc         S  s
   t  |  ƒ S(   N(   t   abs(   t   a(    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyt   <lambda>9   s    t   bigi   i   i   N(   i
   i
   (   i
   i
   (   i
   i
   (   i    (   t   pygamet   Surfacet   convert_alphat   sample_alphat   listt	   get_maskst   sortt   syst	   byteordert   sample_noalphat   renpyt   audiot   sample_surfaces(   t   st   masks(    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyt   set_rgba_masks'   s    %" R   c           B  sG   e  Z d  Z e Z d „  Z d d „ Z d d „ Z d „  Z	 d „  Z
 RS(   s_   
    This allows us to wrap around pygame's surface, to change
    its mode, as necessary.
    c         C  s   |  j  S(   N(   t   opaque(   t   self(    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyt	   is_opaqueP   s    c         C  s   t  |  t ƒ S(   N(   t   copy_surface_unscaledt   True(   R   t   surface(    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyR   S   s    c         C  s   t  |  t ƒ S(   N(   t   copy_surfacet   False(   R   R   (    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyt   convertV   s    c         C  s   t  |  |  ƒ S(   N(   R   (   R   (    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyt   copyY   s    c         C  s   t  j j |  | ƒ } | S(   N(   R   R   t
   subsurface(   R   t   rectt   rv(    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyR    \   s    N(   t   __name__t
   __module__t   __doc__R   R   R   t   NoneR   R   R   R    (    (    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyR   H   s   		c         C  s¦   |  \ } } t  | t j ƒ r1 | j ƒ  d } n  | r@ t } n t } | d k rm t j d t j d ƒ } n  t | d | d f d | ƒ } | j d d | | f ƒ S(   sÕ   
    Constructs a new surface. The allocated surface is actually a subsurface
    of a surface that has a 2 pixel border in all directions.

    `alpha` - True if the new surface should have an alpha channel.
    i   i   i    i    i   N(   i   i   (	   t
   isinstanceR   R   R   R	   R   R&   t   SRCALPHAR    (   t   .0t   alphat   widtht   heightt   samplet   surf(    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyR   a   s    		 c         C  s/   t  |  j ƒ  | ƒ } t j j j |  | ƒ | S(   s(   
    Creates a copy of the surface.
    (   t   surface_unscaledt   get_sizeR   t   displayt   acceleratort
   nogil_copy(   R.   R*   R"   (    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyR   |   s    t   pngt   jpgt   jpegt   webpc         C  s¾   | j  d ƒ \ } } } yh | j ƒ  t k rQ t j j |  t j j | ƒ ƒ } n. t	 & t j j |  t j j | ƒ ƒ } Wd  QXWn+ t
 k
 r­ } t
 d j | | ƒ ƒ ‚ n Xt | ƒ } | S(   Nt   .s   Could not load image {!r}: {!r}(   t
   rpartitiont   lowert   safe_formatsR   t   imaget   loadR   t   exportst   fsencodet   image_load_lockt	   Exceptiont   formatR   (   t   ft   filenamet	   _basenamet   _dott   extR.   t   eR"   (    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyt
   load_image‘   s    $+c         C  s"   t  j j |  | | ƒ }  t |  ƒ S(   N(   R   t	   transformt   flipR   (   R.   t
   horizontalt   vertical(    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyRK   ¬   s    c         C  s"   t  j j |  | | ƒ }  t |  ƒ S(   N(   R   RJ   t   rotozoomR   (   R.   t   anglet   zoom(    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyRN   ³   s    c         C  s"   t  j j |  | ƒ }  t |  |  ƒ S(   N(   R   RJ   t   scaleR   (   R.   t   size(    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyt   transform_scale»   s    c         C  s   t  j j |  | ƒ }  t |  ƒ S(   N(   R   RJ   t   rotateR   (   R.   RO   (    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyt   transform_rotateÂ   s    (    t
   __future__R    R   t   pygame_sdl2R   t	   threadingt   renpy.displayR   t   renpy.audioR&   R	   R   R   R   R   R/   R   R   R   R;   t   RLockR@   RI   t   load_image_unscaledRK   t   flip_unscaledRN   t   rotozoom_unscaledRS   t   transform_scale_unscaledRU   t   transform_rotate_unscaled(    (    (    so   C:\Users\romet\Desktop\TwistedScarlett Patreon Pack #13\FriendshipwithBenefits-0.1-pc\renpy\display\pgrender.pyt   <module>   s2   	!							