gg T d dl mZ d dlmZ d dlmZmZmZ G d deeee ZdS ) )BaseElement)strlist)PresentationMarkers Transformc X e Zd ZdZdZd fd Zd Zed
d Zdd
Z fdZ
xZS )Pathz The element represent the outline of a shape which can be filled,
stroked, used as a clipping path, or any combination of the three.
pathNc t t | j di | g | _ | | | j r'| j | j | j dS dS )z
:param `iterable` d: *coordinates*, *length* and *commands*
:param dict attribs: additional SVG attributes
:param extra: additional SVG attributes as keyword-arguments
N )
superr __init__commandspushdebug validatorcheck_all_svg_attribute_valueselementnameattribs)selfdextra __class__s _/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/svgwrite/path.pyr z
Path.__init__ sx #dD"++U+++
!: ZN99$:JDLYYYYY Z Z c : | j | dS )z Push commands and coordinates onto the command stack.
:param `iterable` elements: *coordinates*, *length* and *commands*
N)r extend)r elementss r r z Path.push s
X&&&&&r T+c D t | }ddd| }d||fz S )N r )r -z%d,%d)int) large_arc angle_dirlarge_arc_flag
sweep_flags r arc_flagszPath.arc_flags( s/ Y1%%i0
.*555r Fc | ddd| t |t t f r| || n| | | | | t || | | dS )a Helper function for the elliptical-arc command.
see SVG-Reference: http://www.w3.org/TR/SVG11/paths.html#PathData
:param 2-tuple target: *coordinate* of the arc end point
:param number rotation: x-axis-rotation of the ellipse in degrees
:param number|2-tuple r: radii rx, ry when r is a *2-tuple* or rx=ry=r if r is a *number*
:param bool large_arc: draw the arc sweep of greater than or equal to 180 degrees (**large-arc-flag**)
:param angle_dir: ``'+|-'`` ``'+'`` means the arc will be drawn in a "positive-angle" direction (**sweep-flag**)
:param bool absolute: indicates that target *coordinates* are absolute else they are relative to the current point
Aa)TFN)r
isinstancefloatr# r r( )r targetrotationrr$ r% absolutes r push_arcz
Path.push_arc. s
S))(3444a%&&