
     fw                       d dl mZ 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          r& G d dej                  Z e e                       d!dZ G 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 )#    )annotations)IO   )Image	ImageFile)i16le)si16le)si32leNhandlerImageFile.StubHandler | NonereturnNonec                
    | a dS )z^
    Install application-specific WMF image handler.

    :param handler: Handler object.
    N_handler)r   s    U/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/PIL/WmfImagePlugin.pyregister_handlerr   !   s     HHH    drawwmfc                      e Zd Zd	dZd
dZdS )
WmfHandlerimImageFile.StubImageFiler   r   c                8    d|_         |j        d         | _        d S )NRGBwmf_bbox)_modeinfobboxselfr   s     r   openzWmfHandler.open/   s    BH
+DIIIr   Image.Imagec           	        |j                             d           t          j        d|j        t          j                            |j                                         |j        | j                  dd|j        d         dz  dz   dz  d          S )Nr   r   rawBGR   )	fpseekr   	frombytessizecorer   readr   r    s     r   loadzWmfHandler.load3   st    EJJqMMM?
""25::<<$)DDa!#r)  r   N)r   r   r   r   )r   r   r   r#   )__name__
__module____qualname__r"   r0    r   r   r   r   .   s<        	, 	, 	, 	,
	 
	 
	 
	 
	 
	r   r   prefixbytesboolc                :    | d d         dk    p| d d         dk    S )N      ƚ           r4   )r5   s    r   _acceptr=   F   s+    rr
11VVBQBZCV5Vr   c                  8     e Zd ZdZdZd
dZddZd fd		Z xZS )WmfStubImageFileWMFzWindows Metafiler   r   c                   d | _         | j                            d          }|d d         dk    rt          |d          | _         t	          |d          }t	          |d          }t	          |d          }t	          |d          }d| j        d	<   ||z
  | j        d	         z  | j         z  ||z
  | j        d	         z  | j         z  f}||||f| j        d
<   |dd         dk    rd}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}||z
  ||z
  f}d||z
  z  |d         |d         z
  z  }	d||z
  z  |d         |d         z
  z  }
||||f| j        d
<   |	|
k    r|	| j        d	<   n|	|
f| j        d	<   nd}t          |          d | _        || _	        | 
                                }|r|                    |            d S d S )!NP   r9   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framexdpiydpiloaders               r   _openzWmfStubImageFile._openT   s   
 GLLRaR5/// aDJ q!Bq!Bq"Bq"B  "DIebDIe,,
:bDIe,,
:D
 %'BNDIj! Bx,,,3!#&&& - rrU)))a2h'.A.A q!Bq"Bq"Bq"B !RLL%2,,aeArllJE7BG#D R"W%qE!H)<=DR"W%qE!H)<=D$&BNDIj!t||#'	%  #':	%   ,Cc"""

 	KK	 	r   r   c                    t           S Nr   )r!   s    r   rZ   zWmfStubImageFile._load   s    r   Nc                   |^| j         W|| j        d<   | j        d         \  }}}}||z
  | j        d         z  | j         z  ||z
  | j        d         z  | j         z  f| _        t                                                      S )NrH   r   )rT   r   rY   superr0   )r!   rH   r\   r]   r^   r_   	__class__s         r   r0   zWmfStubImageFile.load   s    ?tz5"DIe!Yz2NBBbDIe,,
:bDIe,,
:DJ ww||~~r   )r   r   )r   r   rg   )	r1   r2   r3   formatformat_descriptionre   rZ   r0   __classcell__)rj   s   @r   r?   r?   P   su        F+B B B BH            r   r?   r   r#   r*   	IO[bytes]filenamestr | bytesc                    t           t          t           d          sd}t          |          t                               | ||           d S )NsavezWMF save handler not installed)r   hasattrOSErrorrr   )r   r*   ro   r`   s       r   _saveru      sD    wx88.cllMM"b(#####r   z.wmfz.emf)r   r   r   r   )r5   r6   r   r7   )r   r#   r*   rn   ro   rp   r   r   )
__future__r   typingr    r   r   _binaryr   rU   r	   rV   r
   rX   r   r   rs   r.   StubHandlerr   r=   StubImageFiler?   ru   register_openrk   register_saveregister_extensionsr4   r   r   <module>r      s  * # " " " " "               " " " " " " $ $ $ $ $ $ $ $ $ $ $ $    75:y!! #    Y*   " ZZ\\"""   S S S S Sy. S S Sl$ $ $ $  $+-=w G G G  $+U 3 3 3  *1FF3C D D D D Dr   