diff --git a/Terminal.Gui/Application/Application.cs b/Terminal.Gui/Application/Application.cs index 4f83ef5a8..1e0f8244c 100644 --- a/Terminal.Gui/Application/Application.cs +++ b/Terminal.Gui/Application/Application.cs @@ -197,6 +197,7 @@ public static partial class Application IsInitialized = false; // Mouse + _lastMousePosition = Point.Empty; _cachedViewsUnderMouse.Clear (); WantContinuousButtonPressedView = null; MouseEvent = null; diff --git a/UnitTests/Application/ApplicationTests.cs b/UnitTests/Application/ApplicationTests.cs index 9153cd290..250f79ec1 100644 --- a/UnitTests/Application/ApplicationTests.cs +++ b/UnitTests/Application/ApplicationTests.cs @@ -318,6 +318,9 @@ public class ApplicationTests // Keyboard Assert.Empty (Application.GetViewKeyBindings ()); + // Mouse + Assert.Equal (Point.Empty, Application._lastMousePosition); + // Navigation Assert.Null (Application.Navigation); @@ -355,12 +358,13 @@ public class ApplicationTests Application.QuitKey = Key.C; Application.KeyBindings.Add (Key.D, KeyBindingScope.Application, Command.Cancel); - //ApplicationOverlapped.OverlappedChildren = new List (); - //ApplicationOverlapped.OverlappedTop = Application._cachedViewsUnderMouse.Clear (); //Application.WantContinuousButtonPressedView = new View (); + // Mouse + Application._lastMousePosition = new Point (1, 1); + Application.Navigation = new (); Application.ResetState (); @@ -896,7 +900,7 @@ public class ApplicationTests Assert.Equal (new (0, 0), w.Frame.Location); // Move down and to the right. - Application.OnMouseEvent (new () { Position = new (1, 1), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new () { ScreenPosition = new (1, 1), Flags = MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition }); Assert.Equal (new (1, 1), w.Frame.Location); Application.End (rs); diff --git a/UnitTests/Application/Mouse/ApplicationMouseTests.cs b/UnitTests/Application/Mouse/ApplicationMouseTests.cs index df508b452..88a44d5d1 100644 --- a/UnitTests/Application/Mouse/ApplicationMouseTests.cs +++ b/UnitTests/Application/Mouse/ApplicationMouseTests.cs @@ -42,13 +42,13 @@ public class ApplicationMouseTests bool expectedClicked ) { - var mouseEvent = new MouseEvent { Position = new (clickX, clickY), Flags = MouseFlags.Button1Pressed }; + var mouseEvent = new MouseEvent { ScreenPosition = new (clickX, clickY), Flags = MouseFlags.Button1Pressed }; var clicked = false; void OnApplicationOnMouseEvent (object s, MouseEvent e) { - Assert.Equal (expectedX, e.Position.X); - Assert.Equal (expectedY, e.Position.Y); + Assert.Equal (expectedX, e.ScreenPosition.X); + Assert.Equal (expectedY, e.ScreenPosition.Y); clicked = true; } @@ -116,7 +116,7 @@ public class ApplicationMouseTests Height = size.Height }; - var mouseEvent = new MouseEvent { Position = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; + var mouseEvent = new MouseEvent { ScreenPosition = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; view.MouseClick += (s, e) => { @@ -218,7 +218,7 @@ public class ApplicationMouseTests Application.Top.Add (view); - var mouseEvent = new MouseEvent { Position = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; + var mouseEvent = new MouseEvent { ScreenPosition = new (clickX, clickY), Flags = MouseFlags.Button1Clicked }; view.MouseClick += (s, e) => { @@ -261,7 +261,7 @@ public class ApplicationMouseTests Assert.True (tf.HasFocus); Assert.Null (Application.MouseGrabView); - Application.OnMouseEvent (new () { Position = new (5, 5), Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new () { ScreenPosition = new (5, 5), Flags = MouseFlags.ReportMousePosition }); Assert.Equal (sv, Application.MouseGrabView); @@ -275,15 +275,15 @@ public class ApplicationMouseTests // another toplevel (Dialog) was opened Assert.Null (Application.MouseGrabView); - Application.OnMouseEvent (new () { Position = new (5, 5), Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new () { ScreenPosition = new (5, 5), Flags = MouseFlags.ReportMousePosition }); Assert.Null (Application.MouseGrabView); - Application.OnMouseEvent (new () { Position = new (40, 12), Flags = MouseFlags.ReportMousePosition }); + Application.OnMouseEvent (new () { ScreenPosition = new (40, 12), Flags = MouseFlags.ReportMousePosition }); Assert.Null (Application.MouseGrabView); - Application.OnMouseEvent (new () { Position = new (0, 0), Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new () { ScreenPosition = new (0, 0), Flags = MouseFlags.Button1Pressed }); Assert.Null (Application.MouseGrabView); @@ -402,7 +402,7 @@ public class ApplicationMouseTests Assert.True (view.WasDisposed); #endif - Application.OnMouseEvent (new () { Position = new (0, 0), Flags = MouseFlags.Button1Pressed }); + Application.OnMouseEvent (new () { ScreenPosition = new (0, 0), Flags = MouseFlags.Button1Pressed }); Assert.Null (Application.MouseGrabView); Assert.Equal (0, count); top.Dispose ();