From ac98b6e4ea46835d01b4c8f35b566a92136c90fe Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 22 Jul 2020 06:29:20 +0200 Subject: Windows QPA: Move the touch types API from platformheaders into QtGui MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change TouchWindowTouchType(s) to be (global) property of QGuiApplication's native Windows interface since it does not make sense to set it per window. It appears the previous code setting the types per Window has never worked since registerTouchWindow() bailed out due to the checks for the flags TouchRegistered and IsTouchWindow() (setting in HCBT_CREATEWND). In addition, registering windows for touch after plugging in a device would not observe the setting. Move the checks around to make this work. Task-number: QTBUG-41433 Task-number: QTBUG-48849 Task-number: QTBUG-83252 Change-Id: I4306fdf13208f6eef22655875f3bd1769270e617 Reviewed-by: Tor Arne Vestbø --- src/gui/kernel/qguiapplication_p.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/gui/kernel/qguiapplication_p.h') diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h index b79dbd317f..8080d7801d 100644 --- a/src/gui/kernel/qguiapplication_p.h +++ b/src/gui/kernel/qguiapplication_p.h @@ -382,6 +382,17 @@ struct Q_GUI_EXPORT QWindowsApplication AlwaysActivateWindow }; + enum TouchWindowTouchType { + NormalTouch = 0x00000000, + FineTouch = 0x00000001, + WantPalmTouch = 0x00000002 + }; + + Q_DECLARE_FLAGS(TouchWindowTouchTypes, TouchWindowTouchType) + + virtual void setTouchWindowTouchType(TouchWindowTouchTypes type) = 0; + virtual TouchWindowTouchTypes touchWindowTouchType() const = 0; + virtual WindowActivationBehavior windowActivationBehavior() const = 0; virtual void setWindowActivationBehavior(WindowActivationBehavior behavior) = 0; @@ -394,6 +405,10 @@ struct Q_GUI_EXPORT QWindowsApplication } // QPlatformInterface::Private +#if defined(Q_OS_WIN) +Q_DECLARE_OPERATORS_FOR_FLAGS(QPlatformInterface::Private::QWindowsApplication::TouchWindowTouchTypes) +#endif + QT_END_NAMESPACE #endif // QGUIAPPLICATION_P_H -- cgit v1.2.3