U
    ß¦wh"  ã                "   @   sZ  d Z dZdZddlmZmZmZmZ ddlm	Z	 ddl
mZ dd	lmZmZmZmZmZmZmZmZmZmZmZ dd
lmZmZmZmZmZmZmZm Z m!Z!m"Z" ddl#m$Z$ ddl%m&Z& ddl'm(Z( ddl)m*Z* ddlm+Z+m,Z,m-Z-m.Z.m/Z/ ddl0m1Z1 e& 2¡ Z3G dd„ dƒZ4ddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3g"Z5d4S )5zHImplementation of generic PDF objects (dictionary, number, string, ...).zMathieu Fenniakzbiziqe@mathieu.fenniak.neté    )ÚListÚOptionalÚTupleÚUnioné   ©Údeprecation_with_replacement)ÚOutlineFontFlagé   )ÚBooleanObjectÚByteStringObjectÚFloatObjectÚIndirectObjectÚ
NameObjectÚ
NullObjectÚNumberObjectÚ	PdfObjectÚTextStringObjectÚencode_pdfdocencodingÚis_null_or_none)
ÚArrayObjectÚContentStreamÚDecodedStreamObjectÚDestinationÚDictionaryObjectÚEncodedStreamObjectÚFieldÚStreamObjectÚ
TreeObjectÚread_object)ÚEmbeddedFile)ÚFit)ÚOutlineItem©ÚRectangleObject)Úcreate_string_objectÚdecode_pdfdocencodingÚ
hex_to_rgbÚread_hex_string_from_streamÚread_string_from_stream)ÚViewerPreferencesc                   @   s8  e Zd ZdZddlmZ ed-eeee	e	e	e	f f e
eeddœdd	„ƒZed.e
eeee	e	e	e	f f e
eee
e
ee
 ee
 ddœ
dd„ƒZeddddœeeee	e	e	e	f f eee eddœdd„ƒZed/ee	e	f ee	e	f eeee	e	e	e	f f e
ee
 ddœdd„ƒZeeee	e	f  ddœdd„ƒZed0eeee	e	e	e	f f ee
 ddœdd„ƒZeddd œeeee	e	e	e	f f ee
edd!œd"d#„ƒZed1eeee	e	e	e	f f ee
 ddœd$d%„ƒZeeee	e	f  ddœd&d'„ƒZd(d)lmZ edddefeeee	e	e	e	f f ee ee
 ee edd*œd+d,„ƒZdS )2ÚAnnotationBuilderzá
    The AnnotationBuilder is deprecated.

    Instead, use the annotation classes in pypdf.annotations.

    See `adding PDF annotations <../user/adding-pdf-annotations.html>`_ for
    its usage combined with PdfWriter.
    r   r#   Fr   N)ÚrectÚtextÚopenÚflagsÚreturnc                 C   s   t dddƒ d S )NúAnnotationBuilder.textzpypdf.annotations.Textú5.0.0r   )r,   r-   r.   r/   © r3   ú:/tmp/pip-unpacked-wheel-r8zeli8p/pypdf/generic/__init__.pyr-   [   s
      ÿr1   Ú	HelveticaÚ14ptÚ000000Úffffff)
r-   r,   ÚfontÚboldÚitalicÚ	font_sizeÚ
font_colorÚborder_colorÚbackground_colorr0   c	           	      C   s   t dddƒ d S )NúAnnotationBuilder.free_textzpypdf.annotations.FreeTextr2   r   )	r-   r,   r9   r:   r;   r<   r=   r>   r?   r3   r3   r4   Ú	free_textf   s
      ÿr@   )r/   Úparentr.   )r,   r/   rB   r.   r0   c                 C   s   t dddƒ d S )NúAnnotationBuilder.popupzpypdf.annotations.Popupr2   r   )r,   r/   rB   r.   r3   r3   r4   Úpopupv   s
      ÿrC   Ú )Úp1Úp2r,   r-   Ú	title_barr0   c                 C   s   t dddƒ d S )NúAnnotationBuilder.linezpypdf.annotations.Liner2   r   )rF   rG   r,   r-   rH   r3   r3   r4   Úline‚   s
      ÿrI   )Úverticesr0   c                 C   s   t dddƒ d S )NúAnnotationBuilder.polylinezpypdf.annotations.PolyLiner2   r   ©rK   r3   r3   r4   ÚpolylineŽ   s
      ÿrL   )r,   Úinteriour_colorr0   c                 C   s   t dddƒ d S )NúAnnotationBuilder.rectanglezpypdf.annotations.Rectangler2   r   ©r,   rO   r3   r3   r4   Ú	rectangle–   s
      ÿrP   Zff0000)Úhighlight_colorÚprinting)r,   Úquad_pointsrS   rT   r0   c                 C   s   t dddƒ d S )NúAnnotationBuilder.highlightzpypdf.annotations.Highlightr2   r   )r,   rU   rS   rT   r3   r3   r4   Ú	highlightŸ   s
      ÿrV   c                 C   s   t dddƒ d S )NúAnnotationBuilder.ellipsezpypdf.annotations.Ellipser2   r   rQ   r3   r3   r4   Úellipse«   s
      ÿrX   c                 C   s   t dddƒ d S )NúAnnotationBuilder.polygonzpypdf.annotations.Polygonr2   r   rM   r3   r3   r4   Úpolygon´   s
      ÿrZ   r
   )ÚDEFAULT_FIT)r,   ÚborderÚurlÚtarget_page_indexÚfitr0   c                 C   s   t dddƒ d S )NúAnnotationBuilder.linkzpypdf.annotations.Linkr2   r   )r,   r]   r^   r_   r`   r3   r3   r4   Úlink¼   s
      ÿra   )Fr   )r5   FFr6   r7   r7   r8   )rE   N)N)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Zgeneric._rectangler$   Ústaticmethodr   r   ÚfloatÚstrÚboolÚintr-   r   rA   r   rD   rJ   r   rN   rR   r   rW   rY   r[   Ú_fitr\   r!   rb   r3   r3   r3   r4   r+   O   sÄ   	  üû
       ÷öûú  û

úþ þýûú þýûúr+   ÚPAGE_FITr   r   r   r   r   r   r   r    r   r   r!   r   r   r   r   r   r	   r"   r   r$   r   r   r   r*   r%   r&   r   r'   r   r(   r   r)   N)6rf   Ú
__author__Ú__author_email__Útypingr   r   r   r   Ú_utilsr   Ú	constantsr	   Ú_baser   r   r   r   r   r   r   r   r   r   r   Z_data_structuresr   r   r   r   r   r   r   r   r   r   Ú_filesr    rl   r!   Z_outliner"   Z
_rectangler$   r%   r&   r'   r(   r)   Z_viewerprefr*   r`   rm   r+   Ú__all__r3   r3   r3   r4   Ú<module>   sd   40{Ü