a
    Qh
                     @   sD   d   ZddlmZ ddlmZmZmZmZ G dd  d eeeZ	dS )MultiCol    )strTypes   )Flowable
_Container_FindSplitterMixin_listWrapOnc                   @   sH   e Zd ZdddZdd Zdd Zd	d
 Zdd Zdd ZdddZ	dS )r   $   Nc                 C   sR   t |t |kr*td| t |t |f || _|| _|| _|| _|| _d | _d S )Nz2%r len(contents)=%d not the same as len(widths)=%d)len
ValueErrorcontentswidthsminHeightNeeded_spaceBefore_spaceAfter_naW)selfr   r   r   spaceBefore
spaceAfter r   T/var/www/sistema_ama/venv/lib/python3.9/site-packages/reportlab/platypus/multicol.py__init__   s    zMultiCol.__init__c              	      s   || j kr| jS g j}| j}d t|D ]\}}t|tr| }|d}|r\|d d }zt	|}W n    t
d| || f Y n0 |r|d | }n"t|t	tfst
d| || f  |7  || q(|| _ |    fdd|jD | _| jS )N        %z %s: nWidths failed with value %rg{Gz?c                    s   g | ]}|  qS r   r   ).0wsr   r   
<listcomp>'       z$MultiCol.nWidths.<locals>.<listcomp>)r   _nWappendr   	enumerate
isinstancer   stripendswithfloatr   int__self__)r   aWZnWr   ir   pcr   r   r   nWidths   s,    


zMultiCol.nWidthsc                 C   sv   |  |}d }}| j}d}t|| jD ]8\}}|s>|}	d}
nt|||\}	}
t||
}||	7 }q(|| _|| _||fS )Nr   r   )r-   canvzipr   r   maxwidthheight)r   r*   aHr   r   hr.   faWFfWZfHr   r   r   wrap*   s    


zMultiCol.wrapc                 C   s   || j k rg S | |}g g g}| j}t|| jD ]f\}}|sP|}d}	g }
g }n,| j||||dd\}}	}
}|
|u r|g   S |d |
 |d | q2t|d | j| j | j	| j
dt|d | j| j | j	| j
dgS )Nr   F)contentparaFixr   )r   r   r   )r   r-   r.   r/   r   
_findSplitr"   r   r   r   r   )r   r*   r3   r   Sr.   r5   r6   r7   ZfH0ZS0ZS1r   r   r   split;   s8    

zMultiCol.splitc                 C   s4   | j }|d u r0d}| jD ]}t|t| |}q|S Nr   )r   r   r0   r   getSpaceAfterr   mr6   r   r   r   r?   Z   s    
zMultiCol.getSpaceAfterc                 C   s4   | j }|d u r0d}| jD ]}t|t| |}q|S r>   )r   r   r0   r   getSpaceBeforer@   r   r   r   rB   b   s    
zMultiCol.getSpaceBeforer   c           	   	   C   sF   | j }d}t|| jD ]*\}}tj| ||| |||d ||7 }qd S )Nr   )r9   r*   )r!   r/   r   r   drawOn)	r   r.   xy_sWr   ZxOffsr5   r6   r   r   r   rC   j   s
    zMultiCol.drawOn)r	   NN)r   )
__name__
__module____qualname__r   r-   r8   r=   r?   rB   rC   r   r   r   r   r      s   

N)
r=   __all__reportlab.lib.utilsr   	flowablesr   r   r   r   r   r   r   r   r   <module>   s   