GDK W32: fix direction of horizontal smooth scrolling events

Commit 359df028be changed the
code to send GDK_SCROLL_SMOOTH with deltas instead of
GDK_SCROLL_(UP|DOWN|LEFT|RIGHT).

Windows defines deltas inversed for vertical direction
(positive values mean the wheel was turned forward)
but not for horizontal direction
(positive values mean the wheel was turned towards the right).

This commit fixes behavior as both axes were inverted previously.
This commit is contained in:
Eduard Braun 2018-09-13 16:17:51 +02:00 committed by Руслан Ижбулатов
parent d4098099dd
commit 73728814b0

View File

@ -2736,10 +2736,9 @@ gdk_event_translate (MSG *msg,
if (SystemParametersInfo (SPI_GETWHEELSCROLLCHARS, 0, &chars_multiplier, 0))
event->scroll.delta_x *= (gdouble) chars_multiplier;
}
/* It seems that delta values given by Windows are
* inverted (positive delta scrolls up, not down).
/* Positive delta scrolls up, not down,
see API documentation for WM_MOUSEWHEEL message.
*/
event->scroll.delta_x *= -1.0;
event->scroll.delta_y *= -1.0;
event->scroll.time = _gdk_win32_get_next_tick (msg->time);
event->scroll.x = (gint16) point.x / impl->surface_scale;