More fixes

This commit is contained in:
Tig
2024-10-15 09:34:24 -06:00
parent 7d07d847e7
commit e6fd6350ba
2 changed files with 14 additions and 9 deletions

View File

@@ -251,7 +251,7 @@ public partial class View // Mouse APIs
}
// Post-Conditions
if (HighlightStyle != HighlightStyle.None || (WantContinuousButtonPressed && WantMousePositionReports))
if (HighlightStyle != HighlightStyle.None || WantContinuousButtonPressed)
{
if (WhenGrabbedHandlePressed (mouseEvent))
{
@@ -527,7 +527,6 @@ public partial class View // Mouse APIs
if (WantContinuousButtonPressed && Application.MouseGrabView == this)
{
// If this is not the first pressed event, generate a click
return RaiseMouseClickEvent (mouseEvent);
}

View File

@@ -310,9 +310,15 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews
view.MouseClick += (s, e) => clickedCount++;
me.Flags = pressed;
view.NewMouseEvent (me);
Assert.Equal (0, clickedCount);
me.Handled = false;
me.Flags = pressed;
view.NewMouseEvent (me);
Assert.Equal (1, clickedCount);
me.Handled = false;
me.Flags = released;
view.NewMouseEvent (me);
@@ -344,22 +350,22 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews
me.Flags = pressed;
view.NewMouseEvent (me);
Assert.Equal (1, clickedCount);
Assert.Equal (0, clickedCount);
me.Handled = false;
me.Flags = pressed;
view.NewMouseEvent (me);
Assert.Equal (2, clickedCount);
Assert.Equal (1, clickedCount);
me.Handled = false;
me.Flags = released;
view.NewMouseEvent (me);
Assert.Equal (2, clickedCount);
Assert.Equal (1, clickedCount);
me.Handled = false;
me.Flags = clicked;
view.NewMouseEvent (me);
Assert.Equal (2, clickedCount);
Assert.Equal (1, clickedCount);
view.Dispose ();
Application.ResetState (ignoreDisposed: true);
@@ -386,21 +392,21 @@ public class MouseTests (ITestOutputHelper output) : TestsAllViews
me.Flags = MouseFlags.Button1Pressed;
me.Position = me.Position with { X = 0 };
view.NewMouseEvent (me);
Assert.Equal (1, clickedCount);
Assert.Equal (0, clickedCount);
me.Handled = false;
// Move out of Viewport
me.Flags = MouseFlags.Button1Pressed;
me.Position = me.Position with { X = 1 };
view.NewMouseEvent (me);
Assert.Equal (2, clickedCount);
Assert.Equal (1, clickedCount);
me.Handled = false;
// Move into Viewport
me.Flags = MouseFlags.Button1Pressed;
me.Position = me.Position with { X = 0 };
view.NewMouseEvent (me);
Assert.Equal (3, clickedCount);
Assert.Equal (2, clickedCount);
me.Handled = false;
view.Dispose ();