o
    Ðùa  ã                   @   s*   d Z ddlmZ dgZG dd„ deƒZdS )zCalculate the area of a glyph.é    )ÚBasePenÚAreaPenc                   @   sF   e Zd Zddd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dS )r   Nc                 C   s   t  | |¡ d| _d S )Nr   )r   Ú__init__Úvalue)ÚselfZglyphset© r   ú8/usr/lib/python3/dist-packages/fontTools/pens/areaPen.pyr      s   
zAreaPen.__init__c                 C   s   | | _ | _d S ©N)Ú_p0Ú_startPoint)r   Úp0r   r   r   Ú_moveTo   s   zAreaPen._moveToc                 C   s:   | j \}}|\}}|  j|| ||  d 8  _|| _ d S )Ng      à?)r
   r   )r   Úp1Úx0Úy0Úx1Úy1r   r   r   Ú_lineTo   s   

zAreaPen._lineToc           
      C   s~   | j }|d |d }}|d | |d | }}|d | |d | }}	|  j|| ||	  d 8  _|  |¡ || _ d S )Nr   é   é   ©r
   r   r   )
r   r   Úp2r   r   r   r   r   Úx2Úy2r   r   r   Ú_qCurveToOne   s   

zAreaPen._qCurveToOnec                 C   s¶   | j }|d |d }}|d | |d | }}|d | |d | }	}
|d | |d | }}|  j||
 |  |	|d|    ||d|
    d 8  _|  |¡ || _ d S )Nr   r   é   g333333Ã?r   )r   r   r   Zp3r   r   r   r   r   r   r   Zx3Zy3r   r   r   Ú_curveToOne"   s   ÿþü

zAreaPen._curveToOnec                 C   s   |   | j¡ | `| `d S r	   )r   r   r
   ©r   r   r   r   Ú
_closePath1   s   zAreaPen._closePathc                 C   s   | j | jkrt‚| ` | `d S r	   )r
   r   ÚNotImplementedErrorr   r   r   r   Ú_endPath5   s   zAreaPen._endPathr	   )
Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r    r   r   r   r   r   	   s    

N)Ú__doc__ZfontTools.pens.basePenr   Ú__all__r   r   r   r   r   Ú<module>   s    