+
    i                        ^ RI HtHt RR.t ! R R]4      t ! R R]4      t]R8X  d^   ^ RIHt ]! ]! R4      R	4      t	]	P                  R
4       ]	P                  R4       ]	P                  RRRR
4       ]	P                  4        R# R# )    )	FilterPenFilterPointPenTransformPenTransformPointPenc                   f   a a ] tR t^t oRtV 3R ltR tR tR tR t	R t
R tR	 tR
 tRtVtV ;t# )r   zcPen that transforms all coordinates using a Affine transformation,
and passes them to another pen.
c                   < \         \        V `  V4       \        VR4      '       g   ^ RIHp V! V!  pW n        VP                  V n        . V n	        R# )zThe 'outPen' argument is another pen object. It will receive the
transformed coordinates. The 'transformation' argument can either
be a six-tuple, or a fontTools.misc.transform.Transform object.
transformPoint	TransformN)
superr   __init__hasattrfontTools.misc.transformr   _transformationr	   _transformPoint_stack)selfoutPentransformationr   	__class__s   &&& {/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/fontTools/pens/transformPen.pyr   TransformPen.__init__   sJ    
 	lD*62~'788:&7N--<<    c                Z    V P                   P                  V P                  V4      4       R # N)_outPenmoveTor   r   pts   &&r   r   TransformPen.moveTo       D0045r   c                Z    V P                   P                  V P                  V4      4       R # r   )r   lineTor   r   s   &&r   r#   TransformPen.lineTo   r!   r   c                X    V P                   P                  ! V P                  V4      !   R # r   )r   curveTo_transformPointsr   pointss   &*r   r&   TransformPen.curveTo    s    d33F;<r   c                    VR,          f   V P                  VRR 4      R.,           pMV P                  V4      pV P                  P                  ! V!   R# )   N)r'   r   qCurveTor(   s   &*r   r.   TransformPen.qCurveTo#   sK    ":**6#2;74&@F**62Fv&r   c                R    V P                   pV Uu. uF
  q2! V4      NK  	  up# u upi r   )r   )r   r)   r	   r   s   &&  r   r'   TransformPen._transformPoints*   s*    ---34Vrr"V444s   $c                :    V P                   P                  4        R # r   )r   	closePathr   s   &r   r3   TransformPen.closePath.   s     r   c                :    V P                   P                  4        R # r   )r   endPathr4   s   &r   r7   TransformPen.endPath1   s    r   c                r    V P                   P                  V4      pV P                  P                  W4       R # r   r   	transformr   addComponent)r   	glyphNamer   s   &&&r   r<   TransformPen.addComponent4   s*    --77G!!)<r   )r   r   r   )__name__
__module____qualname____firstlineno____doc__r   r   r#   r&   r.   r'   r3   r7   r<   __static_attributes____classdictcell____classcell__r   __classdict__s   @@r   r   r      s<     66='5!= =r   c                   F   a a ] tR t^9t oRtV 3R ltRR ltR tRtVt	V ;t
# )r   a  PointPen that transforms all coordinates using a Affine transformation,
and passes them to another PointPen.

For example::

    >>> from fontTools.pens.recordingPen import RecordingPointPen
    >>> rec = RecordingPointPen()
    >>> pen = TransformPointPen(rec, (2, 0, 0, 2, -10, 5))
    >>> v = iter(rec.value)
    >>> pen.beginPath(identifier="contour-0")
    >>> next(v)
    ('beginPath', (), {'identifier': 'contour-0'})

    >>> pen.addPoint((100, 100), "line")
    >>> next(v)
    ('addPoint', ((190, 205), 'line', False, None), {})

    >>> pen.endPath()
    >>> next(v)
    ('endPath', (), {})

    >>> pen.addComponent("a", (1, 0, 0, 1, -10, 5), identifier="component-0")
    >>> next(v)
    ('addComponent', ('a', <Transform [2 0 0 2 -30 15]>), {'identifier': 'component-0'})
c                   < \         SV `  V4       \        VR4      '       g   ^ RIHp V! V!  pW n        VP                  V n        R# )zThe 'outPointPen' argument is another point pen object.
It will receive the transformed coordinates.
The 'transformation' argument can either be a six-tuple, or a
fontTools.misc.transform.Transform object.
r	   r
   N)r   r   r   r   r   r   r	   r   )r   outPointPenr   r   r   s   &&& r   r   TransformPointPen.__init__T   sA     	%~'788:&7N--<<r   c                b    V P                   P                  ! V P                  V4      W#V3/ VB  R # r   )r   addPointr   )r   r   segmentTypesmoothnamekwargss   &&&&&,r   rN   TransformPointPen.addPointb   s.      $k4	
CI	
r   c                v    V P                   P                  V4      pV P                  P                  ! W3/ VB  R # r   r:   )r   baseGlyphNamer   rR   s   &&&,r   r<   TransformPointPen.addComponentg   s/    --77G!!-J6Jr   )r   r   )NFN)r?   r@   rA   rB   rC   r   rN   r<   rD   rE   rF   rG   s   @@r   r   r   9   s      4=

K Kr   __main__)_TestPenN)   r   g      ?rY   ir   )r   r   )r   d   )2   K   )<   r[   )r[      )fontTools.pens.filterPenr   r   __all__r   r   r?   fontTools.pens.basePenrX   penr   r#   r&   r3    r   r   <module>rd      s    > .
//=9 /=d0K 0Kf z/
x~'=
>CJJvJJxKK(Hf5MMO r   