diff options
Diffstat (limited to 'win32')
-rw-r--r-- | win32/ScintillaWin.cxx | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 5fd06cd16..7242f590d 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -1645,7 +1645,11 @@ sptr_t ScintillaWin::MouseMessage(unsigned int iMessage, uptr_t wParam, sptr_t l MouseWheelDelta &wheelDelta = (iMessage == WM_MOUSEHWHEEL) ? horizontalWheelDelta : verticalWheelDelta; if (wheelDelta.Accumulate(wParam)) { - const int charsToScroll = charsPerScroll * wheelDelta.Actions(); + int charsToScroll = charsPerScroll * wheelDelta.Actions(); + if (iMessage == WM_MOUSEHWHEEL) { + // horizontal scroll is in reverse direction + charsToScroll = -charsToScroll; + } const int widthToScroll = static_cast<int>(std::lround(charsToScroll * vs.aveCharWidth)); HorizontalScrollToClamped(xOffset + widthToScroll); } |