o
    h                     @   sV   d dl mZ d dlmZmZ d dlmZmZ d dlmZmZ dgZ	G dd deZ
dS )    )BasePen)CGPathCreateMutableCGPathMoveToPoint)CGPathAddLineToPointCGPathAddCurveToPoint)CGPathAddQuadCurveToPointCGPathCloseSubpath	QuartzPenc                   @   sB   e Zd ZdZdddZdd Zdd Zd	d
 Zdd Zdd Z	dS )r	   zA pen that creates a CGPath

    Parameters
    - path: an optional CGPath to add to
    - xform: an optional CGAffineTransform to apply to the path
    Nc                 C   s*   t | | |d u rt }|| _|| _d S N)r   __init__r   pathxform)selfglyphSetr   r    r   Z/var/www/html/optinet_system/venv/lib/python3.10/site-packages/fontTools/pens/quartzPen.pyr      s
   
zQuartzPen.__init__c                 C      |\}}t | j| j|| d S r
   )r   r   r   r   ptxyr   r   r   _moveTo      zQuartzPen._moveToc                 C   r   r
   )r   r   r   r   r   r   r   _lineTo   r   zQuartzPen._lineToc           
   	   C   s:   |||\}}\}}\}}	t | j| j||||||	 d S r
   )r   r   r   )
r   p1p2p3x1y1x2y2x3y3r   r   r   _curveToOne"   s   zQuartzPen._curveToOnec                 C   s,   ||\}}\}}t | j| j|||| d S r
   )r   r   r   )r   r   r   r   r   r   r    r   r   r   _qCurveToOne&   s   zQuartzPen._qCurveToOnec                 C   s   t | j d S r
   )r   r   )r   r   r   r   
_closePath*   s   zQuartzPen._closePath)NN)
__name__
__module____qualname____doc__r   r   r   r#   r$   r%   r   r   r   r   r	      s    
N)fontTools.pens.basePenr   Quartz.CoreGraphicsr   r   r   r   r   r   __all__r	   r   r   r   r   <module>   s    