a
    ¥Q•hó  ã                   @   s4   d Z ddlmZmZ ddlmZ dd„ Zdd„ ZdS )	zDraw image and svg tags.é   )Úbounding_boxÚis_valid_bounding_box)Úpreserve_ratioc                 C   sR  |   | d¡| d¡|¡\}}| jj||d� | j|krH| j| j }}nˆ| d¡| d¡ }}d||fv r¾d|j_t	| ||dd	�}t
|ƒr¬|d
 |d  }|d |d  }nd
 }}d|j_n|   |||¡\}}| | ||¡ t| ||||ƒ\}}	}
}| j|k�r:| dd¡dk�r:| j d
d
||¡ | j ¡  | j ¡  | jj||	|
|d� dS )zDraw svg tags.ÚxÚy©ÚeÚfÚwidthÚheightNÚgT)Ústrokeé    é   r   é   ÚsvgÚoverflowÚhidden©ÚaÚdr   r	   )ÚpointÚgetÚstreamÚ	transformÚtreeÚconcrete_widthÚconcrete_heightÚ_etree_nodeÚtagr   r   Úset_svg_sizer   Ú	rectangleÚclipÚend)r   ÚnodeÚ	font_sizer   r   r
   r   ÚboxÚscale_xÚscale_yÚtranslate_xÚtranslate_y© r+   úN/var/www/sistema_ama/venv/lib/python3.9/site-packages/weasyprint/svg/images.pyr      s.    


ÿ

r   c              
   C   s¬  |   | d¡| d¡|¡\}}| jj||d� | d¡}| |pD| j¡}| jj|dd�}|du rddS |   | d¡| d	¡|¡\}}	| d
|¡\}
}}|
du râ|du râ|du s´|s¾|	s¾d\}
}n"|sÒ||	 |	 }
}n|||  }
}n$|
du rô|| }
n|du �r|
| }|�p|
}|	�p|}	t	| ||||	dd|
|fƒ\}}}}| j 
dd||	¡ | j ¡  | j ¡  | j ¡  | jj||||d� |j| j|
||j dd¡d� | j ¡  dS )zDraw image tags.r   r   r   z*{http://www.w3.org/XML/1998/namespace}basezimage/*)ÚurlÚforced_mime_typeNr
   r   r   )i,  é–   r   r   zimage-renderingÚauto)Úimage_rendering)r   r   r   r   Úget_hrefr-   ÚcontextÚget_image_from_uriÚget_intrinsic_sizer   r!   r"   r#   Ú
push_stateÚdrawÚattribÚ	pop_state)r   r$   r%   r   r   Úbase_urlr-   Úimager
   r   Úintrinsic_widthÚintrinsic_heightÚintrinsic_ratior'   r(   r)   r*   r+   r+   r,   r;   $   sJ    

ÿ
ÿ





þ


þr;   N)Ú__doc__r   r   Úutilsr   r   r;   r+   r+   r+   r,   Ú<module>   s   