mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-01 16:59:35 +01:00
Intended to improve a more faster mouse.
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user