aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32
diff options
context:
space:
mode:
authorZufu Liu <unknown>2024-10-14 08:18:29 +1100
committerZufu Liu <unknown>2024-10-14 08:18:29 +1100
commit0810c2b873a754d78c3d269a279f40e2f7ade035 (patch)
treeca085a28db7e0dd363bd1a20601066b7578499ab /win32
parenta63766d101df9ce02cef81ada9f8216dd4e008f0 (diff)
downloadscintilla-mirror-0810c2b873a754d78c3d269a279f40e2f7ade035.tar.gz
Bug [#2449]. Fix direction of horizontal scrolling with touchpad.
Diffstat (limited to 'win32')
-rw-r--r--win32/ScintillaWin.cxx6
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);
}