WINCON: Send real mouse position with scroll event

Previously PDCurses would send (X,Y) coordinates (-1,-1) when processing a scroll event. Bring the behavior inline with ncurses and send the actual mouse position.
This commit is contained in:
Emmanuel Mathi-Amorim
2020-05-12 11:50:09 -04:00
committed by GitHub
parent 618e0aaa31
commit 692a7bb017

View File

@@ -439,6 +439,9 @@ static int _process_mouse_event(void)
memset(&SP->mouse_status, 0, sizeof(MOUSE_STATUS));
SP->mouse_status.x = MEV.dwMousePosition.X;
SP->mouse_status.y = MEV.dwMousePosition.Y;
/* Handle scroll wheel */
if (MEV.dwEventFlags == 4)
@@ -446,9 +449,6 @@ static int _process_mouse_event(void)
SP->mouse_status.changes = (MEV.dwButtonState & 0xFF000000) ?
PDC_MOUSE_WHEEL_DOWN : PDC_MOUSE_WHEEL_UP;
SP->mouse_status.x = -1;
SP->mouse_status.y = -1;
memset(&old_mouse_status, 0, sizeof(old_mouse_status));
return KEY_MOUSE;
@@ -459,9 +459,6 @@ static int _process_mouse_event(void)
SP->mouse_status.changes = (MEV.dwButtonState & 0xFF000000) ?
PDC_MOUSE_WHEEL_RIGHT : PDC_MOUSE_WHEEL_LEFT;
SP->mouse_status.x = -1;
SP->mouse_status.y = -1;
memset(&old_mouse_status, 0, sizeof(old_mouse_status));
return KEY_MOUSE;
@@ -510,9 +507,6 @@ static int _process_mouse_event(void)
}
}
SP->mouse_status.x = MEV.dwMousePosition.X;
SP->mouse_status.y = MEV.dwMousePosition.Y;
SP->mouse_status.changes = 0;
for (i = 0; i < 3; i++)