diff options
author | Mitch Curtis <mitch.curtis@theqtcompany.com> | 2015-09-21 09:55:37 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2015-09-21 15:20:45 +0000 |
commit | 67d4052be5f9b04bcb40d419370859fe71657d62 (patch) | |
tree | 075772ad5a29b69a34d0e0d691e24111d6e65519 /src/platformsupport | |
parent | 93e64c5489f8574e0090dfa6540003a867f4c950 (diff) |
Fix evdevtouch coordinates when high DPI scaling is in use
Report coordinates in the native coordinate system.
Change-Id: I1bfc495dd02e9a6033707bccb11066732d6cc0da
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
Diffstat (limited to 'src/platformsupport')
-rw-r--r-- | src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp index 1ca95074b9..5560d910ac 100644 --- a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp +++ b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp @@ -38,6 +38,7 @@ #include <QGuiApplication> #include <QLoggingCategory> #include <QtCore/private/qcore_unix_p.h> +#include <QtGui/private/qhighdpiscaling_p.h> #include <QtGui/private/qguiapplication_p.h> #include <linux/input.h> @@ -604,9 +605,10 @@ void QEvdevTouchScreenData::reportPoints() QWindow *win = QGuiApplication::focusWindow(); if (!win) return; - winRect = win->geometry(); + winRect = QHighDpi::toNativePixels(win->geometry(), win); } else { - winRect = QGuiApplication::primaryScreen()->geometry(); + QScreen *primary = QGuiApplication::primaryScreen(); + winRect = QHighDpi::toNativePixels(primary->geometry(), primary); } const int hw_w = hw_range_x_max - hw_range_x_min; |