a
    Dfv                     @  s   d dl mZ ddlmZmZ ddlmZ ddlmZ	 ddlm
Z dadd	 Zeejd
rpG dd d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 )    )annotations   )Image	ImageFile)i16le)si16le)si32leNc                 C  s   | a dS )z^
    Install application-specific WMF image handler.

    :param handler: Handler object.
    N_handler)handler r   _/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/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  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   	frombytessizecorer   readr   r   r   r   r   load1   s    zWmfHandler.loadN)__name__
__module____qualname__r   r$   r   r   r   r   r   ,   s   r   c                 C  s    | d d dkp| d d dkS )N      ƚ           r   )prefixr   r   r   _acceptD   s    r-   c                      s6   e Zd ZdZdZdd Zdd Zd
 fdd		Z  ZS )WmfStubImageFileZWMFzWindows Metafilec                 C  s  d | _ | jd}|d d dkrt|d| _ t|d}t|d}t|d}t|d}d| jd	< || | jd	  | j  || | jd	  | j  f}||||f| jd
< |dd dkrd}t|n|d d 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d}t|d | _|| _	| 
 }|r||  d S )!NP   r(   r)         
      H   dpir         s    	 zUnsupported WMF file formatr*   r+   (   ,   s    EMF                $   g     أ@   r   r   r   zUnsupported file formatr   )_inchr   r#   wordshortr   SyntaxError_longr   _size_loadr   )r   sx0y0x1y1r!   msgframeZxdpiZydpiloaderr   r   r   _openR   sH    





$



$
zWmfStubImageFile._openc                 C  s   t S )Nr	   )r   r   r   r   rG      s    zWmfStubImageFile._loadNc                   sj   |d ur`| j d ur`|| jd< | jd \}}}}|| | jd  | j  || | jd  | j  f| _t  S )Nr5   r   )rA   r   rF   superr$   )r   r5   rI   rJ   rK   rL   	__class__r   r   r$      s    
zWmfStubImageFile.load)N)	r%   r&   r'   formatformat_descriptionrP   rG   r$   __classcell__r   r   rR   r   r.   N   s
   Dr.   c                 C  s0   t d u stt dsd}t|t | || d S )NsavezWMF save handler not installed)r
   hasattrOSErrorrW   )r   r   filenamerM   r   r   r   _save   s    r[   z.wmfz.emf)
__future__r    r   r   _binaryr   rB   r   rC   r   rE   r
   r   rX   r"   r   r-   ZStubImageFiler.   r[   Zregister_openrT   Zregister_saveZregister_extensionsr   r   r   r   <module>   s   


V