§
    œ"²c  ã                   ó–   — d dl mZ  G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d	¦  «        Z G d
„ de¦  «        ZdS )é   )ÚImagec                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚHDCz¤
    Wraps an HDC integer. The resulting object can be passed to the
    :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose`
    methods.
    c                 ó   — || _         d S ©N©Údc)Úselfr	   s     ú./usr/lib/python3/dist-packages/PIL/ImageWin.pyÚ__init__zHDC.__init__   s   € ØˆŒˆˆó    c                 ó   — | j         S r   r   ©r
   s    r   Ú__int__zHDC.__int__!   s	   € ØŒwˆr   N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r      s<   € € € € € ðð ðð ð ðð ð ð ð r   r   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚHWNDz¶
    Wraps an HWND integer. The resulting object can be passed to the
    :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose`
    methods, instead of a DC.
    c                 ó   — || _         d S r   ©Úwnd)r
   r   s     r   r   zHWND.__init__,   s   € ØˆŒˆˆr   c                 ó   — | j         S r   r   r   s    r   r   zHWND.__int__/   s	   € ØŒxˆr   Nr   r   r   r   r   r   %   s<   € € € € € ðð ðð ð ðð ð ð ð r   r   c                   óB   — e Zd ZdZd
d„Zd„ Zd
d„Zd„ Zd
d„Zd„ Z	d	„ Z
dS )ÚDiba&  
    A Windows bitmap with the given mode and size.  The mode can be one of "1",
    "L", "P", or "RGB".

    If the display requires a palette, this constructor creates a suitable
    palette and associates it with the image. For an "L" image, 128 greylevels
    are allocated. For an "RGB" image, a 6x6x6 colour cube is used, together
    with 20 greylevels.

    To make sure that palettes work properly under Windows, you must call the
    ``palette`` method upon certain events from Windows.

    :param image: Either a PIL image, or a mode string. If a mode string is
                  used, a size must also be given.  The mode can be one of "1",
                  "L", "P", or "RGB".
    :param size: If the first argument is a mode string, this
                 defines the size of the image.
    Nc                 ó4  — t          |d¦  «        rt          |d¦  «        r|j        }|j        }n|}d }|dvrt          j        |¦  «        }t          j                             ||¦  «        | _        || _        || _        |r|                      |¦  «         d S d S )NÚmodeÚsize)Ú1ÚLÚPÚRGB)	Úhasattrr    r!   r   ÚgetmodebaseÚcoreÚdisplayÚimageÚpaste)r
   r*   r!   r    s       r   r   zDib.__init__G   s¬   € Ý�5˜&Ñ!Ô!ð 	¥g¨e°VÑ&<Ô&<ð 	Ø”:ˆDØ”:ˆDˆDàˆDØˆEØÐ-Ð-Ð-ÝÔ$ TÑ*Ô*ˆDÝ”Z×'Ò'¨¨dÑ3Ô3ˆŒ
ØˆŒ	ØˆŒ	Øð 	Ø�JŠJ�uÑÔÐÐÐð	ð 	r   c                 óF  — t          |t          ¦  «        rq| j                             |¦  «        }	 | j                             |¦  «        }| j                             ||¦  «         n:# | j                             ||¦  «         w xY w| j                             |¦  «        }|S )a   
        Copy the bitmap contents to a device context.

        :param handle: Device context (HDC), cast to a Python integer, or an
                       HDC or HWND instance.  In PythonWin, you can use
                       ``CDC.GetHandleAttrib()`` to get a suitable handle.
        )Ú
isinstancer   r*   ÚgetdcÚexposeÚ	releasedc)r
   Úhandler	   Úresults       r   r/   z
