drawEllipse method
Draws an ellipse
Use clockwise=false to draw the inside of a donut
Implementation
void drawEllipse(double x, double y, double r1, double r2,
{bool clockwise = true}) {
moveTo(x, y - r2);
if (clockwise) {
curveTo(x + _m4 * r1, y - r2, x + r1, y - _m4 * r2, x + r1, y);
curveTo(x + r1, y + _m4 * r2, x + _m4 * r1, y + r2, x, y + r2);
curveTo(x - _m4 * r1, y + r2, x - r1, y + _m4 * r2, x - r1, y);
curveTo(x - r1, y - _m4 * r2, x - _m4 * r1, y - r2, x, y - r2);
} else {
curveTo(x - _m4 * r1, y - r2, x - r1, y - _m4 * r2, x - r1, y);
curveTo(x - r1, y + _m4 * r2, x - _m4 * r1, y + r2, x, y + r2);
curveTo(x + _m4 * r1, y + r2, x + r1, y + _m4 * r2, x + r1, y);
curveTo(x + r1, y - _m4 * r2, x + _m4 * r1, y - r2, x, y - r2);
}
}