
 XC                 @   s&  d  d l  m Z m Z m Z d Z d a e e k r= e Z	 n  d d   Z
 e e j d  r Gd d   d e  Z e
 e    n  e j Z d  d	 d
  Z e j Z d d   Z Gd d   d e j  Z d d   Z e j e j e e  e j e j e  e j e j d  e j e j d  d S)    )Image	ImageFile_binaryz0.2Nc             C   s
   |  a  d S)z^
    Install application-specific WMF image handler.

    :param handler: Handler object.
    N)_handler)handler r   O/home/ubuntu/projects/ifolica/lib/python3.4/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   open*   s    	zWmfHandler.openc             C   sf   | 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         )	fpseekr   Z	frombytessizecorer
   readr   )r   r   r   r   r   load.   s
    	$zWmfHandler.loadN)__name__
__module____qualname__r   r   r   r   r   r   r   (   s   r   c             C   s,   t  |  |  } | d k r( | d 8} n  | S)Ni   i   )word)covr   r   r   short=   s    r'   c             C   s*   |  d  d  d k p) |  d  d  d k S)N   s   ƚ  r   s      r   )prefixr   r   r   _acceptJ   s    r*   c               @   s4   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 r t | d  } t | d  } t | d  } t | d  } t | d  } | | d | | | d | f } | | | | f |  j d	 <d |  j d
 <| d d  d k r&t d   q&nAt |  d k r| d d  d k rt | 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
 <q&|	 |
 f |  j d
 <n t d   d |  _ | |  _ |  j	   } | rZ| j
 |   n  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   r#   r'   r   SyntaxErrordwordr   r   _loadr   )r   sZinchZx0Zy0Zx1y1r   frameZxdpiZydpiloaderr   r   r   _openY   s>    $(6		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+   T   s   Cr+   c             C   sB   t  d  k s t d d  r+ t d   n  t  j |  | |  d  S)Nr   savezWMF save handler not installed)r   hasattrIOErrorrF   )r   r   filenamer   r   r   _save   s    rJ   z.wmfz.emf)ZPILr   r   r   __version__r   strbytesintlongr	   rG   r   objectr   Zi16ler#   r'   Zi32ler>   r*   ZStubImageFiler+   rJ   Zregister_openrE   Zregister_saveZregister_extensionr   r   r   r   <module>   s$   				
L	