aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickevents_p_p.h
diff options
context:
space:
mode:
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;