aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickevents_p_p.h
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@qt.io>2016-11-29 14:50:05 +0100
committerShawn Rutledge <shawn.rutledge@qt.io>2017-02-10 13:04:47 +0000
commit50aaca40fe09a3ab6c927f7a550b2e97cf332a9c (patch)
tree9353a10e848499b14ff8ae0254cbfde67dbce721 /src/quick/items/qquickevents_p_p.h
parent02f430462b4e9256b6ae021e3d415c0d2180404d (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.h15
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;