+
    K<i                         ^ RI Ht ^ RIHt ^ RIHt ^RIHt ^RIH	t	 R	 U u. uF  p ]! V 4      NK  	  up t
 ! R R]4      tR# u up i )
    )TransformPen)etree)tostr)
parse_path)PathBuilderSVGPathc                   H   a  ] tR t^t o RtRR lt]RR l4       tR tRt	V t
R# )	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                    Vf   \         P                  ! 4       V n        M+\         P                  ! V4      pVP	                  4       V n        W n        R # N)r   ElementTreerootparsegetroot	transform)selffilenamer   trees   &&& @/usr/lib/python3/dist-packages/fontTools/svgLib/path/__init__.py__init__SVGPath.__init__&   s8    ))+DI;;x(DDI"    c                N    V ! VR 7      p\         P                  ! V4      Vn        V# ))r   )r   
fromstringr   )clsdatar   r   s   &&& r   r   SVGPath.fromstring.   s#    Y'$$T*	r   c                d   V P                   '       d   \        WP                   4      p\        4       pV P                  P	                  4        F  pVP                  V4       K  	  Tp\        VP                  VP                  4       F&  w  rVV'       d   \        WF4      pMTp\        WQ4       K(  	  R # r   )
r   r   r   r   iteradd_path_from_elementzippaths
transformsr   )r   penpbeloriginal_penpathr   s   &&     r   drawSVGPath.draw4   s}    >>>sNN3C])).."B$$R( #"288R]];OD"<;"t!  <r   )r   r   )NNr   )__name__
__module____qualname____firstlineno____doc__r   classmethodr   r(   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s-     4#  
" "r   N)r   r   )fontTools.pens.transformPenr   fontTools.miscr   fontTools.misc.textToolsr   parserr   shapesr   __all__objectr   )ss   0r   <module>r;      sA    4   *   7
76586
76"f 6" 8s   A