Ë
    £ehÌ  ã                   óŒ   — 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 � cg c]
  }  e| «      ‘Œ c} Z
 G d„ d	e«      Zy
c c} w )é    )ÚTransformPen)Úetree)Útostré   )Ú
parse_path)ÚPathBuilder)ÚSVGPathr   c                   ó0   — e Zd ZdZdd„Zedd„«       Zd„ Zy)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                  «       | _        || _        y t        j                  |«      }|j	                  «       | _        || _        y ©N)r   ÚElementTreeÚrootÚparseÚgetrootÚ	transform)ÚselfÚfilenamer   Útrees       ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/svgLib/path/__init__.pyÚ__init__zSVGPath.__init__&   sE   € ØÐÜ×)Ñ)Ó+ˆDŒIð #ˆ�ô —;‘;˜xÓ(ˆDØŸ™›ˆDŒIØ"ˆ�ó    c                 óL   —  | |¬«      }t        j                  |«      |_        |S )N)r   )r   Ú
fromstringr   )ÚclsÚdatar   r   s       r   r   zSVGPath.fromstring.   s#   € á˜YÔ'ˆÜ×$Ñ$ TÓ*ˆŒ	Øˆr   c                 óJ  — | j                   rt        || j                   «      }t        «       }| j                  j	                  «       D ]  }|j                  |«       Œ |}t        |j                  |j                  «      D ]"  \  }}|rt        ||«      }n|}t        ||«       Œ$ y 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�   € Ø�>Š>Ü˜s D§N¡NÓ3ˆCÜ‹]ˆà—)‘)—.‘.Ó"ò 	)ˆBØ×$Ñ$ RÕ(ð	)àˆÜ" 2§8¡8¨R¯]©]Ó;ò 	"‰OˆD�)ÙÜ" <°Ó;‘à"�Ü�t˜SÕ!ñ	"r   )NNr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr   r'   © r   r   r	   r	      s%   „ ñó4#ð òó ðó
"r   r	   N)ÚfontTools.pens.transformPenr   ÚfontTools.miscr   ÚfontTools.misc.textToolsr   Úparserr   Úshapesr   Ú__all__Úobjectr	   )Úss   0r   ú<module>r6      s;   ðÝ 4Ý  Ý *Ý Ý ð 7Ö
7˜‰5��8Ò
7€ô6"ˆfõ 6"ùò 8s   £A