�
��gW � �& � d Z ddlZddlmZmZmZmZ ddlmZ ddl m
Z
mZmZ ddl
mZmZ g d�Z G d� d � � Z G d
� de� � Z G d� d
e� � Z G d� de
� � Z G d� de� � Z G d� de� � Z G d� dee� � ZdS )a�
=========
PointPens
=========
Where **SegmentPens** have an intuitive approach to drawing
(if you're familiar with postscript anyway), the **PointPen**
is geared towards accessing all the data in the contours of
the glyph. A PointPen has a very simple interface, it just
steps through all the points in a call from glyph.drawPoints().
This allows the caller to provide more data for each point.
For instance, whether or not a point is smooth, and its name.
� N)�Any�Optional�Tuple�Dict)�LogMixin)�AbstractPen�MissingComponentError�PenError)�DecomposedTransform�Identity)�AbstractPointPen�BasePointToSegmentPen�PointToSegmentPen�SegmentToPointPen�GuessSmoothPointPen�ReverseContourPointPenc �" � e Zd ZdZddee deddfd�Zdd�Z dd e e
e
f d
ee dedee dee deddfd
�Z ddede e
e
e
e
e
e
f dee deddf
d�Z
ddededeee
f dee deddfd�ZdS )r
zBaseclass for all PointPens.N�
identifier�kwargs�returnc � � t �)zStart a new sub path.��NotImplementedError��selfr r s �g/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/fontTools/pens/pointPen.py� beginPathzAbstractPointPen.beginPath# � � �!�!� c � � t �)zEnd the current sub path.r �r s r �endPathzAbstractPointPen.endPath'