diff options
Diffstat (limited to 'src/gui/kernel/qwindowsysteminterface.h')
-rw-r--r-- | src/gui/kernel/qwindowsysteminterface.h | 93 |
1 files changed, 17 insertions, 76 deletions
diff --git a/src/gui/kernel/qwindowsysteminterface.h b/src/gui/kernel/qwindowsysteminterface.h index 13a428d837..4fc61a475d 100644 --- a/src/gui/kernel/qwindowsysteminterface.h +++ b/src/gui/kernel/qwindowsysteminterface.h @@ -1,41 +1,5 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the QtGui module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or (at your option) the GNU General -** Public license version 3 or any later version approved by the KDE Free -** Qt Foundation. The licenses are as published by the Free Software -** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-2.0.html and -** https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2020 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QWINDOWSYSTEMINTERFACE_H #define QWINDOWSYSTEMINTERFACE_H @@ -100,31 +64,6 @@ public: Qt::KeyboardModifiers mods = Qt::NoModifier, Qt::MouseEventSource source = Qt::MouseEventNotSynthesized); - static bool handleFrameStrutMouseEvent(QWindow *window, const QPointF &local, - const QPointF &global, Qt::MouseButtons state, - Qt::MouseButton button, QEvent::Type type, - Qt::KeyboardModifiers mods = Qt::NoModifier, - Qt::MouseEventSource source = - Qt::MouseEventNotSynthesized); - static bool handleFrameStrutMouseEvent(QWindow *window, const QPointingDevice *device, - const QPointF &local, const QPointF &global, - Qt::MouseButtons state, - Qt::MouseButton button, QEvent::Type type, - Qt::KeyboardModifiers mods = Qt::NoModifier, - Qt::MouseEventSource source = - Qt::MouseEventNotSynthesized); - static bool handleFrameStrutMouseEvent(QWindow *window, ulong timestamp, const QPointF &local, - const QPointF &global, Qt::MouseButtons state, - Qt::MouseButton button, QEvent::Type type, - Qt::KeyboardModifiers mods = Qt::NoModifier, - Qt::MouseEventSource source = - Qt::MouseEventNotSynthesized); - static bool handleFrameStrutMouseEvent(QWindow *window, ulong timestamp, const QPointingDevice *device, - const QPointF &local, const QPointF &global, Qt::MouseButtons state, - Qt::MouseButton button, QEvent::Type type, - Qt::KeyboardModifiers mods = Qt::NoModifier, - Qt::MouseEventSource source = Qt::MouseEventNotSynthesized); - static bool handleShortcutEvent(QWindow *window, ulong timestamp, int k, Qt::KeyboardModifiers mods, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString & text = QString(), bool autorep = false, ushort count = 1); @@ -137,18 +76,18 @@ public: quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString& text = QString(), bool autorep = false, - ushort count = 1, bool tryShortcutOverride = true); + ushort count = 1); static bool handleExtendedKeyEvent(QWindow *window, ulong timestamp, QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString& text = QString(), bool autorep = false, - ushort count = 1, bool tryShortcutOverride = true); + ushort count = 1); static bool handleExtendedKeyEvent(QWindow *window, ulong timestamp, const QInputDevice *device, QEvent::Type type, int key, Qt::KeyboardModifiers modifiers, quint32 nativeScanCode, quint32 nativeVirtualKey, quint32 nativeModifiers, const QString& text = QString(), bool autorep = false, - ushort count = 1, bool tryShortcutOverride = true); + ushort count = 1); static bool handleWheelEvent(QWindow *window, const QPointF &local, const QPointF &global, QPoint pixelDelta, QPoint angleDelta, Qt::KeyboardModifiers mods = Qt::NoModifier, @@ -218,8 +157,9 @@ public: template<typename Delivery = QWindowSystemInterface::DefaultDelivery> static void handleLeaveEvent(QWindow *window); static void handleEnterLeaveEvent(QWindow *enter, QWindow *leave, const QPointF &local = QPointF(), const QPointF& global = QPointF()); + template<typename Delivery = QWindowSystemInterface::DefaultDelivery> - static void handleWindowActivated(QWindow *window, Qt::FocusReason r = Qt::OtherFocusReason); + static void handleFocusWindowChanged(QWindow *window, Qt::FocusReason r = Qt::OtherFocusReason); template<typename Delivery = QWindowSystemInterface::DefaultDelivery> static void handleWindowStateChanged(QWindow *window, Qt::WindowStates newState, int oldState = -1); @@ -227,6 +167,9 @@ public: static void handleWindowScreenChanged(QWindow *window, QScreen *newScreen); template<typename Delivery = QWindowSystemInterface::DefaultDelivery> + static void handleWindowDevicePixelRatioChanged(QWindow *window); + + template<typename Delivery = QWindowSystemInterface::DefaultDelivery> static void handleSafeAreaMarginsChanged(QWindow *window); template<typename Delivery = QWindowSystemInterface::DefaultDelivery> @@ -244,11 +187,7 @@ public: Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers); #endif // QT_CONFIG(draganddrop) -#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) static bool handleNativeEvent(QWindow *window, const QByteArray &eventType, void *message, qintptr *result); -#else - static bool handleNativeEvent(QWindow *window, const QByteArray &eventType, void *message, long *result); -#endif // Changes to the screen static void handleScreenAdded(QPlatformScreen *screen, bool isPrimary = false); @@ -261,7 +200,7 @@ public: static void handleScreenRefreshRateChange(QScreen *screen, qreal newRefreshRate); template<typename Delivery = QWindowSystemInterface::DefaultDelivery> - static void handleThemeChange(QWindow *window); + static void handleThemeChange(QWindow *window = nullptr); static void handleFileOpenEvent(const QString& fileName); static void handleFileOpenEvent(const QUrl &url); @@ -292,6 +231,8 @@ public: Qt::MouseButtons buttons = {}, int xTilt = 0, int yTilt = 0, qreal tangentialPressure = 0, qreal rotation = 0, int z = 0, Qt::KeyboardModifiers modifiers = Qt::NoModifier); + + // The following 4 functions are deprecated (QTBUG-114560) static bool handleTabletEnterProximityEvent(ulong timestamp, int deviceType, int pointerType, qint64 uid); static void handleTabletEnterProximityEvent(int deviceType, int pointerType, qint64 uid); static bool handleTabletLeaveProximityEvent(ulong timestamp, int deviceType, int pointerType, qint64 uid); @@ -299,11 +240,11 @@ public: #ifndef QT_NO_GESTURES static bool handleGestureEvent(QWindow *window, ulong timestamp, const QPointingDevice *device, Qt::NativeGestureType type, - const QPointF &local, const QPointF &global); + const QPointF &local, const QPointF &global, int fingerCount = 0); static bool handleGestureEventWithRealValue(QWindow *window, ulong timestamp, const QPointingDevice *device, Qt::NativeGestureType type, - qreal value, const QPointF &local, const QPointF &global); - static bool handleGestureEventWithSequenceIdAndValue(QWindow *window, ulong timestamp, const QPointingDevice *device, Qt::NativeGestureType type, - ulong sequenceId, quint64 value, const QPointF &local, const QPointF &global); + qreal value, const QPointF &local, const QPointF &global, int fingerCount = 2); + static bool handleGestureEventWithValueAndDelta(QWindow *window, ulong timestamp, const QPointingDevice *device, Qt::NativeGestureType type, qreal value, + const QPointF &delta, const QPointF &local, const QPointF &global, int fingerCount = 2); #endif // QT_NO_GESTURES static void handlePlatformPanelEvent(QWindow *window); |