shiny/driver: (win32) have wheel buttons send DirStep.
This matches gldriver (X11) and x11driver.
Change-Id: I3236cd6459e9fc148f07c16557f83d741ad04edd
Reviewed-on: https://go-review.googlesource.com/24637
Reviewed-by: David Crawshaw <crawshaw@golang.org>
diff --git a/shiny/driver/internal/win32/win32.go b/shiny/driver/internal/win32/win32.go
index 86013ad..8c850c9 100644
--- a/shiny/driver/internal/win32/win32.go
+++ b/shiny/driver/internal/win32/win32.go
@@ -172,12 +172,17 @@
}
switch uMsg {
- case _WM_MOUSEMOVE, _WM_MOUSEWHEEL:
+ case _WM_MOUSEMOVE:
e.Direction = mouse.DirNone
case _WM_LBUTTONDOWN, _WM_MBUTTONDOWN, _WM_RBUTTONDOWN:
e.Direction = mouse.DirPress
case _WM_LBUTTONUP, _WM_MBUTTONUP, _WM_RBUTTONUP:
e.Direction = mouse.DirRelease
+ case _WM_MOUSEWHEEL:
+ // TODO: On a trackpad, a scroll can be a drawn-out affair with a
+ // distinct beginning and end. Should the intermediate events be
+ // DirNone?
+ e.Direction = mouse.DirStep
default:
panic("sendMouseEvent() called on non-mouse message")
}
@@ -192,6 +197,7 @@
case _WM_RBUTTONDOWN, _WM_RBUTTONUP:
e.Button = mouse.ButtonRight
case _WM_MOUSEWHEEL:
+ // TODO: handle horizontal scrolling
delta := _GET_WHEEL_DELTA_WPARAM(wParam) / _WHEEL_DELTA
switch {
case delta > 0: