From ef16f814cf5c5469e59ae8ccf0023e9fb740e839 Mon Sep 17 00:00:00 2001 From: Tig Date: Thu, 9 May 2024 09:30:57 -0600 Subject: [PATCH] Code cleanup --- Terminal.Gui/Drawing/Thickness.cs | 17 +++--- Terminal.Gui/View/ViewContent.cs | 25 ++++++--- Terminal.Gui/View/ViewDrawing.cs | 6 +- Terminal.Gui/View/ViewSubViews.cs | 5 +- Terminal.Gui/Views/Menu/Menu.cs | 10 ++-- Terminal.Gui/Views/Menu/MenuBar.cs | 4 +- UICatalog/Scenarios/Notepad.cs | 4 +- UnitTests/View/Adornment/ToScreenTests.cs | 36 ++++++------ UnitTests/View/Layout/ToScreenTests.cs | 14 ++--- UnitTests/View/NavigationTests.cs | 68 +++++++++++------------ 10 files changed, 98 insertions(+), 91 deletions(-) diff --git a/Terminal.Gui/Drawing/Thickness.cs b/Terminal.Gui/Drawing/Thickness.cs index d26d10a6c..6070e6cbe 100644 --- a/Terminal.Gui/Drawing/Thickness.cs +++ b/Terminal.Gui/Drawing/Thickness.cs @@ -9,7 +9,8 @@ namespace Terminal.Gui; /// /// /// -/// Use the helper API ( to get the rectangle describing the insides of the frame, +/// Use the helper API ( to get the rectangle describing the insides of the +/// frame, /// with the thickness widths subtracted. /// /// Use the helper API ( to draw the frame with the specified thickness. @@ -86,7 +87,7 @@ public class Thickness : IEquatable public bool Equals (Thickness other) { return other is { } && Left == other.Left && Right == other.Right && Top == other.Top && Bottom == other.Bottom; } /// - /// Gets whether the specified coordinates lie within the thickness (inside the bounding rectangle but outside of + /// Gets whether the specified coordinates lie within the thickness (inside the bounding rectangle but outside /// the rectangle described by . /// /// Describes the location and size of the rectangle that contains the thickness. @@ -100,17 +101,15 @@ public class Thickness : IEquatable } /// - /// Adds the thickness widths of another to the current , returning a new . + /// Adds the thickness widths of another to the current , returning a + /// new . /// /// /// - public Thickness Add (Thickness other) - { - return new Thickness (Left + other.Left, Top + other.Top, Right + other.Right, Bottom + other.Bottom); - } + public Thickness Add (Thickness other) { return new (Left + other.Left, Top + other.Top, Right + other.Right, Bottom + other.Bottom); } /// - /// Adds the thickness widths of another to another . + /// Adds the thickness widths of another to another . /// /// /// @@ -193,7 +192,7 @@ public class Thickness : IEquatable ); } - if (View.Diagnostics.HasFlag(ViewDiagnosticFlags.Ruler)) + if (View.Diagnostics.HasFlag (ViewDiagnosticFlags.Ruler)) { // PERF: This can almost certainly be simplified down to a single point offset and fewer calls to Draw // Top diff --git a/Terminal.Gui/View/ViewContent.cs b/Terminal.Gui/View/ViewContent.cs index 8a75be6f8..0a18ec081 100644 --- a/Terminal.Gui/View/ViewContent.cs +++ b/Terminal.Gui/View/ViewContent.cs @@ -196,9 +196,7 @@ public partial class View contentRelativeToViewport.Offset (-Viewport.X, -Viewport.Y); // Translate to Screen-Relative (our SuperView's Viewport-relative coordinates) - Rectangle screen = ViewportToScreen (new (contentRelativeToViewport, Size.Empty)); - - return screen.Location; + return ViewportToScreen (contentRelativeToViewport); } /// Converts a Screen-relative coordinate to a Content-relative coordinate. @@ -425,22 +423,35 @@ public partial class View ViewportChanged?.Invoke (this, e); } + /// + /// Converts a -relative location and size to a screen-relative location and size. + /// + /// + /// Viewport-relative means relative to the top-left corner of the inner rectangle of the . + /// + /// Viewport-relative location and size. + /// Screen-relative location and size. + public Rectangle ViewportToScreen (in Rectangle viewport) + { + return viewport with { Location = ViewportToScreen (viewport.Location) }; + } + /// /// Converts a -relative location to a screen-relative location. /// /// /// Viewport-relative means relative to the top-left corner of the inner rectangle of the . /// - /// Viewport-relative location. + /// Viewport-relative location. /// Screen-relative location. - public Rectangle ViewportToScreen (in Rectangle location) + public Point ViewportToScreen (in Point viewportLocation) { // Translate bounds to Frame (our SuperView's Viewport-relative coordinates) Rectangle screen = FrameToScreen (); Point viewportOffset = GetViewportOffsetFromFrame (); - screen.Offset (viewportOffset.X + location.X, viewportOffset.Y + location.Y); + screen.Offset (viewportOffset.X + viewportLocation.X, viewportOffset.Y + viewportLocation.Y); - return new (screen.Location, location.Size); + return screen.Location; } /// Converts a screen-relative coordinate to a Viewport-relative coordinate. diff --git a/Terminal.Gui/View/ViewDrawing.cs b/Terminal.Gui/View/ViewDrawing.cs index 144c3d36f..7c8c83ddd 100644 --- a/Terminal.Gui/View/ViewDrawing.cs +++ b/Terminal.Gui/View/ViewDrawing.cs @@ -106,7 +106,7 @@ public partial class View if (ViewportSettings.HasFlag (ViewportSettings.ClearContentOnly)) { - Rectangle visibleContent = ViewportToScreen (new (new (-Viewport.X, -Viewport.Y), ContentSize.GetValueOrDefault ())); + Rectangle visibleContent = ViewportToScreen (new Rectangle (new (-Viewport.X, -Viewport.Y), ContentSize.GetValueOrDefault ())); toClear = Rectangle.Intersect (toClear, visibleContent); } @@ -172,7 +172,7 @@ public partial class View if (ViewportSettings.HasFlag (ViewportSettings.ClipContentOnly)) { // Clamp the Clip to the just content area that is within the viewport - Rectangle visibleContent = ViewportToScreen (new (new (-Viewport.X, -Viewport.Y), ContentSize.GetValueOrDefault ())); + Rectangle visibleContent = ViewportToScreen (new Rectangle (new (-Viewport.X, -Viewport.Y), ContentSize.GetValueOrDefault ())); clip = Rectangle.Intersect (clip, visibleContent); } @@ -396,7 +396,7 @@ public partial class View return false; } - Rectangle screen = ViewportToScreen (new (col, row, 0, 0)); + var screen = ViewportToScreen (new Point (col, row)); Driver?.Move (screen.X, screen.Y); return true; diff --git a/Terminal.Gui/View/ViewSubViews.cs b/Terminal.Gui/View/ViewSubViews.cs index ee161e3f7..06bdcf551 100644 --- a/Terminal.Gui/View/ViewSubViews.cs +++ b/Terminal.Gui/View/ViewSubViews.cs @@ -875,10 +875,7 @@ public partial class View if (IsInitialized && CanFocus && HasFocus && ContentSize.HasValue) { // By default, position the cursor at the hotkey (if any) or 0, 0. - Point location = Viewport.Location; - location.X = TextFormatter.HotKeyPos == -1 ? 0 : TextFormatter.CursorPosition; - location.Y = 0; - Move (location.X, location.Y); + Move (TextFormatter.HotKeyPos == -1 ? 0 : TextFormatter.CursorPosition, 0); } // Returning null will hide the cursor. diff --git a/Terminal.Gui/Views/Menu/Menu.cs b/Terminal.Gui/Views/Menu/Menu.cs index c424ceed5..11bc71c7e 100644 --- a/Terminal.Gui/Views/Menu/Menu.cs +++ b/Terminal.Gui/Views/Menu/Menu.cs @@ -791,7 +791,7 @@ internal sealed class Menu : View if (item is null && BorderStyle != LineStyle.None) { - var s = ViewportToScreen (new (-1, i, 0, 0)); + var s = ViewportToScreen (new Point (-1, i)); Driver.Move (s.X, s.Y); Driver.AddRune (Glyphs.LeftTee); } @@ -839,7 +839,7 @@ internal sealed class Menu : View { if (BorderStyle != LineStyle.None && SuperView?.Frame.Right - Frame.X > Frame.Width) { - var s = ViewportToScreen (new (Frame.Width - 2, i, 0, 0)); + var s = ViewportToScreen (new Point (Frame.Width - 2, i)); Driver.Move (s.X, s.Y); Driver.AddRune (Glyphs.RightTee); } @@ -876,7 +876,7 @@ internal sealed class Menu : View textToDraw = item.Title; } - Rectangle screen = ViewportToScreen (new (new (0 , i), Size.Empty)); + var screen = ViewportToScreen (new Point(0 , i)); if (screen.X < Driver.Cols) { Driver.Move (screen.X + 1, screen.Y); @@ -895,7 +895,7 @@ internal sealed class Menu : View // The -3 is left/right border + one space (not sure what for) tf.Draw ( - ViewportToScreen (new (1, i, Frame.Width - 3, 1)), + ViewportToScreen (new Rectangle(1, i, Frame.Width - 3, 1)), i == _currentChild ? GetFocusColor () : GetNormalColor (), i == _currentChild ? ColorScheme.HotFocus : ColorScheme.HotNormal, SuperView?.ViewportToScreen (SuperView.Viewport) ?? Rectangle.Empty @@ -915,7 +915,7 @@ internal sealed class Menu : View ? item.Help.GetColumns () : item.Help.GetColumns () + item.ShortcutTag.GetColumns () + 2; int col = Frame.Width - l - 3; - screen = ViewportToScreen (new (new (col, i), Size.Empty)); + screen = ViewportToScreen (new Point (col, i)); if (screen.X < Driver.Cols) { diff --git a/Terminal.Gui/Views/Menu/MenuBar.cs b/Terminal.Gui/Views/Menu/MenuBar.cs index b692b4303..748dc3c8b 100644 --- a/Terminal.Gui/Views/Menu/MenuBar.cs +++ b/Terminal.Gui/Views/Menu/MenuBar.cs @@ -1336,7 +1336,7 @@ public class MenuBar : View if (mi.IsTopLevel) { - Rectangle screen = ViewportToScreen (new (new (0, i), Size.Empty)); + var screen = ViewportToScreen (new Point (0 , i)); var menu = new Menu { Host = this, X = screen.X, Y = screen.Y, BarItems = mi }; menu.Run (mi.Action); menu.Dispose (); @@ -1699,7 +1699,7 @@ public class MenuBar : View { if (Menus [i].IsTopLevel) { - Rectangle screen = ViewportToScreen (new (new (0, i), Size.Empty)); + var screen = ViewportToScreen (new Point(0 , i)); var menu = new Menu { Host = this, X = screen.X, Y = screen.Y, BarItems = Menus [i] }; menu.Run (Menus [i].Action); menu.Dispose (); diff --git a/UICatalog/Scenarios/Notepad.cs b/UICatalog/Scenarios/Notepad.cs index ac6fe776c..9a2613ae6 100644 --- a/UICatalog/Scenarios/Notepad.cs +++ b/UICatalog/Scenarios/Notepad.cs @@ -362,9 +362,9 @@ public class Notepad : Scenario ); } - Rectangle screen = ((View)sender).ViewportToScreen (new (e.MouseEvent.Position, Size.Empty)); + var screen = ((View)sender).ViewportToScreen (e.MouseEvent.Position); - var contextMenu = new ContextMenu { Position = screen.Location, MenuItems = items }; + var contextMenu = new ContextMenu { Position = screen, MenuItems = items }; contextMenu.Show (); e.MouseEvent.Handled = true; diff --git a/UnitTests/View/Adornment/ToScreenTests.cs b/UnitTests/View/Adornment/ToScreenTests.cs index ca8895724..621f52b2f 100644 --- a/UnitTests/View/Adornment/ToScreenTests.cs +++ b/UnitTests/View/Adornment/ToScreenTests.cs @@ -251,9 +251,9 @@ public class AdornmentToScreenTests (ITestOutputHelper output) view.Frame = frame; // Act - var marginScreen = view.Margin.ViewportToScreen (new (testX, 0, 0, 0)); - var borderScreen = view.Border.ViewportToScreen (new (testX, 0, 0, 0)); - var paddingScreen = view.Padding.ViewportToScreen (new (testX, 0, 0, 0)); + var marginScreen = view.Margin.ViewportToScreen (new Point (testX, 0)); + var borderScreen = view.Border.ViewportToScreen (new Point (testX, 0)); + var paddingScreen = view.Padding.ViewportToScreen (new Point (testX, 0)); // Assert Assert.Equal (expectedX, marginScreen.X); @@ -292,9 +292,9 @@ public class AdornmentToScreenTests (ITestOutputHelper output) Assert.Equal(4, view.Viewport.Width); // Act - var marginScreen = view.Margin.ViewportToScreen (new (testX, 0, 0, 0)); - var borderScreen = view.Border.ViewportToScreen (new (testX, 0, 0, 0)); - var paddingScreen = view.Padding.ViewportToScreen (new (testX, 0, 0, 0)); + var marginScreen = view.Margin.ViewportToScreen (new Point (testX, 0)); + var borderScreen = view.Border.ViewportToScreen (new Point (testX, 0)); + var paddingScreen = view.Padding.ViewportToScreen (new Point (testX, 0)); // Assert Assert.Equal (expectedX, marginScreen.X); @@ -338,9 +338,9 @@ public class AdornmentToScreenTests (ITestOutputHelper output) superView.LayoutSubviews (); // Act - var marginScreen = view.Margin.ViewportToScreen (new (testX, 0, 0, 0)); - var borderScreen = view.Border.ViewportToScreen (new (testX, 0, 0, 0)); - var paddingScreen = view.Padding.ViewportToScreen (new (testX, 0, 0, 0)); + var marginScreen = view.Margin.ViewportToScreen (new Point (testX, 0)); + var borderScreen = view.Border.ViewportToScreen (new Point (testX, 0)); + var paddingScreen = view.Padding.ViewportToScreen (new Point (testX, 0)); // Assert Assert.Equal (expectedX, marginScreen.X); @@ -385,9 +385,9 @@ public class AdornmentToScreenTests (ITestOutputHelper output) superView.LayoutSubviews (); // Act - var marginScreen = view.Margin.ViewportToScreen (new (testX, 0, 0, 0)); - var borderScreen = view.Border.ViewportToScreen (new (testX, 0, 0, 0)); - var paddingScreen = view.Padding.ViewportToScreen (new (testX, 0, 0, 0)); + var marginScreen = view.Margin.ViewportToScreen (new Point (testX, 0)); + var borderScreen = view.Border.ViewportToScreen (new Point (testX, 0)); + var paddingScreen = view.Padding.ViewportToScreen (new Point (testX, 0)); // Assert Assert.Equal (expectedX, marginScreen.X); @@ -441,9 +441,9 @@ public class AdornmentToScreenTests (ITestOutputHelper output) superView.LayoutSubviews (); // Act - var marginScreen = view.Margin.ViewportToScreen (new (testX, 0, 0, 0)); - var borderScreen = view.Border.ViewportToScreen (new (testX, 0, 0, 0)); - var paddingScreen = view.Padding.ViewportToScreen (new (testX, 0, 0, 0)); + var marginScreen = view.Margin.ViewportToScreen (new Point (testX, 0)); + var borderScreen = view.Border.ViewportToScreen (new Point (testX, 0)); + var paddingScreen = view.Padding.ViewportToScreen (new Point (testX, 0)); // Assert Assert.Equal (expectedX, marginScreen.X); @@ -502,9 +502,9 @@ public class AdornmentToScreenTests (ITestOutputHelper output) superView.LayoutSubviews (); // Act - var marginScreen = view.Margin.ViewportToScreen (new (testX, 0, 0, 0)); - var borderScreen = view.Border.ViewportToScreen (new (testX, 0, 0, 0)); - var paddingScreen = view.Padding.ViewportToScreen (new (testX, 0, 0, 0)); + var marginScreen = view.Margin.ViewportToScreen (new Point (testX, 0)); + var borderScreen = view.Border.ViewportToScreen (new Point (testX, 0)); + var paddingScreen = view.Padding.ViewportToScreen (new Point (testX, 0)); // Assert Assert.Equal (expectedX, marginScreen.X); diff --git a/UnitTests/View/Layout/ToScreenTests.cs b/UnitTests/View/Layout/ToScreenTests.cs index c3cb3f295..d6314a38b 100644 --- a/UnitTests/View/Layout/ToScreenTests.cs +++ b/UnitTests/View/Layout/ToScreenTests.cs @@ -655,7 +655,7 @@ public class ToScreenTests (ITestOutputHelper output) view.Frame = frame; // Act - var screen = view.ViewportToScreen (new (viewportX, 0, 0, 0)); + var screen = view.ViewportToScreen (new Point (viewportX, 0)); // Assert Assert.Equal (expectedX, screen.X); @@ -687,7 +687,7 @@ public class ToScreenTests (ITestOutputHelper output) view.Frame = frame; // Act - var screen = view.ViewportToScreen (new (viewportX, 0, 0, 0)); + var screen = view.ViewportToScreen (new Point (viewportX, 0)); // Assert Assert.Equal (expectedX, screen.X); @@ -729,7 +729,7 @@ public class ToScreenTests (ITestOutputHelper output) superView.LayoutSubviews (); // Act - var screen = view.ViewportToScreen (new (viewportX, 0, 0, 0)); + var screen = view.ViewportToScreen (new Point (viewportX, 0)); // Assert Assert.Equal (expectedX, screen.X); @@ -772,7 +772,7 @@ public class ToScreenTests (ITestOutputHelper output) superView.LayoutSubviews (); // Act - var screen = view.ViewportToScreen (new (viewportX, 0, 0, 0)); + var screen = view.ViewportToScreen (new Point (viewportX, 0)); // Assert Assert.Equal (expectedX, screen.X); @@ -824,7 +824,7 @@ public class ToScreenTests (ITestOutputHelper output) superView.LayoutSubviews (); // Act - var screen = view.ViewportToScreen (new (viewportX, 0, 0, 0)); + var screen = view.ViewportToScreen (new Point (viewportX, 0)); // Assert Assert.Equal (expectedX, screen.X); @@ -878,7 +878,7 @@ public class ToScreenTests (ITestOutputHelper output) superView.LayoutSubviews (); // Act - var screen = view.ViewportToScreen (new (viewportX, 0, 0, 0)); + var screen = view.ViewportToScreen (new Point (viewportX, 0)); // Assert Assert.Equal (expectedX, screen.X); @@ -935,7 +935,7 @@ public class ToScreenTests (ITestOutputHelper output) superView.LayoutSubviews (); // Act - var screen = view.ViewportToScreen (new (testX, 0, 0, 0)); + var screen = view.ViewportToScreen (new Point (testX, 0)); // Assert Assert.Equal (expectedX, screen.X); diff --git a/UnitTests/View/NavigationTests.cs b/UnitTests/View/NavigationTests.cs index dc41edda1..eb50447f9 100644 --- a/UnitTests/View/NavigationTests.cs +++ b/UnitTests/View/NavigationTests.cs @@ -852,19 +852,19 @@ public class NavigationTests // top Assert.Equal (Point.Empty, top.ScreenToFrame (new (0, 0))); - Rectangle screen = top.Margin.ViewportToScreen (new (0, 0, 0, 0)); + var screen = top.Margin.ViewportToScreen (new Point (0, 0)); Assert.Equal (0, screen.X); Assert.Equal (0, screen.Y); - screen = top.Border.ViewportToScreen (new (0, 0, 0, 0)); + screen = top.Border.ViewportToScreen (new Point (0, 0)); Assert.Equal (0, screen.X); Assert.Equal (0, screen.Y); - screen = top.Padding.ViewportToScreen (new (0, 0, 0, 0)); + screen = top.Padding.ViewportToScreen (new Point (0, 0)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = top.ViewportToScreen (new (0, 0, 0, 0)); + screen = top.ViewportToScreen (new Point (0, 0)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = top.ViewportToScreen (new (-1, -1, 0, 0)); + screen = top.ViewportToScreen (new Point (-1, -1)); Assert.Equal (0, screen.X); Assert.Equal (0, screen.Y); var found = View.FindDeepestView (top, new (0, 0)); @@ -873,7 +873,7 @@ public class NavigationTests Assert.Equal (0, found.Frame.X); Assert.Equal (0, found.Frame.Y); Assert.Equal (new Point (3, 2), top.ScreenToFrame (new (3, 2))); - screen = top.ViewportToScreen (new (3, 2, 0, 0)); + screen = top.ViewportToScreen (new Point (3, 2)); Assert.Equal (4, screen.X); Assert.Equal (3, screen.Y); found = View.FindDeepestView (top, new (screen.X, screen.Y)); @@ -885,14 +885,14 @@ public class NavigationTests //Assert.Equal (3, found.FrameToScreen ().X); //Assert.Equal (2, found.FrameToScreen ().Y); Assert.Equal (new Point (13, 2), top.ScreenToFrame (new (13, 2))); - screen = top.ViewportToScreen (new (12, 2, 0, 0)); + screen = top.ViewportToScreen (new Point (12, 2)); Assert.Equal (13, screen.X); Assert.Equal (3, screen.Y); found = View.FindDeepestView (top, new (screen.X, screen.Y)); Assert.Equal (view, found); //Assert.Equal (9, found.FrameToScreen ().X); //Assert.Equal (0, found.FrameToScreen ().Y); - screen = top.ViewportToScreen (new (13, 2, 0, 0)); + screen = top.ViewportToScreen (new Point (13, 2)); Assert.Equal (14, screen.X); Assert.Equal (3, screen.Y); found = View.FindDeepestView (top, new (13, 2)); @@ -900,7 +900,7 @@ public class NavigationTests //Assert.Equal (13, found.FrameToScreen ().X); //Assert.Equal (2, found.FrameToScreen ().Y); Assert.Equal (new Point (14, 3), top.ScreenToFrame (new (14, 3))); - screen = top.ViewportToScreen (new (14, 3, 0, 0)); + screen = top.ViewportToScreen (new Point (14, 3)); Assert.Equal (15, screen.X); Assert.Equal (4, screen.Y); found = View.FindDeepestView (top, new (14, 3)); @@ -910,40 +910,40 @@ public class NavigationTests // view Assert.Equal (new Point (-4, -3), view.ScreenToFrame (new (0, 0))); - screen = view.Margin.ViewportToScreen (new (-3, -2, 0, 0)); + screen = view.Margin.ViewportToScreen (new Point (-3, -2)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = view.Border.ViewportToScreen (new (-3, -2, 0, 0)); + screen = view.Border.ViewportToScreen (new Point (-3, -2)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = view.Padding.ViewportToScreen (new (-3, -2, 0, 0)); + screen = view.Padding.ViewportToScreen (new Point (-3, -2)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = view.ViewportToScreen (new (-3, -2, 0, 0)); + screen = view.ViewportToScreen (new Point (-3, -2)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = view.ViewportToScreen (new (-4, -3, 0, 0)); + screen = view.ViewportToScreen (new Point (-4, -3)); Assert.Equal (0, screen.X); Assert.Equal (0, screen.Y); found = View.FindDeepestView (top, new (0, 0)); Assert.Equal (top.Border, found); Assert.Equal (new Point (-1, -1), view.ScreenToFrame (new (3, 2))); - screen = view.ViewportToScreen (new (0, 0, 0, 0)); + screen = view.ViewportToScreen (new Point (0, 0)); Assert.Equal (4, screen.X); Assert.Equal (3, screen.Y); found = View.FindDeepestView (top, new (4, 3)); Assert.Equal (view, found); Assert.Equal (new Point (9, -1), view.ScreenToFrame (new (13, 2))); - screen = view.ViewportToScreen (new (10, 0, 0, 0)); + screen = view.ViewportToScreen (new Point (10, 0)); Assert.Equal (14, screen.X); Assert.Equal (3, screen.Y); found = View.FindDeepestView (top, new (14, 3)); Assert.Equal (top, found); Assert.Equal (new Point (10, 0), view.ScreenToFrame (new (14, 3))); - screen = view.ViewportToScreen (new (11, 1, 0, 0)); + screen = view.ViewportToScreen (new Point (11, 1)); Assert.Equal (15, screen.X); Assert.Equal (4, screen.Y); found = View.FindDeepestView (top, new (15, 4)); @@ -1006,80 +1006,80 @@ public class NavigationTests // top Assert.Equal (new Point (-3, -2), top.ScreenToFrame (new (0, 0))); - Rectangle screen = top.Margin.ViewportToScreen (new (-3, -2, 0, 0)); + var screen = top.Margin.ViewportToScreen (new Point (-3, -2)); Assert.Equal (0, screen.X); Assert.Equal (0, screen.Y); - screen = top.Border.ViewportToScreen (new (-3, -2, 0, 0)); + screen = top.Border.ViewportToScreen (new Point (-3, -2)); Assert.Equal (0, screen.X); Assert.Equal (0, screen.Y); - screen = top.Padding.ViewportToScreen (new (-3, -2, 0, 0)); + screen = top.Padding.ViewportToScreen (new Point (-3, -2)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = top.ViewportToScreen (new (-3, -2, 0, 0)); + screen = top.ViewportToScreen (new Point (-3, -2)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = top.ViewportToScreen (new (-4, -3, 0, 0)); + screen = top.ViewportToScreen (new Point (-4, -3)); Assert.Equal (0, screen.X); Assert.Equal (0, screen.Y); var found = View.FindDeepestView (top, new (-4, -3)); Assert.Null (found); Assert.Equal (Point.Empty, top.ScreenToFrame (new (3, 2))); - screen = top.ViewportToScreen (new (0, 0, 0, 0)); + screen = top.ViewportToScreen (new Point (0, 0)); Assert.Equal (4, screen.X); Assert.Equal (3, screen.Y); Assert.Equal (top.Border, View.FindDeepestView (top, new (3, 2))); //Assert.Equal (0, found.FrameToScreen ().X); //Assert.Equal (0, found.FrameToScreen ().Y); Assert.Equal (new Point (10, 0), top.ScreenToFrame (new (13, 2))); - screen = top.ViewportToScreen (new (10, 0, 0, 0)); + screen = top.ViewportToScreen (new Point (10, 0)); Assert.Equal (14, screen.X); Assert.Equal (3, screen.Y); Assert.Equal (top.Border, View.FindDeepestView (top, new (13, 2))); //Assert.Equal (10, found.FrameToScreen ().X); //Assert.Equal (0, found.FrameToScreen ().Y); Assert.Equal (new Point (11, 1), top.ScreenToFrame (new (14, 3))); - screen = top.ViewportToScreen (new (11, 1, 0, 0)); + screen = top.ViewportToScreen (new Point (11, 1)); Assert.Equal (15, screen.X); Assert.Equal (4, screen.Y); Assert.Equal (top, View.FindDeepestView (top, new (14, 3))); // view Assert.Equal (new Point (-7, -5), view.ScreenToFrame (new (0, 0))); - screen = view.Margin.ViewportToScreen (new (-6, -4, 0, 0)); + screen = view.Margin.ViewportToScreen (new Point (-6, -4)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = view.Border.ViewportToScreen (new (-6, -4, 0, 0)); + screen = view.Border.ViewportToScreen (new Point (-6, -4)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = view.Padding.ViewportToScreen (new (-6, -4, 0, 0)); + screen = view.Padding.ViewportToScreen (new Point (-6, -4)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); - screen = view.ViewportToScreen (new (-6, -4, 0, 0)); + screen = view.ViewportToScreen (new Point (-6, -4)); Assert.Equal (1, screen.X); Assert.Equal (1, screen.Y); Assert.Null (View.FindDeepestView (top, new (1, 1))); Assert.Equal (new Point (-4, -3), view.ScreenToFrame (new (3, 2))); - screen = view.ViewportToScreen (new (-3, -2, 0, 0)); + screen = view.ViewportToScreen (new Point (-3, -2)); Assert.Equal (4, screen.X); Assert.Equal (3, screen.Y); Assert.Equal (top, View.FindDeepestView (top, new (4, 3))); Assert.Equal (new Point (-1, -1), view.ScreenToFrame (new (6, 4))); - screen = view.ViewportToScreen (new (0, 0, 0, 0)); + screen = view.ViewportToScreen (new Point (0, 0)); Assert.Equal (7, screen.X); Assert.Equal (5, screen.Y); Assert.Equal (view, View.FindDeepestView (top, new (7, 5))); Assert.Equal (new Point (6, -1), view.ScreenToFrame (new (13, 4))); - screen = view.ViewportToScreen (new (7, 0, 0, 0)); + screen = view.ViewportToScreen (new Point (7, 0)); Assert.Equal (14, screen.X); Assert.Equal (5, screen.Y); Assert.Equal (view, View.FindDeepestView (top, new (14, 5))); Assert.Equal (new Point (7, -2), view.ScreenToFrame (new (14, 3))); - screen = view.ViewportToScreen (new (8, -1, 0, 0)); + screen = view.ViewportToScreen (new Point (8, -1)); Assert.Equal (15, screen.X); Assert.Equal (4, screen.Y); Assert.Equal (top, View.FindDeepestView (top, new (15, 4))); Assert.Equal (new Point (16, -2), view.ScreenToFrame (new (23, 3))); - screen = view.ViewportToScreen (new (17, -1, 0, 0)); + screen = view.ViewportToScreen (new Point (17, -1)); Assert.Equal (24, screen.X); Assert.Equal (4, screen.Y); Assert.Null (View.FindDeepestView (top, new (24, 4)));