a
    ¢…¢fß$  ã                   @   s`   d dl Z d dlmZmZmZmZ ddlmZmZ ddl	m
Z
mZ ddlmZ G dd	„ d	eƒZdS )
é    N)ÚAnyÚListÚTupleÚUnioné   )Údeprecation_no_replacementÚdeprecation_with_replacementé   )ÚFloatObjectÚNumberObject)ÚArrayObjectc                   @   s„  e Zd ZdZed eeeeef f ddœdd„Zeee	e
f dœdd„Zeed d	œd
d„Zeee	e
f dœdd„Zedœdd„Zee	dœdd„ƒZejeddœdd„ƒZee	dœdd„ƒZejeddœdd„ƒZee	dœdd„ƒZejeddœdd„ƒZee	dœdd„ƒZejeddœdd„ƒZe	dœdd„Ze	dœd d!„Ze	dœd"d#„Ze	dœd$d%„Ze	dœd&d'„Ze	dœd(d)„Ze	dœd*d+„Ze	dœd,d-„Zeeejejf dœd.d/„ƒZ e je!e ddœd0d/„ƒZ eeejejf dœd1d2„ƒZ"e"je!e ddœd3d2„ƒZ"eeejejf dœd4d5„ƒZ#e#je!e ddœd6d5„ƒZ#eeejejf dœd7d8„ƒZ$e$je!e ddœd9d8„ƒZ$eejejf dœd:d;„Z%eejejf dœd<d=„Z&eejejf dœd>d?„Z'eejejf dœd@dA„Z(eeef ddœdBdC„Z)eeef ddœdDdE„Z*eeef ddœdFdG„Z+eeef ddœdHdI„Z,eejdœdJdK„ƒZ-ejdœdLdM„Z.eejdœdNdO„ƒZ/ejdœdPdQ„Z0eeejejf dœdRdS„ƒZ1e1jeejejf ddœdTdS„ƒZ1eeejejf dœdUdV„ƒZ2e2jeejejf ddœdWdV„ƒZ2eeejejf dœdXdY„ƒZ3e3jeejejf ddœdZdY„ƒZ3eeejejf dœd[d\„ƒZ4e4jeejejf ddœd]d\„ƒZ4dS )^ÚRectangleObjecta„  
    This class is used to represent *page boxes* in PyPDF2. These boxes include:
        * :attr:`artbox <PyPDF2._page.PageObject.artbox>`
        * :attr:`bleedbox <PyPDF2._page.PageObject.bleedbox>`
        * :attr:`cropbox <PyPDF2._page.PageObject.cropbox>`
        * :attr:`mediabox <PyPDF2._page.PageObject.mediabox>`
        * :attr:`trimbox <PyPDF2._page.PageObject.trimbox>`
    N)ÚarrÚreturnc                    s.   t |ƒdksJ ‚t ˆ ‡ fdd„|D ƒ¡ d S )Né   c                    s   g | ]}ˆ   |¡‘qS © ©Ú_ensure_is_number©Ú.0Úx©Úselfr   úR/var/www/sistema_ama/venv/lib/python3.9/site-packages/PyPDF2/generic/_rectangle.pyÚ
<listcomp>   ó    z,RectangleObject.__init__.<locals>.<listcomp>)Úlenr   Ú__init__)r   r   r   r   r   r      s    zRectangleObject.__init__)Úvaluer   c                 C   s   t |ttfƒst|ƒ}|S ©N)Ú
isinstancer   r
   ©r   r   r   r   r   r      s    z!RectangleObject._ensure_is_number)ÚsxÚsyr   c                 C   s8   t t| jƒ| t| jƒ| t| jƒ| t| jƒ| fƒS r   )r   ÚfloatÚleftÚbottomÚrightÚtop)r   r"   r#   r   r   r   Úscale    s    üÿzRectangleObject.scalec                 C   s   t ddƒ |  |¡S )NÚensureIsNumberú3.0.0)r   r   r!   r   r   r   r*   *   s    
zRectangleObject.ensureIsNumber)r   c                 C   s   dt t| ƒƒ› d�S )NzRectangleObject(ú))ÚreprÚlistr   r   r   r   Ú__repr__0   s    zRectangleObject.__repr__c                 C   s   | d S ©Nr   r   r   r   r   r   r%   3   s    zRectangleObject.left)Úfr   c                 C   s   t |ƒ| d< d S r0   ©r
   ©r   r1   r   r   r   r%   7   s    c                 C   s   | d S ©Nr	   r   r   r   r   r   r&   ;   s    zRectangleObject.bottomc                 C   s   t |ƒ| d< d S r4   r2   r3   r   r   r   r&   ?   s    c                 C   s   | d S ©Nr   r   r   r   r   r   r'   C   s    zRectangleObject.rightc                 C   s   t |ƒ| d< d S r5   r2   r3   r   r   r   r'   G   s    c                 C   s   | d S ©Né   r   r   r   r   r   r(   K   s    zRectangleObject.topc                 C   s   t |ƒ| d< d S r6   r2   r3   r   r   r   r(   O   s    c                 C   s   t dddƒ | jS )NÚgetLowerLeft_xr%   r+   ©r   r%   r   r   r   r   r8   S   s    zRectangleObject.getLowerLeft_xc                 C   s   t dddƒ | jS )NÚgetLowerLeft_yr&   r+   ©r   r&   r   r   r   r   r:   W   s    zRectangleObject.getLowerLeft_yc                 C   s   t dddƒ | jS )NÚgetUpperRight_xr'   r+   ©r   r'   r   r   r   r   r<   [   s    zRectangleObject.getUpperRight_xc                 C   s   t dddƒ | jS )NÚgetUpperRight_yr(   r+   ©r   r(   r   r   r   r   r>   _   s    zRectangleObject.getUpperRight_yc                 C   s   t dddƒ | jS )NÚgetUpperLeft_xr%   r+   r9   r   r   r   r   r@   c   s    zRectangleObject.getUpperLeft_xc                 C   s   t dddƒ | jS )NÚgetUpperLeft_yr(   r+   r?   r   r   r   r   rA   g   s    zRectangleObject.getUpperLeft_yc                 C   s   t dddƒ | jS )NÚgetLowerRight_xr'   r+   r=   r   r   r   r   rB   k   s    zRectangleObject.getLowerRight_xc                 C   s   t dddƒ | jS )NÚgetLowerRight_yr&   r+   r;   r   r   r   r   rC   o   s    zRectangleObject.getLowerRight_yc                 C   s   | j | jfS )zj
        Property to read and modify the lower left coordinate of this box
        in (x,y) form.
        )r%   r&   r   r   r   r   Ú
lower_lefts   s    zRectangleObject.lower_leftc                    s"   ‡ fdd„|D ƒ\ˆ d< ˆ d< d S )Nc                 3   s   | ]}ˆ   |¡V  qd S r   r   r   r   r   r   Ú	<genexpr>}   r   z-RectangleObject.lower_left.<locals>.<genexpr>r   r	   r   r!   r   r   r   rD   {   s    c                 C   s   | j | jfS )zk
        Property to read and modify the lower right coordinate of this box
        in (x,y) form.
        )r'   r&   r   r   r   r   Úlower_right   s    zRectangleObject.lower_rightc                    s"   ‡ fdd„|D ƒ\ˆ d< ˆ d< d S )Nc                 3   s   | ]}ˆ   |¡V  qd S r   r   r   r   r   r   rE   ‰   r   z.RectangleObject.lower_right.<locals>.<genexpr>r   r	   r   r!   r   r   r   rF   ‡   s    c                 C   s   | j | jfS )zj
        Property to read and modify the upper left coordinate of this box
        in (x,y) form.
        )r%   r(   r   r   r   r   Ú
upper_left‹   s    zRectangleObject.upper_leftc                    s"   ‡ fdd„|D ƒ\ˆ d< ˆ d< d S )Nc                 3   s   | ]}ˆ   |¡V  qd S r   r   r   r   r   r   rE   •   r   z-RectangleObject.upper_left.<locals>.<genexpr>r   r7   r   r!   r   r   r   rG   “   s    c                 C   s   | j | jfS )zk
        Property to read and modify the upper right coordinate of this box
        in (x,y) form.
        )r'   r(   r   r   r   r   Úupper_right—   s    zRectangleObject.upper_rightc                    s"   ‡ fdd„|D ƒ\ˆ d< ˆ d< d S )Nc                 3   s   | ]}ˆ   |¡V  qd S r   r   r   r   r   r   rE   ¡   r   z.RectangleObject.upper_right.<locals>.<genexpr>r   r7   r   r!   r   r   r   rH   Ÿ   s    c                 C   s   t dddƒ | jS )NÚgetLowerLeftrD   r+   ©r   rD   r   r   r   r   rI   £   s    zRectangleObject.getLowerLeftc                 C   s   t dddƒ | jS )NÚgetLowerRightrF   r+   ©r   rF   r   r   r   r   rK   ©   s    zRectangleObject.getLowerRightc                 C   s   t dddƒ | jS )NÚgetUpperLeftrG   r+   ©r   rG   r   r   r   r   rM   ¯   s    zRectangleObject.getUpperLeftc                 C   s   t dddƒ | jS )NÚgetUpperRightrH   r+   ©r   rH   r   r   r   r   rO   µ   s    zRectangleObject.getUpperRightc                 C   s   t dddƒ || _d S )NÚsetLowerLeftrD   r+   rJ   r!   r   r   r   rQ   »   s    zRectangleObject.setLowerLeftc                    s.   t dddƒ ‡ fdd„|D ƒ\ˆ d< ˆ d< d S )NÚsetLowerRightrF   r+   c                 3   s   | ]}ˆ   |¡V  qd S r   r   r   r   r   r   rE   Á   r   z0RectangleObject.setLowerRight.<locals>.<genexpr>r   r	   ©r   r!   r   r   r   rR   ¿   s    zRectangleObject.setLowerRightc                    s.   t dddƒ ‡ fdd„|D ƒ\ˆ d< ˆ d< d S )NÚsetUpperLeftrG   r+   c                 3   s   | ]}ˆ   |¡V  qd S r   r   r   r   r   r   rE   Å   r   z/RectangleObject.setUpperLeft.<locals>.<genexpr>r   r7   rS   r!   r   r   r   rT   Ã   s    zRectangleObject.setUpperLeftc                    s.   t dddƒ ‡ fdd„|D ƒ\ˆ d< ˆ d< d S )NÚsetUpperRightrH   r+   c                 3   s   | ]}ˆ   |¡V  qd S r   r   r   r   r   r   rE   É   r   z0RectangleObject.setUpperRight.<locals>.<genexpr>r   r7   rS   r!   r   r   r   rU   Ç   s    zRectangleObject.setUpperRightc                 C   s   | j | j S r   )r'   r%   r   r   r   r   ÚwidthË   s    zRectangleObject.widthc                 C   s   t dddƒ | jS )NÚgetWidthrV   r+   )r   rV   r   r   r   r   rW   Ï   s    zRectangleObject.getWidthc                 C   s   | j | j S r   )r(   r&   r   r   r   r   ÚheightÓ   s    zRectangleObject.heightc                 C   s   t dddƒ | jS )NÚ	getHeightrX   r+   )r   rX   r   r   r   r   rY   ×   s    zRectangleObject.getHeightc                 C   s   t dddƒ | jS ©NÚ	lowerLeftrD   r+   rJ   r   r   r   r   r[   Û   s    zRectangleObject.lowerLeftc                 C   s   t dddƒ || _d S rZ   rJ   r!   r   r   r   r[   à   s    c                 C   s   t dddƒ | jS ©NÚ
lowerRightrF   r+   rL   r   r   r   r   r]   ç   s    zRectangleObject.lowerRightc                 C   s   t dddƒ || _d S r\   rL   r!   r   r   r   r]   ì   s    c                 C   s   t dddƒ | jS ©NÚ	upperLeftrG   r+   rN   r   r   r   r   r_   ó   s    zRectangleObject.upperLeftc                 C   s   t dddƒ || _d S r^   rN   r!   r   r   r   r_   ø   s    c                 C   s   t dddƒ | jS ©NÚ
upperRightrH   r+   rP   r   r   r   r   ra   ÿ   s    zRectangleObject.upperRightc                 C   s   t dddƒ || _d S r`   rP   r!   r   r   r   ra     s    )5Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r$   r   r   r
   r   r   r)   r*   Ústrr/   Úpropertyr%   Úsetterr&   r'   r(   r8   r:   r<   r>   r@   rA   rB   rC   ÚdecimalÚDecimalrD   r   rF   rG   rH   rI   rK   rM   rO   rQ   rR   rT   rU   rV   rW   rX   rY   r[   r]   r_   ra   r   r   r   r   r   	   s¸   
þ
þþþþþþþþþr   )ri   Útypingr   r   r   r   Ú_utilsr   r   Ú_baser
   r   Z_data_structuresr   r   r   r   r   r   Ú<module>   s
   