%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3/dist-packages/reportlab/platypus/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3/dist-packages/reportlab/platypus/__pycache__/figures.cpython-312.pyc

�

��d�G��&�dZdZddlZddlmZddlmZddlmZddl	m
Z
mZddlm
Z
dd	lmZdd
lmZddlmZddlmZmZmZdd
lmZddlmZddlmZmZedede��ZGd�de�Zd�ZGd�de�ZGd�de�Z Gd�de�Z!Gd�de!�Z"Gd�de!�Z#	dd l$m%Z%m&Z&m'Z'm(Z(d!Z)e)r7Gd"�d#�Z+Gd$�d%e!e+�Z,Gd&�d'e,�Z-Gd(�d)e!�Z.Gd*�d+e.�Z/d,�Z0d-�Z1e2d.k(re1�yy#e*$rdZ)Y�VwxYw)/z@This includes some demos of platypus for use in the API proposalz3.3.0�N)�colors)�Canvas)�ParagraphStyle)�recursiveImport�strTypes)�Frame)�Flowable)�	Paragraph)�inch)�TA_LEFT�TA_RIGHT�	TA_CENTER)�isColor)�toColor)�
_baseFontName�_baseFontNameI�Caption�
)�fontName�fontSize�	alignmentc
�j�eZdZdedded�ddddddddf
d�Zd	�Zd
�Zd�Zd�Z	d
�Z
d�Zd�Zd�Z
y)�Figure��N�black�centre�bottom�CENTERc�J�tj|�||_||_||_||_||_||_||_|xsd|z|_	|
|_
||_d|_d|_
||_|	|_|
|_||_||_|j'�y)N��?r)r	�__init__�width�figureHeight�caption�captionFont�captionSize�captionTextColor�captionBackColor�
captionGap�captionAlign�captionPosition�_captionData�
captionHeight�
background�border�spaceBefore�
spaceAfter�hAlign�_getCaptionPara)�selfr#�heightr%r&r'r/r(r)r0r1r2r*r+r,r3s                �</usr/lib/python3/dist-packages/reportlab/platypus/figures.pyr"zFigure.__init__s���	���$����
�"������&���&��� 0��� 0���$�7��K����(���.��� ������$������&���$����������c�<�|j}|j}|j}|j}|j}|j
}|j}|j|||||||fk7r�|||||||f|_t|t�r||_
yt|t�retd||d|z|||j|dk(rtn|dk(rtnt ��|_t|j|j"�|_
yt%dt'|�z��y)Nrg333333�?�left�right)rr�leading�	textColor�	backColorr1rz6Figure caption of type %r is not a string or Paragraph)r%r&r'r(r)r+r,r-�
isinstancer
�captionPararrr*rr
r�captionStyle�
ValueError�type)r5r%r&r'r(r)r+r,s        r7r4zFigure._getCaptionPara:s$���,�,���&�&���&�&���0�0���0�0���(�(���.�.�����w�{�;�?O�P`�am�n}�~�~�!(��[�AQ�Rb�co�p�!A�D���'�)�,�#*�� ��G�H�-�$2��(�(���O� 0� 0� $���)5�v�)=�g�|�]d�Od�8�js�
%��!�$-�T�\�\�4�;L�;L�#M�� � �!Y�\`�ah�\i�!i�j�j�'r8c�D�|jr�|j�|jj|j||j
z
�\}}||jz|_|j|j
z|_||jkDr||_n|j
|_|jddtfvrd||jz
z|_n0|jdtfvr||jz
|_nd|_|j|jfS)Nr�CENTREr!�RIGHTr)
r%r4r@�wrapr#r$r*r.r6r3r�dxr
)r5�
availWidth�availHeight�w�hs     r7rGzFigure.wrapWs����<�<�� � �"��#�#�(�(����[�4�CT�CT�5T�U�D�A�q�!"�T�_�_�!4�D���,�,�t�/@�/@�@�D�K�����|�!�T�Z��+�+�D�K��;�;�8�H�Y�7�7��Z�$�*�*�4�5�D�G�
�[�[�W�X�.�
.� �4�:�:�-�D�G��D�G��
�
�D�K�K�(�(r8c��|jj|jd�|jr5|jdk(r&|jjd|j
�|jr|j�|jr|j�|jj�|j�|jj�|jr�|jdk(r(|jjd|j
�n3|jjd|j|jz�|j�|j!�yy)Nrr)�canv�	translaterHr%r,r.r/�drawBackgroundr0�
drawBorder�	saveState�
drawFigure�restoreStater$r*r4�drawCaption�r5s r7�drawzFigure.drawis���	�	���D�G�G�Q�'��<�<�D�0�0�(�:��I�I����4�#5�#5�6��?�?����!��;�;��O�O���	�	���������	�	��� ��<�<��#�#�X�-��	�	�#�#�A��(:�(:�':�;��	�	�#�#�A�t�'8�'8����'H�I�� � �"�����
r8c�~�|jj|jdd|j|j�y�Nr)rN�drawBoundaryr0r#r$rVs r7rQzFigure.drawBorder|s*���	�	���t�{�{�1�Q�t�z�z�4�;L�;L�Mr8c��|jj�|jj|j�|jj	dd|j
|jd��|jj�y)Nr�)�fill)rNrR�setFillColorr/�rectr#r$rT)r5�colors  r7�
_doBackgroundzFigure._doBackgrounds\���	�	�����	�	���t���/��	�	���q�!�T�Z�Z��):�):���C��	�	��� r8c���t|j�r|j|j�y	t|j�}|j|�y#YyxYw)z�For use when using a figure on a differently coloured background.
        Allows you to specify a colour to be used as a background for the figure.N)rr/rar)r5�cs  r7rPzFigure.drawBackground�sM���4�?�?�#����t���/�
