Example #1
0
static void
_cairo_ellipsis_negative (cairo_t *cr,
                          double xc, double yc,
                          double xradius, double yradius,
                          double angle1, double angle2)
{
  cairo_matrix_t save;

  if (xradius <= 0.0 || yradius <= 0.0)
    {
      cairo_line_to (cr, xc, yc);
      return;
    }

  cairo_get_matrix (cr, &save);
  cairo_translate (cr, xc, yc);
  cairo_scale (cr, xradius, yradius);
  append_arc (cr, angle1, angle2, TRUE);
  cairo_set_matrix (cr, &save);
}
 //virtual void conic_to(P to, P diff) {}
 //virtual void arc_small_den(P p) {} // dxf_writer lacks this functn!
 virtual void arc(P p2, double r, P c, double gr, double bulge) {
     append_arc(p2,r,c);
 }