§
    ‚ÛgÌ  ã                   óv   — d dl mZ d dlmZ d dlmZ ddlmZ ddlm	Z	 d„ dD ¦   «         Z
 G d	„ d
e¦  «        ZdS )é    )ÚTransformPen)Úetree©Útostré   )Ú
parse_path)ÚPathBuilderc                 ó,   — g | ]}t          |¦  «        ‘ŒS © r   )Ú.0Úss     úT/granary/edev/quantum/lib/python3.11/site-packages/fontTools/svgLib/path/__init__.pyú
<listcomp>r      s   € Ð
7Ð
7Ð
7˜�5�‰8Œ8Ð
7Ð
7Ð
7ó    )ÚSVGPathr   c                   ó8   — e Zd ZdZdd„Zedd„¦   «         Zd„ ZdS )r   aî  Parse SVG ``path`` elements from a file or string, and draw them
    onto a glyph object that supports the FontTools Pen protocol.

    For example, reading from an SVG file and drawing to a Defcon Glyph:

    .. code-block::

        import defcon
        glyph = defcon.Glyph()
        pen = glyph.getPen()
        svg = SVGPath("path/to/a.svg")
        svg.draw(pen)

    Or reading from a string containing SVG data, using the alternative
    'fromstring' (a class method):

    .. code-block::

        data = '<?xml version="1.0" ...'
        svg = SVGPath.fromstring(data)
        svg.draw(pen)

    Both constructors can optionally take a 'transform' matrix (6-float
    tuple, or a FontTools Transform object) to modify the draw output.
    Nc                 ó¤   — |€t          j        ¦   «         | _        n-t          j        |¦  «        }|                     ¦   «         | _        || _        d S ©N)r   ÚElementTreeÚrootÚparseÚgetrootÚ	transform)ÚselfÚfilenamer   Útrees       r   Ú__init__zSVGPath.__init__&   sC   € ØÐÝÔ)Ñ+Ô+ˆDŒIˆIå”;˜xÑ(Ô(ˆDØŸš™œˆDŒIØ"ˆŒˆˆr   c                 óP   —  | |¬¦  «        }t          j        |¦  «        |_        |S )N)r   )r   Ú
fromstringr   )ÚclsÚdatar   r   s       r   r   zSVGPath.fromstring.   s+   € àˆs˜YÐ'Ñ'Ô'ˆÝÔ$ TÑ*Ô*ˆŒ	Øˆr   c                 óJ  — | j         rt          || j         ¦  «        }t          ¦   «         }| j                             ¦   «         D ]}|                     |¦  «         Œ|}t          |j        |j        ¦  «        D ]*\  }}|rt          ||¦  «        }n|}t          ||¦  «         Œ+d S r   )
r   r   r	   r   ÚiterÚadd_path_from_elementÚzipÚpathsÚ
transformsr   )r   ÚpenÚpbÚelÚoriginal_penÚpathr   s          r   ÚdrawzSVGPath.draw4   s¹   € ØŒ>ð 	4Ý˜s D¤NÑ3Ô3ˆCÝ‰]Œ]ˆà”)—.’.Ñ"Ô"ð 	)ð 	)ˆBØ×$Ò$ RÑ(Ô(Ð(Ð(ØˆÝ" 2¤8¨R¬]Ñ;Ô;ð 	"ð 	"‰OˆD�)Øð #Ý" <°Ñ;Ô;��à"�Ý�t˜SÑ!Ô!Ð!Ð!ð	"ð 	"r   )NNr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr   r-   r   r   r   r   r      sa   € € € € € ðð ð4#ð #ð #ð #ð ðð ð ñ „[ðð
"ð "ð "ð "ð "r   r   N)ÚfontTools.pens.transformPenr   ÚfontTools.miscr   ÚfontTools.misc.textToolsr   Úparserr   Úshapesr	   Ú__all__Úobjectr   r   r   r   ú<module>r:      s©   ðØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø  Ð  Ð  Ð  Ð  Ð  Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð 8Ð
7Ð6Ð
7Ñ
7Ô
7€ð6"ð 6"ð 6"ð 6"ð 6"ˆfñ 6"ô 6"ð 6"ð 6"ð 6"r   