a
    [Xh                     @   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 rd|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)Zstroke       r      svgZoverflowhiddenadr   r	   )pointgetstream	transformtreeZconcrete_widthZconcrete_heightZ_etree_nodetagr   r   Zset_svg_sizer   	rectangleclipend)r   node	font_sizer   r   r
   r   Zboxscale_xscale_ytranslate_xtranslate_y r$   Z/var/www/viveiro_mudafortebrasil/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|	sd\}
}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/*)urlZforced_mime_typeNr
   r   r   )i,     r   r   zimage-renderingauto)Zimage_rendering)r   r   r   r   Zget_hrefr&   contextZget_image_from_uriZget_intrinsic_sizer   r   r   r   Z
push_stateZdrawattribZ	pop_state)r   r   r   r   r   base_urlr&   imager
   r   Zintrinsic_widthZintrinsic_heightZintrinsic_ratior    r!   r"   r#   r$   r$   r%   r,   $   sJ    











r,   N)__doc__r   r   utilsr   r   r,   r$   r$   r$   r%   <module>   s   