diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs b/src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs index 4111723ac3..9be7f45485 100644 --- a/src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs +++ b/src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs @@ -27,8 +27,8 @@ namespace Avalonia.Rendering.SceneGraph private static (Point p1, Point p2) TranslatePointsAlongTangent(Point p1, Point p2, double angle, double distance) { - var xDiff = CalculateAdjSide(angle, distance); - var yDiff = CalculateOppSide(angle, distance); + var xDiff = CalculateOppSide(angle, distance); + var yDiff = CalculateAdjSide(angle, distance); var c1 = new Point(p1.X + xDiff, p1.Y - yDiff); var c2 = new Point(p1.X - xDiff, p1.Y + yDiff); @@ -55,17 +55,17 @@ namespace Avalonia.Rendering.SceneGraph { var angle = CalculateAngle(p1, p2); - var angleToCorner = 90 - angle; + var angleToCorner = angle; if (p.LineCap != PenLineCap.Flat) { - var pts = TranslatePointsAlongTangent(p1, p2, angleToCorner - 90, p.Thickness / 2); + var pts = TranslatePointsAlongTangent(p1, p2, angle - 90, p.Thickness / 2); - return CalculateBounds(pts.p1, pts.p2, p.Thickness, angleToCorner); + return CalculateBounds(pts.p1, pts.p2, p.Thickness, angle); } else { - return CalculateBounds(p1, p2, p.Thickness, angleToCorner); + return CalculateBounds(p1, p2, p.Thickness, angle); } } }