}
float cx = x1-ctrl_offset;
float ax0 = cx-arc_offset;
Vector2D a = new Vector2D(cx, y0);
Vector2D b = new Vector2D(x1, y1);
Vector2D z = a.add(b.sub(a).setLength(Math.abs(arc_offset)));
drawLine(x0+start_offset, y0, ax0, y0);
drawSpline((float)z.x, (float)z.y, x1, y1, 0, end_offset, 0, arrow);
QuadCurve2D.Float quad = new QuadCurve2D.Float();