Dib.exposeV   s˜   € õ �f�dÑ#Ô#ð 	/Ø”×!Ò! &Ñ)Ô)ˆBð1Øœ×*Ò*¨2Ñ.Ô.�à”
×$Ò$ V¨RÑ0Ô0Ð0Ð0ø�”
×$Ò$ V¨RÑ0Ô0Ð0Ð0øøøà”Z×&Ò& vÑ.Ô.ˆFØˆó   ±A' Á'Bc                 óf  — |s
d| j         z   }t          |t          ¦  «        rs| j                             |¦  «        }	 | j                             |||¦  «        }| j                             ||¦  «         n<# | j                             ||¦  «         w xY w| j                             |||¦  «        }|S )am  
        Same as expose, but allows you to specify where to draw the image, and
        what part of it to draw.

        The destination and source areas are given as 4-tuple rectangles. If
        the source is omitted, the entire image is copied. If the source and
        the destination have different sizes, the image is resized as
        necessary.
        )é    r5   )r!   r-   r   r*   r.   Údrawr0   )r
   r1   ÚdstÚsrcr	   r2   s         r   r6   zDib.drawh   s°   € ð ð 	%Ø˜4œ9Ñ$ˆCÝ�f�dÑ#Ô#ð 	7Ø”×!Ò! &Ñ)Ô)ˆBð1ØœŸš¨¨S°#Ñ6Ô6�à”
×$Ò$ V¨RÑ0Ô0Ð0Ð0ø�”
×$Ò$ V¨RÑ0Ô0Ð0Ð0øøøà”Z—_’_ V¨S°#Ñ6Ô6ˆFØˆs   ½A5 Á5Bc                 óF  — t          |t          ¦  «        rq| j                             |¦  «        }	 | j                             |¦  «        }| j                             ||¦  «         n:# | j                             ||¦  «         w xY w| j                             |¦  «        }|S )ae  
        Installs the palette associated with the image in the given device
        context.

        This method should be called upon **QUERYNEWPALETTE** and
        **PALETTECHANGED** events from Windows. If this method returns a
        non-zero value, one or more display palette entries were changed, and
        the image should be redrawn.

        :param handle: Device context (HDC), cast to a Python integer, or an
                       HDC or HWND instance.
        :return: A true value if one or more entries were changed (this
                 indicates that the image should be redrawn).
        )r-   r   r*   r.   Úquery_paletter0   )r
   r1   r2   s      r   r:   zDib.query_palette~   s˜   € õ �f�dÑ#Ô#ð 	6Ø”Z×%Ò% fÑ-Ô-ˆFð5Øœ×1Ò1°&Ñ9Ô9�à”
×$Ò$ V¨VÑ4Ô4Ð4Ð4ø�”
×$Ò$ V¨VÑ4Ô4Ð4Ð4øøøà”Z×-Ò-¨fÑ5Ô5ˆFØˆr3   c                 ó  — |                      ¦   «          | j        |j        k    r|                     | j        ¦  «        }|r"| j                             |j        |¦  «         dS | j                             |j        ¦  «         dS )aõ  
        Paste a PIL image into the bitmap image.

        :param im: A PIL image.  The size must match the target region.
                   If the mode does not match, the image is converted to the
                   mode of the bitmap image.
        :param box: A 4-tuple defining the left, upper, right, and
                    lower pixel coordinate.  See :ref:`coordinate-system`. If
                    None is given instead of a tuple, all of the image is
                    assumed.
        N)Úloadr    Úconvertr*   r+   Úim)r
   r>   Úboxs      r   r+   z	Dib.paste—   sy   € ð 	�Š‰	Œ	ˆ	ØŒ9˜œÒÐØ—’˜DœIÑ&Ô&ˆBØð 	$ØŒJ×Ò˜RœU CÑ(Ô(Ð(Ð(Ð(àŒJ×Ò˜RœUÑ#Ô#Ð#Ð#Ð#r   c                 ó6   — | j                              |¦  «        S )zÐ
        Load display memory contents from byte data.

        :param buffer: A buffer containing display data (usually
                       data returned from :py:func:`~PIL.ImageWin.Dib.tobytes`)
        )r*   Ú	frombytes)r
   Úbuffers     r   rA   zDib.frombytes«   s   € ð Œz×#Ò# FÑ+Ô+Ð+r   c                 ó4   — | j                              ¦   «         S )zy
        Copy display memory contents to bytes object.

        :return: A bytes object containing display data.
        )r*   Útobytesr   s    r   rD   zDib.tobytes´   s   € ð Œz×!Ò!Ñ#Ô#Ð#r   r   )r   r   r   r   r   r/   r6   r:   r+   rA   rD   r   r   r   r   r   3   s–   € € € € € ðð ð&ð ð ð ðð ð ð$ð ð ð ð,ð ð ð2$ð $ð $ð $ð(,ð ,ð ,ð$ð $ð $ð $ð $r   r   c                   óD   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zd	„ Z	d
„ Z
d„ ZdS )ÚWindowz*Create a Window with the given title size.ÚPILNc                 óf   — t           j                             || j        |pd|pd¦  «        | _        d S )Nr5   )r   r(   ÚcreatewindowÚ_Window__dispatcherÚhwnd)r
   ÚtitleÚwidthÚheights       r   r   zWindow.__init__À   s3   € Ý”J×+Ò+Ø�4Ô$ e j¨q°&°+¸Añ
