Your IP : 18.223.252.43
�
�h���ddlmZddlmZddlmZmZGd�dee��ZGd�de��ZGd�d e��Z Gd
�de ��Z
Gd�d
e ��ZdS)�)�BaseElement)�XLink)�strlist� is_stringc�T��eZdZdZdZd
�fd� Z�fd�Zd
d�Zdd�Z dd�Z d �Z
�xZS)
�Seta� The **set** element provides a simple means of just setting the value
of an attribute for a specified duration. It supports all attribute types,
including those that cannot reasonably be interpolated, such as string
and boolean values. The **set** element is non-additive. The additive and
accumulate attributes are not allowed, and will be ignored if specified.
�setNc�z��tt|��jdi|��|�|�|��dSdS)z� Set constructor.
:param href: target svg element, if **href** is not `None`; else
the target SVG Element is the parent SVG Element.
N�)�superr�__init__�set_href)�self�href�extra� __class__s ��a/builddir/build/BUILD/cloudlinux-venv-1.0.8/venv/lib/python3.11/site-packages/svgwrite/animate.pyr
zSet.__init__sN��� "��c�4���!�*�*�E�*�*�*����M�M�$��������c�z��|���tt|�����S�N)� update_idrr�get_xml)rrs �rrzSet.get_xml!s/����������S�$���'�'�)�)�)rc�"�||d<|�||d<dSdS)zY
Set animation attributes :ref:`attributeName` and :ref:`attributeType`.
�
attributeNameN�
attributeTyper)rrrs r�
set_targetzSet.set_target%s,��!.��_���$�$1�D��!�!�!�%�$rc�B�|�||d<|�||d<|�||d<|�||d<dSdS)zs
Set animation attributes :ref:`onbegin`, :ref:`onend`, :ref:`onrepeat`
and :ref:`onload`.
N�onbegin�onend�onrepeat�onloadr)rrrr r!s r� set_eventz
Set.set_event.sM��
��%�D��O���!�D��M���'�D�����#�D��N�N�N��rc �z�|�||d<|�||d<|�||d<|�||d<|�||d<|�||d<|�||d<|�||d <dSdS)
z�
Set animation attributes :ref:`begin`, :ref:`end`, :ref:`dur`,
:ref:`min`, :ref:`max`, :ref:`restart`, :ref:`repeatCount` and
:ref:`repeatDur`.
N�begin�end�dur�min�max�restart�repeatCount� repeatDurr) rr$r%r&r'r(r)r*r+s r�
set_timingzSet.set_timing<s�����!�D��M��?��D��K��?��D��K��?��D��K��?��D��K���%�D��O��"�"-�D���� � )�D�����!� rc��d|d<dS)zK Freeze the animation effect. (see also :ref:`fill <animateFill>`)
�freeze�fillNr)rs rr.z
Set.freezeTs�� ��V���rr�NNNN)NNNNNNNN)�__name__�
__module__�__qualname__�__doc__�elementnamer
rrr"r,r.�
__classcell__�rs@rrrs�����������K� � � � � � �*�*�*�*�*�2�2�2�2�$�$�$�$�HL�=A�*�*�*�*�0 � � � � � � rrc�0��eZdZdZdZd�fd� Zdd�Z�xZS)�
AnimateMotionz` The **animateMotion** element causes a referenced element to move
along a motion path.
�
animateMotionNc�^��tt|��jdd|i|��|�||d<dSdS)z�
:param path: the motion path
:param href: target svg element, if **href** is not `None`; else
the target SVG Element is the parent SVG Element.
rN�pathr)rr9r
)rr<rrrs �rr
zAnimateMotion.__init___sH��� ,��m�T�"�"�+�?�?��?��?�?�?����D��L�L�L��rc�B�|�||d<|�||d<|�||d<|�||d<dSdS)zX
Set animation attributes `path`, `calcMode`, `keyPoints` and `rotate`.
Nr<�calcMode� keyPoints�rotater)rr<r>r?r@s r� set_valuezAnimateMotion.set_valueisN�����D��L���'�D���� � )�D�����#�D��N�N�N��r)NNr0�r1r2r3r4r5r
rAr6r7s@rr9r9Ysb���������"�K� � � � � � �$�$�$�$�$�$�$�$rr9c�4��eZdZdZdZd�fd� Z dd�Z�xZS)�Animatezu The **animate** element allows scalar attributes and properties to be
assigned different values over time .
�animateNc���tt|��jdd|i|��|�|�|��|�|�|��dSdS)a0
:param attributeName: name of the SVG Attribute to animate
:param values: interpolation values, `string` as `<semicolon-list>` or a python `list`
:param href: target svg element, if **href** is not `None`; else
the target SVG Element is the parent SVG Element.
rNr)rrDr
rAr)rr�valuesrrrs �rr
zAnimate.__init__}sk��� &��g�t���%�9�9�4�9�5�9�9�9����N�N�6�"�"�"��$��O�O�M�*�*�*�*�*�%�$rc��|�$t|��st|d��}||d<|�||d<|�||d<|�||d<|�||d<|�||d<|�||d <dSdS)
z�
Set animation attributes :ref:`values`, :ref:`calcMode`, :ref:`keyTimes`,
:ref:`keySplines`, :ref:`from`, :ref:`to` and :ref:`by`.
N�;rGr>�keyTimes�
keySplines�from�to�by)rr)rrGr>rJrK�from_rMrNs rrAzAnimate.set_value�s������V�$�$�
.� ���-�-��#�D��N���'�D�����'�D����!�!+�D����� �D��L�
�>��D��J�
�>��D��J�J�J��>r)NNN)NNNNNNrBr7s@rrDrDwsl����������K�+�+�+�+�+�+�JN�*.��������rrDc��eZdZdZdZdS)�AnimateColorzR The **animateColor** element specifies a color transformation over
time.
�animateColorN)r1r2r3r4r5rrrrQrQ�s��������!�K�K�KrrQc�(��eZdZdZdZd�fd� Z�xZS)�AnimateTransformz� The **animateTransform** element animates a transformation attribute
on a target element, thereby allowing animations to control translation,
scaling, rotation and/or skewing.
�animateTransformNc�T��tt|��j|fi|��||d<dS)z�
:param element: target svg element, if element is not `None`; else
the target svg element is the parent svg element.
:param string transform: ``'translate | scale | rotate | skewX | skewY'``
�typeN)rrTr
)r� transform�elementrrs �rr
zAnimateTransform.__init__�s8��� /����%�%�.�w�@�@�%�@�@�@� ��V���rr)r1r2r3r4r5r
r6r7s@rrTrT�sN���������%�K�!�!�!�!�!�!�!�!�!�!rrTN)�
svgwrite.baser�svgwrite.mixinsr�svgwrite.utilsrrrr9rDrQrTrrr�<module>r]s+��&�%�%�%�%�%�!�!�!�!�!�!�-�-�-�-�-�-�-�-�I �I �I �I �I �+�u�I �I �I �V$�$�$�$�$�C�$�$�$�<)�)�)�)�)�c�)�)�)�X!�!�!�!�!�7�!�!�!�
!�
!�
!�
!�
!�w�
!�
!�
!�
!�
!r
?>