��D�O�O�,���"�"�1�%��
��s�&A�Ac�R�|jj|jdd�yrY)r@�drawOnrNrVs r7rUzFigure.drawCaption�s��������	�	�1�a�0r8c��y�N�rVs r7rSzFigure.drawFigure����r8)�__name__�
__module__�__qualname__rrr"r4rGrWrQrarPrUrSrhr8r7rrs]��.0�+�� �")�'�"2�"&���� �&�!)� ��Bk�:)�$�&N�!�
�1�
r8rc�P�|j�}d|z}|jddd�|j||z||z
||dd��|jddd�|jd�|j||||dd��|jddd�|j	ddd�y)Ng�������?r!rr\)�stroker]g�������?)�	beginPath�setFillColorRGBr_�setLineWidth�setStrokeColorRGB)�canvas�x�yr#r6�pth�corners       r7�drawPagerx�s���
�
�
�
�C�
�%�Z�F����3�s�3�'�
�K�K��F�
�A��J��v�a�a�K�H����1�Q�s�#�
�����
�K�K��1�e�V�A�A�K�6����1�Q�q�!�
���Q�q��#r8c�$�eZdZdZdd�Zd�Zd�Zy)�
PageFigurezcShows a blank page in a frame, and draws on that.  Used in
    illustrations of how PLATYPUS works.Nc��tj|dtzdtz�d|_t|_||_y)N�zFigure 1 - a blank page)rr"rr%rAr/)r5r/s  r7r"zPageFigure.__init__�s0������a��f�a��f�-�0���(���$��r8c��yrgrhrVs r7�drawVirtualPagezPageFigure.drawVirtualPage�rir8c��t|jdtzdtzdtzdtz�|jjdtzdtz�|jj	dd�|j�y)Ng�?g�?g�?g@g�m��?g	�Q�_�?)rxrNrrO�scaler~rVs r7rSzPageFigure.drawFigure�s`������E�$�J��T�	�4��9�c�$�h�G��	�	���E�$�J��T�	�2��	�	���	�9�-����r8rg)rjrkrl�__doc__r"r~rSrhr8r7rzrz�s��,�%�
�r8rzc��eZdZdZd�Zd�Zy)�PlatPropFigure1z$This shows a page with a frame on itc�<�tj|�d|_y)Nz%Figure 1 - a page with a simple frame)rzr"r%rVs r7r"zPlatPropFigure1.__init__�s�����D�!�>��r8c�.�t|j�yrg)�demo1rNrVs r7r~zPlatPropFigure1.drawVirtualPage�s��
�d�i�i�r8N)rjrkrlr�r"r~rhr8r7r�r��s��.�?�r8r�c�Z�eZdZdZdddej
ddddddd	dd
dfd�Zd�Zd
�Zd�Z	y)�
FlexFigurezHBase for a figure class with a caption. Can grow or shrink in proportionNzHelvetica-Oblique�r\r�	r�toprc��tj||||||d||
|||
|||��||_|	|_||_d|_||_y)N)r&r'r/r(r1r2r*r+r,r3r0)rr"�shrinkToFit�	growToFit�scaleFactor�_scaleFactorr/)r5r#r6r%r/r&r'r(r�r�r1r2r*r+r,r�r3r0s                  r7r"zFlexFigure.__init__�sf��	����e�V�W�$/�$/�#'�)9�&1�%/�#-�%1�(7�%�%�	�	�'���"���&��� ���$��r8c��|j�|j|kDs|j|kD�r-tj	|||�\}}||j
z
}|j�/t||jz||z
|j
z�|_n|j|_|jdkrL|jr@|j|jzdz
|_|j
|jz|_y|jdkDrM|jr@|j|jzdz
|_|j
|jz|_yyyy)z4Rescale to fit according to the rules, but only onceNr\g-C��6?)
r�r#r6rrGr$r��minr�r�)r5rIrJrKrLr.s      r7�_scalezFlexFigure._scale�s.�����$��
�
�:�(=����[�AX��;�;�t�Z��=�D�A�q��� 1� 1�1�M����'�$'�
�4�:�:�(=�{�=�?X�Z^�Zk�Zk�>k�$l��!�$(�$4�$4��!�� � ��"�t�'7�'7�!�Z�Z�$�*;�*;�;�f�D��
�$(�$5�$5��8I�8I�$I��!��"�"�1�$����!�Z�Z��(9�(9�9�F�B��
�$(�$5�$5��8I�8I�$I��!�*8�$�BYr8c�T�|j||�tj|||�Srg)r�rrG�r5rIrJs   r7rGzFlexFigure.wrap�s#�����J�{�+��{�{�4��[�9�9r8c�T�|j||�tj|||�Srg)r�r�splitr�s   r7r�zFlexFigure.split�s#�����J�{�+��|�|�D�*�k�:�:r8)
rjrkrlr�rrr"r�rGr�rhr8r7r�r��sH��R�:>�$7�A�)/���$%�"#�$&�#%�#$�%-�(-�$(�'� �%�BJ�":�;r8r�c��eZdZdZdd�Zd�Zy)�ImageFigurezImage with a caption below itNc
���tjj|�s
Jd|z��ddlm}||�j�\}}	||_tj|||	|||||��y)Nzimage file %s not foundr)�ImageReader)r�r3r0)	�os�path�isfile�reportlab.lib.utilsr��getSize�filenamer�r")
r5r�r%r/r�r3r0r�rKrLs
          r7r"zImageFigure.__init__se���w�w�~�~�h�'�M�)B�X�)M�M�'�3��8�$�,�,�.���1� ��
����D�!�Q����[a�io��pr8c�~�|jj|jdd|j|j�yrY)rN�	drawImager�r#r$rVs r7rSzImageFigure.drawFigures.���	�	���D�M�M�"#�Q�t�z�z�4�3D�3D�	Fr8)NNrN�rjrkrlr�r"rSrhr8r7r�r��s��'�q�Fr8r�c��eZdZdZdd�Zd�Zy)�
DrawingFigurez8Drawing with a caption below it.  Clunky, scaling fails.Nc���t||�}t||�}|�|_tj	||jj
|jj||�d|_y)Nr\)r�getattr�drawingr�r"r#r6r�)r5�
modulename�	classnamer%�baseDirr/�module�klasss        r7r"zDrawingFigure.__init__s\�� ��W�5����	�*���w������D� �L�L�.�.� �L�L�/�/�#�&�		(�
��r8c��|jj|j|j�|jj	|jdd�yrY)rNr�r�r�rerVs r7rSzDrawingFigure.drawFigures:���	�	����)�)�4�+<�+<�=������D�I�I�q�!�,r8�NNr�rhr8r7r�r�s��B�	�-r8r�)�restoreForms�
storeForms�storeFormsInMemory�restoreFormsInMemoryr\c�"�eZdZdZd�Zd�Zd�Zy)�PageCatcherCachingMixInz+Helper functions to cache pages for figuresc��tjj|�\}}tjj|�\}}d||fzS)Nz	%s_page%d)r�r�r��splitext)r5�pdfFileName�pageNo�dirnamer��root�exts       r7�getFormNamez#PageCatcherCachingMixIn.getFormName,s@�� "���
�
�k� :��G�X����(�(��2�I�D�#��$���/�/r8c���|j||�}tjj|dz�r8tj|dz�d}tj|�d}||kDSy)z&returns 1 if no forms or form is older�.frmr�r\)r�r�r��exists�stat)r5r�r��formName�formModTime�
pdfModTimes      r7�needsProcessingz'PageCatcherCachingMixIn.needsProcessing2sb���'�'��V�<�H��w�w�~�~�h��/�0� �g�g�h��&7�8��;���W�W�[�1�!�4�
�"�[�0�1�r8c�\�|j||�}t||dz|dz|g��|dzS)Nr��_)�prefix�pagenumbers)r�r�)r5r�r�r�s    r7�
processPDFz"PageCatcherCachingMixIn.processPDF<s>���'�'��V�<�H��{�H�v�$5�,4�s�N�17��
:��f�$�$r8N)rjrkrlr�r�r�r�rhr8r7r�r�)s��5�	0�	�	%r8r�c��eZdZdZdd�Zd�Zy)�cachePageCatcherFigureNonA4�?PageCatcher page with a caption below it.  Size to be supplied.Nc�X�tjj|�\|_|_|jdk(rtj
|_||_|j|j|j�dzt|�z|_	tj|||||�y)Nrr�)r�r�r�r�r��curdirr�r��strr�r�r"�r5r�r�r%r#r6r/s       r7r"z$cachePageCatcherFigureNonA4.__init__Hs~��*,�'�'�-�-��*A�'�D�L�$�-��|�|�r�!�!�y�y��� �D�K� �,�,�T�]�]�D�K�K�H�3�N�QT�U[�Q\�\�D�M�����e�V�W�j�Ir8c��|jj�|jj|j�s�|jt
jz|jz}|j||j�dz}|j||j�r|j||j�t||j�}|jj|j|j�|jj|j�|jj!�y)Nr�)rNrR�hasFormr�r�r��sepr�r�r�r�r�r�r�r��doFormrT)r5�restorePath�formFileName�namess    r7rSz&cachePageCatcherFigureNonA4.drawFigurePs����I�I���!��9�9�$�$�T�]�]�3�"�l�l�R�V�V�3�d�m�m�C��#�/�/��T�[�[�I�F�R���'�'��T�[�[�A��O�O�K����=�$�\�4�9�9�=���I�I�O�O�D�-�-�t�/@�/@�A��I�I���T�]�]�+��I�I�"�"�$r8rgr�rhr8r7r�r�Ds��M�	J�	%r8r�c��eZdZdZdd�Zy)�cachePageCatcherFigure��PageCatcher page with a caption below it.  Presumes A4, Portrait.
        This needs our commercial PageCatcher product, or you'll get a blank.Nc	�<�tj|||||||��y)N)r/)r�r"r�s       r7r"zcachePageCatcherFigure.__init__as"��'�0�0��x���RW�Y_�lv�0�wr8)�S�JN�rjrkrlr�r"rhr8r7r�r�^s��	Q�	xr8r�c�"�eZdZdZiZdd�Zd�Zy)�PageCatcherFigureNonA4r�Nc��|x}|_||_|jtjd�jdd�jdd�jdd�jdd�}|jdd�dzt|�zdz|_|jt|�z|_||_tj|||||�y)Nr��/�\�-�:�.)r�r��replacer�r�r�r�r��cachingr�r")	r5r�r�r%r#r6r/r��fns	         r7r"zPageCatcherFigureNonA4.__init__is���!)�)�B��� �D�K����B�F�F�3�'�/�/��C�8�@�@��c�J�R�R�SV�WZ�[�c�c�dg�hk�l�B��*�*�S��-�c�1�#�f�+�=�c�A�D�K� �K�K�#�f�+�5�D�M�"�D�L�����e�V�W�j�Ir8c��|jj|j�s�|j|jvr|j|j\}}n�t|jd�}|j
�}|j�t||jg|j��\}}|jdk(r||f|j|j<t||j�}|jj�|jj|j|j�|jj!|j�|jj#�y)N�rb)r�r��memory)rNr�r�r��_cache�open�read�closer�r�r�r�r�rRr�r�r�rT)r5�f�data�pdfs    r7rSz!PageCatcherFigureNonA4.drawFigurers���9�9�$�$�T�]�]�3��=�=�D�K�K�/�!�[�[����7�F�A�d��T�]�]�4�0�A��&�&�(�C��G�G�I�0��4�;�;�-�X\�Xc�Xc�d�G�A�t��|�|�X�-�56��W����D�M�M�2�(��t�y�y�9���I�I���!��I�I�O�O�D�-�-�t�/@�/@�A��I�I���T�]�]�+��I�I�"�"�$r8r�)rjrkrlr�r�r"rSrhr8r7r�r�ds��M���	J�	%r8r�c��eZdZdZdd�Zy)�PageCatcherFigurer�Nc
�>�tj||||||||��y)N)r/r�)r�r")r5r�r�r%r#r6r/r�s        r7r"zPageCatcherFigure.__init__�s+��"�+�+�D�(�F�G�U�TZ�gq�|C�+�
Dr8)r�r�NNr�rhr8r7r�r��s��	Q�	Dr8r�c���tdtzdtzdtzdtzd��}tdtddd	�
�}t	d|�}t	d|�}||g}|j||�y)
N���r\��showBoundary�Body���)rrr<r1ziSpam spam spam spam. Spam spam spam spam. Spam spam spam spam. Spam spam spam spam. Spam spam spam spam. zPEggs eggs eggs. Eggs eggs eggs. Eggs eggs eggs. Eggs eggs eggs. Eggs eggs eggs. )rrrrr
�addFromList)rs�frame�	bodyStyle�para1�para2�mydatas      r7r�r��sv����d�F��d�F��d�F��d�F�#$�
�E��v�
��TV�de�f�I��1�9�=�E��,�i�8�E��U�^�F�
���f�V�$r8c��td�}tttdtzdtzd��}t�}t	d�|_t	d�|_|j|g|�|j�y)Nzfigures.pdfrr�r\r��blue�lightyellow)	rrrr�rr(r)r�save)rcr��vs   r7�test1r�s`��	�
�	�A�
�d�D�!�D�&�!�D�&�q�9�A���A� ���A�� ��/�A���M�M�1�#�a���F�F�Hr8�__main__)3r��__version__r��
reportlab.libr�reportlab.pdfgen.canvasr�reportlab.lib.stylesrr�rr�reportlab.platypusrr	r
�reportlab.lib.unitsr�reportlab.lib.enumsrr
r�reportlab.lib.validatorsr�reportlab.lib.colorsrrrrArrxrzr�r�r�r��rlextra.pageCatcher.pageCatcherr�r�r�r��_hasPageCatcher�ImportErrorr�r�r�r�r�r�rrjrhr8r7�<module>rs+��G���	� �*�/�9�$�'�(�$�<�<�,�(�>��i�.�2�Yb�c��}
�X�}
�~$�$���$�j��:;��:;�xF�*�F�-�J�-�"�r�r��O��%�%�6%�j�2I�%�4x�!<�x�%��%�>D�2�D�%�"
��z��	�G���G���O��s�+D�D�D

Zerion Mini Shell 1.0