From 7abef70f8f34d70c643d4c4f16e555097c116eef Mon Sep 17 00:00:00 2001 From: Alvin Penner Date: Thu, 20 Apr 2017 12:29:47 -0400 Subject: terminate line with round caps. (Bug 1680179) Fixed bugs: - https://launchpad.net/bugs/1680179 (bzr r15626) --- src/livarot/PathOutline.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/livarot/PathOutline.cpp b/src/livarot/PathOutline.cpp index 7043469d2..c1a48d41f 100644 --- a/src/livarot/PathOutline.cpp +++ b/src/livarot/PathOutline.cpp @@ -158,7 +158,8 @@ void Path::Outline(Path *dest, double width, JoinType join, ButtType butt, doubl join, butt, miter, false, false, endPos, endButt); Geom::Point endNor=endButt.ccw(); if (butt == butt_round) { - dest->ArcTo (endPos+width*endNor, 1.0001 * width, 1.0001 * width, 0.0, true, true); + dest->ArcTo (endPos+width*endButt, width, width, 0.0, false, true); + dest->ArcTo (endPos+width*endNor, width, width, 0.0, false, true); } else if (butt == butt_square) { dest->LineTo (endPos-width*endNor+width*endButt); dest->LineTo (endPos+width*endNor+width*endButt); @@ -175,7 +176,8 @@ void Path::Outline(Path *dest, double width, JoinType join, ButtType butt, doubl endNor=endButt.ccw(); if (butt == butt_round) { - dest->ArcTo (endPos+width*endNor, 1.0001 * width, 1.0001 * width, 0.0, true, true); + dest->ArcTo (endPos+width*endButt, width, width, 0.0, false, true); + dest->ArcTo (endPos+width*endNor, width, width, 0.0, false, true); } else if (butt == butt_square) { dest->LineTo (endPos-width*endNor+width*endButt); dest->LineTo (endPos+width*endNor+width*endButt); -- cgit v1.2.3