
    ZMh{                       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    R/var/www/html/test/jupyter/venv/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          S )N)   ƚ        )
startswith)r5   s    r   _acceptr<   F   s    OPPPr   c                  <     e Zd ZdZdZddZddZ	 dd fdZ xZS )WmfStubImageFileWMFzWindows Metafiler   r   c                   | j                             d          }|                    d          rt          |d          }|dk    rd}t	          |          ||f| _        t          |d          }t          |d          }t          |d          }t          |d	          }d
| j        d<   ||z
  | j        d         z  |z  ||z
  | j        d         z  |z  f}||||f| j        d<   |dd         dk    rd}t          |          n%|                    d          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<   |
|f| _        nd}t          |          d | _
        || _        |                                 }|r|                    |            d S d S )!NP   r9      r   zInvalid inch      
      H   dpir         s    	 zUnsupported WMF file formatr:   (   ,   s    EMF                $   g     أ@   r'   r   zUnsupported file formatr   )r*   r/   r;   word
ValueError_inchshortr   SyntaxError_longr   _size_loadr"   )r!   sinchmsgx0y0x1y1r-   framexdpiydpiloaders                r   _openzWmfStubImageFile._openR   s   GLL<<344 :	# 2;;Dqyy$ oo%.2DjDJ q!Bq!Bq"Bq"B  "DIebDIe,,4bDIe,,4D
 %'BNDIj! Bx,,,3!#&&& - \\-.. 	#1RU8w3F3F 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||#'	%  #':	% tDJJ ,Cc"""

 	KK	 	r   r   c                    t           S Nr   )r!   s    r   r[   zWmfStubImageFile._load   s    r   NrH   "float | tuple[float, float] | NoneImage.core.PixelAccess | Nonec                `   ||| j         d<   | j         d         \  }}}}t          |t                    s||f}t          ||z
  |d         z  | j        d         z            t          ||z
  |d         z  | j        d         z            f| _        t                                                      S )NrH   r   r   r   )r   
isinstancetupleintrV   rZ   superr0   )r!   rH   r_   r`   ra   rb   	__class__s         r   r0   zWmfStubImageFile.load   s     ?"DIe!Yz2NBBc5)) 3hR"WA&A677R"WA&A677DJ ww||~~r   )r   r   )r   r   ri   )rH   rj   r   rk   )	r1   r2   r3   formatformat_descriptionrg   r[   r0   __classcell__)rq   s   @r   r>   r>   N   s        F+E E E EN    9=          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OSErrorry   )r   r*   rv   r^   s       r   _saver|      sD    wx88.cllMM"b(#####r   z.wmfz.emf)r   r   r   r   )r5   r6   r   r7   )r   r#   r*   ru   rv   rw   r   r   )
__future__r   typingr    r   r   _binaryr   rT   r	   rW   r
   rY   r   r   rz   r.   StubHandlerr   r<   StubImageFiler>   r|   register_openrr   register_saveregister_extensionsr4   r   r   <module>r      s  * # " " " " "               " " " " " " $ $ $ $ $ $ $ $ $ $ $ $    75:y!! #    Y*   " ZZ\\"""Q Q Q QZ Z Z Z Zy. Z Z Zz$ $ $ $  $+-=w G G G  $+U 3 3 3  *1FF3C D D D D Dr   