diff --git a/src/drawconstraint.cpp b/src/drawconstraint.cpp index e5f4cf1e..5c583624 100644 --- a/src/drawconstraint.cpp +++ b/src/drawconstraint.cpp @@ -349,8 +349,8 @@ void Constraint::DoArcForAngle(Canvas *canvas, Canvas::hStroke hcs, double r = max(sqrt(rda*rda + rdna*rdna), 15.0 * pixels); double th = Style::TextHeight(GetStyle()) / camera.scale; - double swidth = VectorFont::Builtin()->GetWidth(th, Label()) + 4*pixels, - sheight = VectorFont::Builtin()->GetCapHeight(th) + 8*pixels; + double swidth = VectorFont::Builtin()->GetWidth(th, Label()) + 8*pixels, + sheight = VectorFont::Builtin()->GetCapHeight(th) + 6*pixels; double textR = sqrt(swidth * swidth + sheight * sheight) / 2.0; *ref = pi.Plus(rm.WithMagnitude(std::max(rm.Magnitude(), 15 * pixels + textR))); @@ -412,7 +412,7 @@ void Constraint::DoArcForAngle(Canvas *canvas, Canvas::hStroke hcs, if(i > 0) { if(trim) { DoLineTrimmedAgainstBox(canvas, hcs, *ref, prev, p, - /*extend=*/false, gr, gu, swidth, sheight); + /*extend=*/false, gr, gu, swidth, sheight + 2*pixels); } else { DoLine(canvas, hcs, prev, p); } diff --git a/test/constraint/angle/free_in_3d.png b/test/constraint/angle/free_in_3d.png index 03a0afb1..2fef8c18 100644 Binary files a/test/constraint/angle/free_in_3d.png and b/test/constraint/angle/free_in_3d.png differ diff --git a/test/constraint/angle/normal.png b/test/constraint/angle/normal.png index 10f0a4f2..40b2d0e1 100644 Binary files a/test/constraint/angle/normal.png and b/test/constraint/angle/normal.png differ diff --git a/test/constraint/angle/reference.png b/test/constraint/angle/reference.png index ca91c0d1..e59f4811 100644 Binary files a/test/constraint/angle/reference.png and b/test/constraint/angle/reference.png differ diff --git a/test/constraint/angle/reference_free_in_3d.png b/test/constraint/angle/reference_free_in_3d.png index db6b2788..8292411a 100644 Binary files a/test/constraint/angle/reference_free_in_3d.png and b/test/constraint/angle/reference_free_in_3d.png differ