U
    Dvf  ã                   @   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	   z™A 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 krtƒ }|| _|| _d S ©N)r   Ú__init__r   ÚpathÚxform)ÚselfZglyphSetr   r   © r   ú</tmp/pip-unpacked-wheel-qlge9rch/fontTools/pens/quartzPen.pyr      s
    zQuartzPen.__init__c                 C   s   |\}}t | j| j||ƒ d S r
   )r   r   r   ©r   ÚptÚxÚyr   r   r   Ú_moveTo   s    zQuartzPen._moveToc                 C   s   |\}}t | j| j||ƒ d S r
   )r   r   r   r   r   r   r   Ú_lineTo   s    zQuartzPen._lineToc           
   	   C   s:   |||  \}}\}}\}}	t | j| j||||||	ƒ d S r
   )r   r   r   )
r   Úp1Úp2Zp3Úx1Úy1Úx2Úy2Zx3Z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)ZfontTools.pens.basePenr   ZQuartz.CoreGraphicsr   r   r   r   r   r   Ú__all__r	   r   r   r   r   Ú<module>   s
   