§
    aÒ³gý  ã                  ó\   — d dl mZ d dlZd dlmZmZ ddlmZ  G d„ d¦  «        ZdZ	d	Z
d
ZdS )é    )ÚannotationsN)ÚIOÚTYPE_CHECKINGé   )ÚEpsImagePluginc                  ój   — e Zd ZdZd"d#d„Zd"d$d
„Zd%d„Zd&d„Zd'd„Zd(d„Z	d)d„Z
erddlmZ 	 d"d*d!„ZdS )+ÚPSDrawzi
    Sets up printing to the given file. If ``fp`` is omitted,
    ``sys.stdout.buffer`` is assumed.
    NÚfpúIO[bytes] | NoneÚreturnÚNonec                ó:   — |st           j        j        }|| _        d S ©N)ÚsysÚstdoutÚbufferr
   )Úselfr
   s     úH/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/PIL/PSDraw.pyÚ__init__zPSDraw.__init__"   s   € Øð 	#Ý”Ô"ˆBØˆŒˆˆó    Úidú
str | Nonec                óø   — | j                              d¦  «         | j                              t          ¦  «         | j                              t          ¦  «         | j                              d¦  «         i | _        dS )z=Set up printing of a document. (Write PostScript DSC header.)sD   %!PS-Adobe-3.0
save
/showpage { } def
%%EndComments
%%BeginDocument
s   %%EndProlog
N)r
   ÚwriteÚ	EDROFF_PSÚVDI_PSÚisofont)r   r   s     r   Úbegin_documentzPSDraw.begin_document'   sk   € ð 	Œ�Šð!ñ	
ô 	
ð 	
ð 	Œ�Š•iÑ Ô Ð ØŒ�Š•fÑÔÐØŒ�ŠÐ&Ñ'Ô'Ð'Ø)+ˆŒˆˆr   c                óš   — | j                              d¦  «         t          | j         d¦  «        r| j                              ¦   «          dS dS )z-Ends printing. (Write PostScript DSC footer.)s%   %%EndDocument
restore showpage
%%End
ÚflushN)r
   r   Úhasattrr    )r   s    r   Úend_documentzPSDraw.end_document7   sH   € àŒ�ŠÐAÑBÔBÐBÝ�4”7˜GÑ$Ô$ð 	ØŒG�MŠM‰OŒOˆOˆOˆOð	ð 	r   ÚfontÚstrÚsizeÚintc                óÈ   — t          |d¦  «        }|| j        vr)| j                             d||fz  ¦  «         d| j        |<   | j                             d||fz  ¦  «         dS )z~
        Selects which font to use.

        :param font: A PostScript font name
        :param size: Size in points.
        úUTF-8s#   /PSDraw-%s ISOLatin1Encoding /%s E
r   s   /F0 %d /PSDraw-%s F
N)Úbytesr   r
   r   )r   r#   r%   Ú
font_bytess       r   ÚsetfontzPSDraw.setfont=   sx   € õ ˜4 Ñ)Ô)ˆ
Ø˜Tœ\Ð)Ð)àŒG�MŠMØ7¸:ÀzÐ:RÑRñô ð ð ()ˆDŒL˜Ñ$àŒ�ŠÐ.°$¸
Ð1CÑCÑDÔDÐDÐDÐDr   Úxy0útuple[int, int]Úxy1c                óJ   — | j                              dg |¢|¢R z  ¦  «         dS )z¿
        Draws a line between the two points. Coordinates are given in
        PostScript point coordinates (72 points per inch, (0, 0) is the lower
        left corner of the page).
        s   %d %d %d %d Vl
N©r
   r   )r   r,   r.   s      r   ÚlinezPSDraw.lineN   s.   € ð 	Œ�ŠÐ)¨L¨c¨L°C¨L¨LÑ8Ñ9Ô9Ð9Ð9Ð9r   Úboxútuple[int, int, int, int]c                ó@   — | j                              d|z  ¦  «         dS )z‰
        Draws a rectangle.

        :param box: A tuple of four integers, specifying left, bottom, width and
           height.
        s   %d %d M 0 %d %d Vr
Nr0   )r   r2   s     r   Ú	rectanglezPSDraw.rectangleV   s$   € ð 	Œ�ŠÐ-°Ñ3Ñ4Ô4Ð4Ð4Ð4r   ÚxyÚtextc                ó  — t          |d¦  «        }d                     |                     d¦  «        ¦  «        }d                     |                     d¦  «        ¦  «        }| j                             d||fz   z  ¦  «         dS )zŠ
        Draws text at the given position. You must use
        :py:meth:`~PIL.PSDraw.PSDraw.setfont` before calling this method.
        r(   s   \(ó   (s   \)ó   )s   %d %d M (%s) S
N)r)   ÚjoinÚsplitr
   r   )r   r6   r7   Ú
text_bytess       r   r7   zPSDraw.text_   sx   € õ
 ˜4 Ñ)Ô)ˆ
Ø—[’[ ×!1Ò!1°$Ñ!7Ô!7Ñ8Ô8ˆ
Ø—[’[ ×!1Ò!1°$Ñ!7Ô!7Ñ8Ô8ˆ
ØŒ�ŠÐ)¨R°:°-Ñ-?Ñ@ÑAÔAÐAÐAÐAr   r   )ÚImageÚimúImage.ImageÚdpiú
int | Nonec                ó´  — |s|j         dk    rd}nd}|j        d         dz  |z  }|j        d         dz  |z  }t          |d         |d         z
  ¦  «        }t          |d         |d         z
  ¦  «        }||k    r
