o
    %e	                     @   s$   d Z ddlmZ dd Zdd ZdS )zDraw image and svg tags.   )preserve_ratioc                 C   s   |  |d|d|\}}| jj||d | j|kr$| j| j}}n|  |d|d|\}}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heightoverflowhidden    adr   r   N)pointgetstream	transformtreeconcrete_widthconcrete_heightr   	rectangleclipend)svgnode	font_sizer   r   r   r	   scale_xscale_ytranslate_xtranslate_y r!   H/var/www/html/venv/lib/python3.10/site-packages/weasyprint/svg/images.pyr      s   



r   c              
   C   s  |  |d|d|\}}| jj||d |d}||p"| j}| jj|dd}|du r2dS |  |d|d	|\}}	|d
|\}
}}|
du rq|du rq|du sZ|s_|	s_d\}
}n#|si||	 |	}
}n||| }
}n|
du rz|| }
n|du r|
| }|p|
}|	p|}	t	| ||||	dd|
|f\}}}}| j
dd||	 | j  | j  | j  | jj||||d |j| j|
|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   auto)image_rendering)r   r   r   r   get_hrefr#   contextget_image_from_uriget_intrinsic_sizer   r   r   r   
push_statedraw	pop_state)r   r   r   r   r   base_urlr#   imager   r	   intrinsic_widthintrinsic_heightintrinsic_ratior   r   r   r    r!   r!   r"   r0      sH   









r0   N)__doc__utilsr   r   r0   r!   r!   r!   r"   <module>   s    