o
    i                     @   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   e/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/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   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   
_closePath,   s   zAreaPen._closePathc                 C   s   | j | jkrt| ` | `d S r	   )r
   r   NotImplementedErrorr   r   r   r   _endPath0   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    