||z  |z  }|}||k    r
||z  |z  }|}||z
  dz  |d         z   }||z
  dz  |d         z   }	| j                             d	||	fz  ¦  «         ||f|j        k    r?||j        d         z  }
||j        d         z  }| j                             d
|
|fz  ¦  «         t          j        || j        dd¦  «         | j                             d¦  «         dS )z,Draw a PIL image, centered in the given box.Ú1éÈ   éd   r   éH   r   é   é   s   gsave
%f %f translate
s   %f %f scale
Ú s
   
grestore
N)Úmoder%   Úfloatr
   r   r   Ú_save)r   r2   r?   rA   ÚxÚyÚxmaxÚymaxÚdxÚdyÚsxÚsys               r   ÚimagezPSDraw.imagel   s}  € ð
 ð 	ØŒw˜#Š~ˆ~Ø��à�àŒG�AŒJ˜‰O˜cÑ!ˆØŒG�AŒJ˜‰O˜cÑ!ˆå�S˜”V˜c !œf‘_Ñ%Ô%ˆÝ�S˜”V˜c !œf‘_Ñ%Ô%ˆØˆtŠ8ˆ8Ø�D‘˜1‘ˆAØˆAØˆtŠ8ˆ8Ø�D‘˜1‘ˆAØˆAØ�Q‰h˜!‰^˜c !œfÑ$ˆØ�Q‰h˜!‰^˜c !œfÑ$ˆØŒ�ŠÐ1°R¸°HÑ<Ñ=Ô=Ð=Øˆqˆ6�R”WÒÐà�R”W˜Q”Z‘ˆBØ�R”W˜Q”Z‘ˆBØŒG�MŠMÐ*¨b°"¨XÑ5Ñ6Ô6Ð6ÝÔ˜R ¤¨"¨aÑ0Ô0Ð0ØŒ�Š�oÑ&Ô&Ð&Ð&Ð&r   r   )r
   r   r   r   )r   r   r   r   )r   r   )r#   r$   r%   r&   r   r   )r,   r-   r.   r-   r   r   )r2   r3   r   r   )r6   r-   r7   r$   r   r   )r2   r3   r?   r@   rA   rB   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r"   r+   r1   r5   r7   r   rJ   r>   rV   © r   r   r	   r	      sø   € € € € € ðð ð
ð ð ð ð ð
,ð ,ð ,ð ,ð ,ð ð ð ð ðEð Eð Eð Eð":ð :ð :ð :ð5ð 5ð 5ð 5ðBð Bð Bð Bð ð ØÐÐÐÐÐð RVð'ð 'ð 'ð 'ð 'ð 'ð 'r   r	   s×  /S { show } bind def
/P { moveto show } bind def
/M { moveto } bind def
/X { 0 rmoveto } bind def
/Y { 0 exch rmoveto } bind def
/E {    findfont
        dup maxlength dict begin
        {
                1 index /FID ne { def } { pop pop } ifelse
        } forall
        /Encoding exch def
        dup /FontName exch def
        currentdict end definefont pop
} bind def
/F {    findfont exch scalefont dup setfont
        [ exch /setfont cvx ] cvx bind def
} bind def
sß  /Vm { moveto } bind def
/Va { newpath arcn stroke } bind def
/Vl { moveto lineto stroke } bind def
/Vc { newpath 0 360 arc closepath } bind def
/Vr {   exch dup 0 rlineto
        exch dup 0 exch rlineto
        exch neg 0 rlineto
        0 exch neg rlineto
        setgray fill } bind def
/Tm matrix def
/Ve {   Tm currentmatrix pop
        translate scale newpath 0 0 .5 0 360 arc closepath
        Tm setmatrix
} bind def
/Vf { currentgray exch setgray fill setgray } bind def
sã  /landscape false def
/errorBUF 200 string def
/errorNL { currentpoint 10 sub exch pop 72 exch moveto } def
errordict begin /handleerror {
    initmatrix /Courier findfont 10 scalefont setfont
    newpath 72 720 moveto $error begin /newerror false def
    (PostScript Error) show errorNL errorNL
    (Error: ) show
        /errorname load errorBUF cvs show errorNL errorNL
    (Command: ) show
        /command load dup type /stringtype ne { errorBUF cvs } if show
        errorNL errorNL
    (VMstatus: ) show
        vmstatus errorBUF cvs show ( bytes available, ) show
        errorBUF cvs show ( bytes used at level ) show
        errorBUF cvs show errorNL errorNL
    (Operand stargck: ) show errorNL /ostargck load {
        dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL
    } forall errorNL
    (Execution stargck: ) show errorNL /estargck load {
        dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL
    } forall
    end showpage
} def end
)Ú
__future__r   r   Útypingr   r   rJ   r   r	   r   r   ÚERROR_PSr[   r   r   ú<module>r_      s–   ðð" #Ð "Ð "Ð "Ð "Ð "à 
€
€
€
Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $à Ð Ð Ð Ð Ð ðo'ð o'ð o'ð o'ð o'ñ o'ô o'ð o'ð~€	ð:
€ð2€€€r   