diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2016-11-29 14:50:05 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-02-10 13:04:47 +0000 |
commit | 50aaca40fe09a3ab6c927f7a550b2e97cf332a9c (patch) | |
tree | 9353a10e848499b14ff8ae0254cbfde67dbce721 /src/quick/items/qquickevents_p_p.h | |
parent | 02f430462b4e9256b6ae021e3d415c0d2180404d (diff) |
start making explicit exclusive or passive grabs
Change-Id: I4a6e3c72d69e893fec2e39f4faab24af6d00c7e0
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
Diffstat (limited to 'src/quick/items/qquickevents_p_p.h')
-rw-r--r-- | src/quick/items/qquickevents_p_p.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/quick/items/qquickevents_p_p.h b/src/quick/items/qquickevents_p_p.h index 1751e366b2..5386eacad9 100644 --- a/src/quick/items/qquickevents_p_p.h +++ b/src/quick/items/qquickevents_p_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtQuick module of the Qt Toolkit. @@ -302,9 +302,15 @@ public: void setGrabberItem(QQuickItem *grabber); QQuickPointerHandler *grabberPointerHandler() const; - void setGrabberPointerHandler(QQuickPointerHandler *grabber); + void setGrabberPointerHandler(QQuickPointerHandler *grabber, bool exclusive = false); - Q_INVOKABLE void cancelGrab(); + Q_INVOKABLE void cancelExclusiveGrab(); + Q_INVOKABLE void cancelPassiveGrab(QQuickPointerHandler *handler); + void cancelAllGrabs(QQuickPointerHandler *handler); + + QVector<QPointer <QQuickPointerHandler> > passiveGrabbers() const { return m_passiveGrabbers; } + void setPassiveGrabbers(const QVector<QPointer <QQuickPointerHandler> > &grabbers) { m_passiveGrabbers = grabbers; } + void clearPassiveGrabbers() { m_passiveGrabbers.clear(); } private: QVector2D estimatedVelocity() const; @@ -316,7 +322,8 @@ private: QPointF m_sceneGrabPos; QVector2D m_velocity; quint64 m_pointId; - QPointer<QObject> m_grabber; + QPointer<QObject> m_exclusiveGrabber; + QVector<QPointer <QQuickPointerHandler> > m_passiveGrabbers; ulong m_timestamp; ulong m_pressTimestamp; State m_state; |