3

Z                 @   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ZdaeekrHeZdd Zeejd	rvG d
d deZee  dd ZG dd dejZdd Zejejee ejeje ej ejddg dS )    )print_function   )Image	ImageFile)i16lesi16lei32lesi32lez0.2Nc             C   s   | a dS )z^
    Install application-specific WMF image handler.

    :param handler: Handler object.
    N)_handler)Zhandler r   4/usr/lib/python3/dist-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   open3   s    zWmfHandler.openc             C   sL   |j jd tjd|jtjj|j j |j| jdd|jd d d d@ d	S )
Nr   r   rawZBGR      r   )	fpseekr   Z	frombytessizecorer   readr   )r   r   r   r   r   load7   s
    zWmfHandler.loadN)__name__
__module____qualname__r   r"   r   r   r   r   r   1   s   r   c             C   s    | d d dkp| d d dkS )N   s   ƚ  r   s      r   )prefixr   r   r   _acceptF   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 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o|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| _|| _	| j
 }|r|j|  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   r   _loadr   )r   sZinchZx0Zy0Zx1Zy1r   frameZxdpiZydpiloaderr   r   r   _openU   s>    




 





$
zWmfStubImageFile._openc             C   s   t S )N)r
   )r   r   r   r   r@      s    zWmfStubImageFile._loadN)r#   r$   r%   formatZformat_descriptionrD   r@   r   r   r   r   r)   P   s   Cr)   c             C   s.   t d kstt d rtdt j| || d S )NsavezWMF save handler not installed)r
   hasattrIOErrorrF   )r   r   filenamer   r   r   _save   s    rJ   z.wmfz.emf)!Z
__future__r    r   r   Z_binaryr   r;   r   r<   r   r>   r	   r?   __version__r
   strbytesintZlongr   rG   r    objectr   r(   ZStubImageFiler)   rJ   Zregister_openrE   Zregister_saveZregister_extensionsr   r   r   r   <module>   s    


L
