From 9579f92b6923f72375d98c4b95ccd3bbcc85ba75 Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Thu, 31 Dec 2020 12:37:27 +1100 Subject: [PATCH] Make mousewheel delta independent of window size, fixes #95 --- dgl/src/ImageWidgets.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dgl/src/ImageWidgets.cpp b/dgl/src/ImageWidgets.cpp index de94ca02..94bf58a1 100644 --- a/dgl/src/ImageWidgets.cpp +++ b/dgl/src/ImageWidgets.cpp @@ -612,8 +612,9 @@ bool ImageKnob::onScroll(const ScrollEvent& ev) if (! contains(ev.pos)) return false; + const float dir = (ev.delta.getY() > 0.f) ? 1.f : -1.f; const float d = (ev.mod & kModifierControl) ? 2000.0f : 200.0f; - float value = (fUsingLog ? _invlogscale(fValueTmp) : fValueTmp) + (float(fMaximum - fMinimum) / d * 10.f * ev.delta.getY()); + float value = (fUsingLog ? _invlogscale(fValueTmp) : fValueTmp) + (float(fMaximum - fMinimum) / d * 10.f * dir); if (fUsingLog) value = _logscale(value);