B
    Ë‹d  ã               @   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   úc/work/yifan.wang/ringdown/master-ringdown-env/lib/python3.7/site-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   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 )N)r   r
   r	   )r   r   r   r   Ú
_closePath1   s    zAreaPen._closePathc             C   s   | j | jkrt‚| ` | `d S )N)r	   r
   ÚNotImplementedError)r   r   r   r   Ú_endPath5   s    zAreaPen._endPath)N)
Ú__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   