B
    0\                 @   s   d dl mZ ddlmZmZ ddlmZmZ	m
ZmZ ddlmZ dZdaerPeZdd	 Zeejd
r~G dd deZee  dd ZG dd dejZdd Zeejee eeje e ejddg dS )    )print_function   )Image	ImageFile)i16lesi16lei32lesi32le)py3z0.2Nc             C   s   | a dS )z^
    Install application-specific WMF image handler.

    :param handler: Handler object.
    N)_handler)Zhandler r   1lib/python3.7/site-packages/PIL/WmfImagePlugin.pyregister_handler&   s    r   drawwmfc               @   s   e Zd Zdd Zdd ZdS )
WmfHandlerc             C   s   d|_ |jd | _d S )NRGBwmf_bbox)modeinfobbox)selfimr   r   r   open5   s    zWmfHandler.openc          	   C   sL   |j d td|jtj|j  |j| jdd|jd d d d@ dS )Nr   r   rawZBGR   )	fpseekr   Z	frombytessizecorer   readr   )r   r   r   r   r   load9   s
    zWmfHandler.loadN)__name__
__module____qualname__r   r"   r   r   r   r   r   3   s   r   c             C   s    | d d dkp| d d dkS )N   s   ƚ     s      r   )prefixr   r   r   _acceptH   s    r)   c               @   s$   e Zd ZdZdZdd Zdd ZdS )WmfStubImageFileZWMFzWindows Metafilec             C   s  | j d}|d d dkrt|d}t|d}t|d}t|d}t|d}|| d | || d | f}||||f| jd	< d| jd
< |dd dkrtdnt|dkr|dd dkrt|d}t|d}t|d}t|d}t|dt|dt|dt|df}|| || f}d||  |d |d   }	d||  |d |d   }
||||f| jd	< |	|
kr|	| jd
< n|	|
f| jd
< ntdd| _|| _	| 
 }|r||  d S )NP   r&   s   ƚ        
      H   r   Zdpi      s    	 zUnsupported WMF file formatr   (   ,   s    EMF                $   i	     r   r   zUnsupported file formatr   )r   r!   wordshortr   SyntaxErrordword_longr   Z_size_loadr   )r   sZinchZx0Zy0Zx1Zy1r   frameZxdpiZydpiloaderr   r   r   _openW   s>    




 

 



$
zWmfStubImageFile._openc             C   s   t S )N)r   )r   r   r   r   rA      s    zWmfStubImageFile._loadN)r#   r$   r%   formatZformat_descriptionrE   rA   r   r   r   r   r*   R   s   Ar*   c             C   s,   t d kstt dstdt | || d S )NsavezWMF save handler not installed)r   hasattrIOErrorrG   )r   r   filenamer   r   r   _save   s    rK   z.wmfz.emf)!Z
__future__r    r   r   Z_binaryr   r<   r   r=   r   r?   r	   r@   Z_utilr
   __version__r   intZlongr   rH   r    objectr   r)   ZStubImageFiler*   rK   Zregister_openrF   Zregister_saveZregister_extensionsr   r   r   r   <module>   s"   


J
