From cbda0e9d95e0c6434e8fc80fe5fdcf409f6744df Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Mon, 18 May 2020 12:46:25 -0300 Subject: [PATCH] fix nits. --- src/Avalonia.Visuals/Rect.cs | 14 ++++++++------ .../Rendering/SceneGraph/DrawOperation.cs | 4 +--- tests/Avalonia.Visuals.UnitTests/RectTests.cs | 5 ++++- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/Avalonia.Visuals/Rect.cs b/src/Avalonia.Visuals/Rect.cs index 8dadaa3b0f..d1110e0613 100644 --- a/src/Avalonia.Visuals/Rect.cs +++ b/src/Avalonia.Visuals/Rect.cs @@ -421,7 +421,8 @@ namespace Avalonia } /// - /// Normalizes the rectangle so both the and are positive, without changing the location of the rectangle + /// Normalizes the rectangle so both the and are positive, without changing the location of the rectangle /// /// Normalized Rect /// @@ -431,24 +432,25 @@ namespace Avalonia { Rect rect = this; - if(double.IsNaN(rect.Right) || double.IsNaN(rect.Bottom) || double.IsNaN(rect.X) || double.IsNaN(rect.Y) || double.IsNaN(Height) || double.IsNaN(Width)) + if(double.IsNaN(rect.Right) || double.IsNaN(rect.Bottom) || + double.IsNaN(rect.X) || double.IsNaN(rect.Y) || + double.IsNaN(Height) || double.IsNaN(Width)) { return Rect.Empty; } if (rect.Width < 0) { - var old = X; var x = X + Width; - var width = old - x; + var width = X - x; rect = rect.WithX(x).WithWidth(width); } + if (rect.Height < 0) { - var old = Y; var y = Y + Height; - var height = old - y; + var height = Y - y; rect = rect.WithY(y).WithHeight(height); } diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/DrawOperation.cs b/src/Avalonia.Visuals/Rendering/SceneGraph/DrawOperation.cs index 38df0cb289..c49e7705e0 100644 --- a/src/Avalonia.Visuals/Rendering/SceneGraph/DrawOperation.cs +++ b/src/Avalonia.Visuals/Rendering/SceneGraph/DrawOperation.cs @@ -11,9 +11,7 @@ namespace Avalonia.Rendering.SceneGraph { public DrawOperation(Rect bounds, Matrix transform) { - bounds = bounds.Normalize(); - - bounds = bounds.TransformToAABB(transform); + bounds = bounds.Normalize().TransformToAABB(transform); Bounds = new Rect( new Point(Math.Floor(bounds.X), Math.Floor(bounds.Y)), diff --git a/tests/Avalonia.Visuals.UnitTests/RectTests.cs b/tests/Avalonia.Visuals.UnitTests/RectTests.cs index 89800e41bf..a2b0569949 100644 --- a/tests/Avalonia.Visuals.UnitTests/RectTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/RectTests.cs @@ -47,7 +47,10 @@ namespace Avalonia.Visuals.UnitTests [Fact] public void Normalize_Should_Make_Invalid_Rects_Empty() { - var result = new Rect(double.NegativeInfinity,double.PositiveInfinity, double.PositiveInfinity, double.PositiveInfinity).Normalize(); + var result = new Rect( + double.NegativeInfinity, double.PositiveInfinity, + double.PositiveInfinity, double.PositiveInfinity) + .Normalize(); Assert.Equal(Rect.Empty, result); }