aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickevents.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickevents.cpp')
-rw-r--r--src/quick/items/qquickevents.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/quick/items/qquickevents.cpp b/src/quick/items/qquickevents.cpp
index 0c18cb4104..a68e72b0b7 100644
--- a/src/quick/items/qquickevents.cpp
+++ b/src/quick/items/qquickevents.cpp
@@ -835,6 +835,11 @@ bool QQuickPointerMouseEvent::allPointsAccepted() const {
return m_mousePoint->isAccepted();
}
+bool QQuickPointerMouseEvent::allPointsGrabbed() const
+{
+ return m_mousePoint->grabber() != nullptr;
+}
+
QMouseEvent *QQuickPointerMouseEvent::asMouseEvent(const QPointF &localPos) const
{
auto event = static_cast<QMouseEvent *>(m_event);
@@ -854,6 +859,11 @@ void QQuickPointerMouseEvent::clearGrabbers() const {
m_mousePoint->setGrabberItem(nullptr);
}
+bool QQuickPointerMouseEvent::hasGrabber(const QQuickPointerHandler *handler) const
+{
+ return m_mousePoint->grabber() == handler;
+}
+
bool QQuickPointerMouseEvent::isPressEvent() const
{
auto me = static_cast<QMouseEvent*>(m_event);
@@ -869,6 +879,15 @@ bool QQuickPointerTouchEvent::allPointsAccepted() const {
return true;
}
+bool QQuickPointerTouchEvent::allPointsGrabbed() const
+{
+ for (int i = 0; i < m_pointCount; ++i) {
+ if (!m_touchPoints.at(i)->grabber())
+ return false;
+ }
+ return true;
+}
+
QVector<QObject *> QQuickPointerTouchEvent::grabbers() const
{
QVector<QObject *> result;
@@ -887,6 +906,14 @@ void QQuickPointerTouchEvent::clearGrabbers() const {
point->setGrabber(nullptr);
}
+bool QQuickPointerTouchEvent::hasGrabber(const QQuickPointerHandler *handler) const
+{
+ for (auto point: m_touchPoints)
+ if (point->grabber() == handler)
+ return true;
+ return false;
+}
+
bool QQuickPointerTouchEvent::isPressEvent() const
{
return static_cast<QTouchEvent*>(m_event)->touchPointStates() & Qt::TouchPointPressed;