
    jke                     0    d Z ddlmZ dgZ G d de      Zy)zCalculate the area of a glyph.    )BasePenAreaPenc                   8    e Zd Zd	dZd Zd Zd Zd Zd Zd Z	y)
r   Nc                 >    t        j                  | |       d| _        y )Nr   )r   __init__value)selfglyphsets     8/usr/lib/python3/dist-packages/fontTools/pens/areaPen.pyr   zAreaPen.__init__
   s    x(
    c                      |x| _         | _        y N)_p0_startPoint)r	   p0s     r   _moveTozAreaPen._moveTo   s    &((4#r   c                 |    | j                   \  }}|\  }}| xj                  ||z
  ||z   z  dz  z  c_        || _         y )Ng      ?)r   r   )r	   p1x0y0x1y1s         r   _lineTozAreaPen._lineTo   s?    BB

rBw27+c11
r   c                     | j                   }|d   |d   }}|d   |z
  |d   |z
  }}|d   |z
  |d   |z
  }	}| xj                  ||z  ||	z  z
  dz  z  c_        | j                  |       || _         y )Nr         r   r   r   )
r	   r   p2r   r   r   r   r   x2y2s
             r   _qCurveToOnezAreaPen._qCurveToOne   s    XXA1BARURZBARURZB

rBwb(A--
Rr   c                 .   | j                   }|d   |d   }}|d   |z
  |d   |z
  }}|d   |z
  |d   |z
  }
}	|d   |z
  |d   |z
  }}| xj                  ||
 |z
  z  |	|d|z  z
  z  z   ||d|
z  z   z  z   dz  z  c_        | j                  |       || _         y )Nr   r      g333333?r   )r	   r   r   p3r   r   r   r   r   r   r    x3y3s                r   _curveToOnezAreaPen._curveToOne!   s    XXA1BARURZBARURZBARURZB

rbS2XrAF{);;bBRK>PPTXXX
Rr   c                 B    | j                  | j                         | `| `y r   )r   r   r   r	   s    r   
_closePathzAreaPen._closePath,   s    T%%&Hd&r   c                 J    | j                   | j                  k7  rt        | ` | `y r   )r   r   NotImplementedErrorr)   s    r   _endPathzAreaPen._endPath0   s$    88t'''%%Hd&r   r   )
__name__
__module____qualname__r   r   r   r!   r'   r*   r-    r   r   r   r   	   s%    )	''r   N)__doc__fontTools.pens.basePenr   __all__r   r1   r   r   <module>r5      s     $ * ++'g +'r   