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); }