diff --git a/samples/ControlCatalog/MainWindow.xaml.cs b/samples/ControlCatalog/MainWindow.xaml.cs index ce7b85725e..9f10dd442a 100644 --- a/samples/ControlCatalog/MainWindow.xaml.cs +++ b/samples/ControlCatalog/MainWindow.xaml.cs @@ -12,7 +12,7 @@ namespace ControlCatalog { private Random _r = new Random(); - private double angle = 45; + private double angle = Math.PI / 8; public TestControl() { DispatcherTimer t = new DispatcherTimer(); @@ -20,7 +20,7 @@ namespace ControlCatalog t.Tick += (sender, e) => { - angle += 1; + angle += Math.PI / 360; Dispatcher.UIThread.Post(InvalidateVisual, DispatcherPriority.Background); }; diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs b/src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs index 9be7f45485..f7ac072ced 100644 --- a/src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs +++ b/src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs @@ -12,17 +12,17 @@ namespace Avalonia.Rendering.SceneGraph var xDiff = p2.X - p1.X; var yDiff = p2.Y - p1.Y; - return Math.Atan2(yDiff, xDiff) * 180.0 / Math.PI; + return Math.Atan2(yDiff, xDiff); } public static double CalculateOppSide(double angle, double hyp) { - return Math.Sin(angle * degreeToRadians) * hyp; + return Math.Sin(angle) * hyp; } public static double CalculateAdjSide(double angle, double hyp) { - return Math.Cos(angle * degreeToRadians) * hyp; + return Math.Cos(angle) * hyp; } private static (Point p1, Point p2) TranslatePointsAlongTangent(Point p1, Point p2, double angle, double distance) @@ -53,19 +53,19 @@ namespace Avalonia.Rendering.SceneGraph public static Rect CalculateBounds(Point p1, Point p2, IPen p) { - var angle = CalculateAngle(p1, p2); + var radians = CalculateAngle(p1, p2); - var angleToCorner = angle; + var angleToCorner = radians; if (p.LineCap != PenLineCap.Flat) { - var pts = TranslatePointsAlongTangent(p1, p2, angle - 90, p.Thickness / 2); + var pts = TranslatePointsAlongTangent(p1, p2, radians - Math.PI / 2, p.Thickness / 2); - return CalculateBounds(pts.p1, pts.p2, p.Thickness, angle); + return CalculateBounds(pts.p1, pts.p2, p.Thickness, radians); } else { - return CalculateBounds(p1, p2, p.Thickness, angle); + return CalculateBounds(p1, p2, p.Thickness, radians); } } }