ô 
ˆŒ	ˆ	ˆ	r   c                 ó.   —  t          | d|z   ¦  «        |Ž S )NÚ
ui_handle_)Úgetattr)r
   ÚactionÚargss      r   Ú__dispatcherzWindow.__dispatcherÅ   s   € Ø3�w�t˜\¨FÑ2Ñ3Ô3°TÐ:Ð:r   c                 ó   — d S r   r   ©r
   r	   Úx0Úy0Úx1Úy1s         r   Úui_handle_clearzWindow.ui_handle_clearÈ   ó   € Øˆr   c                 ó   — d S r   r   )r
   rW   rX   rY   rZ   s        r   Úui_handle_damagezWindow.ui_handle_damageË   r\   r   c                 ó   — d S r   r   r   s    r   Úui_handle_destroyzWindow.ui_handle_destroyÎ   r\   r   c                 ó   — d S r   r   rV   s         r   Úui_handle_repairzWindow.ui_handle_repairÑ   r\   r   c                 ó   — d S r   r   )r
   rM   rN   s      r   Úui_handle_resizezWindow.ui_handle_resizeÔ   r\   r   c                 óB   — t           j                             ¦   «          d S r   )r   r(   Ú	eventloopr   s    r   ÚmainloopzWindow.mainloop×   s   € ÝŒ
×ÒÑÔÐÐÐr   )rG   NN)r   r   r   r   r   rJ   r[   r^   r`   rb   rd   rg   r   r   r   rF   rF   ½   s—   € € € € € Ø4Ð4ð
ð 
ð 
ð 
ð
;ð ;ð ;ðð ð ðð ð ðð ð ðð ð ðð ð ðð ð ð ð r   rF   c                   ó*   ‡ — e Zd ZdZdˆ fd„	Zd„ Zˆ xZS )ÚImageWindowz6Create an image window which displays the given image.rG   c                 óº   •— t          |t          ¦  «        st          |¦  «        }|| _        |j        \  }}t	          ¦   «                              |||¬¦  «         d S )N)rM   rN   )r-   r   r*   r!   Úsuperr   )r
   r*   rL   rM   rN   Ú	__class__s        €r   r   zImageWindow.__init__Þ   sW   ø€ Ý˜%¥Ñ%Ô%ð 	Ý˜‘J”JˆEØˆŒ
Øœ
‰ˆˆvÝ‰Œ×Ò˜ e°FÐÑ;Ô;Ð;Ð;Ð;r   c                 óD   — | j                              |||||f¦  «         d S r   )r*   r6   rV   s         r   rb   zImageWindow.ui_handle_repairå   s'   € ØŒ
�Š˜˜R  R¨Ð,Ñ-Ô-Ð-Ð-Ð-r   )rG   )r   r   r   r   r   rb   Ú__classcell__)rl   s   @r   ri   ri   Û   sR   ø€ € € € € Ø@Ð@ð<ð <ð <ð <ð <ð <ð.ð .ð .ð .ð .ð .ð .r   ri   N)Ú r   r   r   r   rF   ri   r   r   r   ú<module>rp      sö   ðð( Ð Ð Ð Ð Ð ðð ð ð ð ñ ô ð ðð ð ð ð ñ ô ð ðG$ð G$ð G$ð G$ð G$ñ G$ô G$ð G$ðTð ð ð ð ñ ô ð ð<.ð .ð .ð .ð .�&ñ .ô .ð .ð .ð .r   