Intended to improve a more faster mouse.

This commit is contained in:
BDisp
2020-06-12 23:16:27 +01:00
parent 41764149bd
commit 1c966f67b8
3 changed files with 20 additions and 11 deletions

View File

@@ -223,7 +223,7 @@ namespace Terminal.Gui {
if (cev.ButtonState == Curses.Event.ReportMousePosition) {
mouseFlag = (MouseFlags)LastMouseButtonPressed | MouseFlags.ReportMousePosition;
point = new Point ();
cancelButtonClicked = true;
//cancelButtonClicked = true;
} else {
point = new Point () {
X = cev.X,

View File

@@ -819,7 +819,7 @@ namespace Terminal.Gui {
X = mouseEvent.MousePosition.X,
Y = mouseEvent.MousePosition.Y
};
if (p == point) {
//if (p == point) {
switch (LastMouseButtonPressed) {
case WindowsConsole.ButtonState.Button1Pressed:
mouseFlag = MouseFlags.Button1Clicked;
@@ -833,9 +833,13 @@ namespace Terminal.Gui {
mouseFlag = MouseFlags.Button3Clicked;
break;
}
} else {
mouseFlag = 0;
}
point = new Point () {
X = mouseEvent.MousePosition.X,
Y = mouseEvent.MousePosition.Y
};
//} else {
// mouseFlag = 0;
//}
LastMouseButtonPressed = null;
IsButtonReleased = false;
} else if (mouseEvent.EventFlags.HasFlag (WindowsConsole.EventFlags.DoubleClick)) {
@@ -880,7 +884,12 @@ namespace Terminal.Gui {
}
} else if (mouseEvent.EventFlags == WindowsConsole.EventFlags.MouseMoved) {
mouseFlag = MouseFlags.ReportMousePosition;
if (mouseEvent.MousePosition.X != point.X || mouseEvent.MousePosition.Y != point.Y) {
mouseFlag = MouseFlags.ReportMousePosition;
point = new Point ();
} else {
mouseFlag = 0;
}
} else if (mouseEvent.ButtonState == 0 && mouseEvent.EventFlags == 0) {
mouseFlag = 0;
}

View File

@@ -524,7 +524,7 @@ namespace Terminal.Gui {
Run (barItems.Children [meY].Action);
return true;
} else if (me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked ||
me.Flags == MouseFlags.ReportMousePosition ||
me.Flags == MouseFlags.Button1TripleClicked || me.Flags == MouseFlags.ReportMousePosition ||
me.Flags.HasFlag (MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition)) {
disabled = false;
if (me.Y < 1)
@@ -1161,7 +1161,7 @@ namespace Terminal.Gui {
}
handled = false;
if (me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked || me.Flags == MouseFlags.Button1Clicked ||
if (me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked || me.Flags == MouseFlags.Button1TripleClicked || me.Flags == MouseFlags.Button1Clicked ||
(me.Flags == MouseFlags.ReportMousePosition && selected > -1) ||
(me.Flags.HasFlag (MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition) && selected > -1)) {
int pos = 1;
@@ -1173,7 +1173,7 @@ namespace Terminal.Gui {
var menu = new Menu (this, i, 0, Menus [i]);
menu.Run (Menus [i].Action);
}
} else if (me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked) {
} else if (me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked || me.Flags == MouseFlags.Button1TripleClicked) {
if (IsMenuOpen) {
CloseAllMenus ();
} else {
@@ -1209,7 +1209,7 @@ namespace Terminal.Gui {
me.View.MouseEvent (me);
}
} else if (!(me.View is MenuBar || me.View is Menu) && (me.Flags.HasFlag (MouseFlags.Button1Clicked) ||
me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked)) {
me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked || me.Flags == MouseFlags.Button1TripleClicked)) {
Application.UngrabMouse ();
CloseAllMenus ();
handled = false;
@@ -1218,7 +1218,7 @@ namespace Terminal.Gui {
handled = false;
return false;
}
} else if (!IsMenuOpen && (me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked || me.Flags.HasFlag (MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition))) {
} else if (!IsMenuOpen && (me.Flags == MouseFlags.Button1Pressed || me.Flags == MouseFlags.Button1DoubleClicked || me.Flags == MouseFlags.Button1TripleClicked || me.Flags.HasFlag (MouseFlags.Button1Pressed | MouseFlags.ReportMousePosition))) {
Application.GrabMouse (current);
} else if (IsMenuOpen && (me.View is MenuBar || me.View is Menu)) {
Application.GrabMouse (me.View);