
    Rfv                    n   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 Z eej        d	          r  G d
 d          Z e e                       d Z G d dej                  Zd Z ej        ej        ee            ej        ej        e            ej        ej        ddg           dS )    )annotations   )Image	ImageFile)i16le)si16le)si32leNc                
    | a dS )z^
    Install application-specific WMF image handler.

    :param handler: Handler object.
    N_handler)handlers    D/var/www/html/env/lib/python3.11/site-packages/PIL/WmfImagePlugin.pyregister_handlerr      s     HHH    drawwmfc                      e Zd Zd Zd ZdS )
WmfHandlerc                8    d|_         |j        d         | _        d S )NRGBwmf_bbox)_modeinfobboxselfims     r   openzWmfHandler.open-   s    BH
+DIIIr   c           	        |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.load1   st    EJJqMMM?
""25::<<$)DDa!#r)  r   N)__name__
__module____qualname__r   r*    r   r   r   r   ,   s2        	, 	, 	,
	 
	 
	 
	 
	r   r   c                :    | d d         dk    p| d d         dk    S )N      ƚ           r.   )prefixs    r   _acceptr5   D   s+    rr
11VVBQBZCV5Vr   c                  4     e Zd ZdZdZd Zd Zd fd	Z xZS )WmfStubImageFileWMFzWindows Metafilec                   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   r0   r1         
      H   dpir         s    	 zUnsupported WMF file formatr2   r3   (   ,   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._openR   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   c                    t           S Nr   )r   s    r   rR   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 )Nr@   r   )rL   r   rQ   superr*   )r   r@   rT   rU   rV   rW   	__class__s         r   r*   zWmfStubImageFile.load   s    ?tz5"DIe!Yz2NBBbDIe,,
:bDIe,,
:DJ ww||~~r   r_   )	r+   r,   r-   formatformat_descriptionr]   rR   r*   __classcell__)rb   s   @r   r7   r7   N   sj        F+B B BH           r   r7   c                    t           t          t           d          sd}t          |          t                               | ||           d S )NsavezWMF save handler not installed)r   hasattrOSErrorrg   )r   r$   filenamerX   s       r   _saverk      sD    wx88.cllMM"b(#####r   z.wmfz.emf)
__future__r    r   r   _binaryr   rM   r   rN   r	   rP   r   r   rh   r(   r   r5   StubImageFiler7   rk   register_openrc   register_saveregister_extensionsr.   r   r   <module>rs      s  * # " " " " "         " " " " " " $ $ $ $ $ $ $ $ $ $ $ $   75: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   