Your IP : 216.73.216.213
�ʴWp � @ s� d d l m Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd d � d e � Z Gd
d � d e � Z d S)
� )�Imagec @ s. e Z d Z d Z d d � Z d 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 C s
| | _ d S)N)�dc)�selfr � r �?/opt/alt/python35/lib64/python3.5/site-packages/PIL/ImageWin.py�__init__ s zHDC.__init__c C s | j S)N)r )r r r r �__int__ s zHDC.__int__N)�__name__�
__module__�__qualname__�__doc__r r r r r r r s r c @ s. e Z d Z d Z d d � Z d 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 C s
| | _ d S)N)�wnd)r r r r r r * s z
HWND.__init__c C s | j S)N)r )r r r r r - s zHWND.__int__N)r
r r r
r r r r r r r $ s r c @ s� e Z d Z d Z d d d � Z d d � Z d d d � Z d d
� Z d d d � Z d
d � Z d d � Z
d d � Z d 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 C s� t | d � r3 t | d � r3 | j } | j } n | } d } | d k rZ t j | � } t j j | | � | _ | | _ | | _ | r� | j | � d S)N�mode�size�1�L�P�RGB)r r r r ) �hasattrr r r Zgetmodebase�core�display�image�paste)r r r r r r r r E s zDib.__init__c C sg t | t � rQ | j j | � } z | j j | � } Wd | j j | | � Xn | j 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 the
:py:meth:`CDC.GetHandleAttrib` to get a suitable handle.
N)�
isinstancer r �getdc�expose� releasedc)r �handler �resultr r r r T s z
Dib.exposec C s� | s d | j } t | t � rj | j j | � } z | j j | | | � } Wd | j j | | � Xn | j 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.
r N)r r )r r r r r �drawr )r r �dst�srcr r! r r r r"