From 8c01f3f0fa14e37532037537c2e15d868e4012b1 Mon Sep 17 00:00:00 2001 From: Ilya Fedin Date: Sun, 31 Dec 2023 09:56:49 +0400 Subject: [PATCH] Unscale DirectManipulation values --- ui/platform/win/ui_window_win.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/platform/win/ui_window_win.cpp b/ui/platform/win/ui_window_win.cpp index 356e85b..5327495 100644 --- a/ui/platform/win/ui_window_win.cpp +++ b/ui/platform/win/ui_window_win.cpp @@ -501,12 +501,14 @@ void WindowHelper::handleDirectManipulationEvent( ::GetCursorPos(&global); auto local = global; ::ScreenToClient(_handle, &local); + const auto dpi = _dpi.current() ? double(_dpi.current()) : 96.; + const auto delta = QPointF(event.delta) / (dpi / 96.); QWindowSystemInterface::handleWheelEvent( windowHandle, QPointF(local.x, local.y), QPointF(global.x, global.y), - event.delta, - event.delta * kPixelToAngleDelta, + delta.toPoint(), + (delta * kPixelToAngleDelta).toPoint(), LookupModifiers(), phase, Qt::MouseEventSynthesizedBySystem);