File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -241,8 +241,11 @@ void QGVMapQGView::zoomByWheel(QWheelEvent* event)
241241 event->accept ();
242242
243243#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
244- const QPoint eventPos (event->position ().x (), event->position ().y ());
245- const auto eventDelta = event->angleDelta ().y ();
244+ const QPoint eventPos (qRound (event->position ().x ()), qRound (event->position ().y ()));
245+ int eventDelta = event->angleDelta ().y ();
246+ if (eventDelta == 0 ) {
247+ eventDelta = event->pixelDelta ().y ();
248+ }
246249#else
247250 const QPoint eventPos (event->pos ().x (), event->pos ().y ());
248251 const auto eventDelta = event->delta ();
@@ -266,9 +269,9 @@ void QGVMapQGView::zoomByWheel(QWheelEvent* event)
266269 double newScale = mScale ;
267270
268271 if (eventDelta > 0 ) {
269- newScale *= wheelExponentDown;
270- } else {
271- newScale /= wheelExponentUp;
272+ newScale *= qPow ( wheelExponentDown, eventDelta / 120.0 ) ;
273+ } else if (eventDelta < 0 ) {
274+ newScale /= qPow ( wheelExponentUp, -eventDelta / 120.0 ) ;
272275 }
273276 cameraScale (newScale);
274277
You can’t perform that action at this time.
0 commit comments