aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmousearea.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickmousearea.cpp')
-rw-r--r--src/quick/items/qquickmousearea.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp
index cf6045e45e..b870443bc9 100644
--- a/src/quick/items/qquickmousearea.cpp
+++ b/src/quick/items/qquickmousearea.cpp
@@ -52,6 +52,9 @@
#include <float.h>
QT_BEGIN_NAMESPACE
+
+DEFINE_BOOL_CONFIG_OPTION(qmlVisualTouchDebugging, QML_VISUAL_TOUCH_DEBUGGING)
+
static const int PressAndHoldDelay = 800;
QQuickDrag::QQuickDrag(QObject *parent)
@@ -198,6 +201,9 @@ void QQuickMouseAreaPrivate::init()
Q_Q(QQuickMouseArea);
q->setAcceptedMouseButtons(Qt::LeftButton);
q->setFiltersChildMouseEvents(true);
+ if (qmlVisualTouchDebugging()) {
+ q->setFlag(QQuickItem::ItemHasContents);
+ }
}
void QQuickMouseAreaPrivate::saveEvent(QMouseEvent *event)
@@ -1165,4 +1171,21 @@ QQuickDrag *QQuickMouseArea::drag()
return d->drag;
}
+QSGNode *QQuickMouseArea::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data)
+{
+ Q_UNUSED(data);
+ Q_D(QQuickMouseArea);
+
+ if (!qmlVisualTouchDebugging())
+ return 0;
+
+ QSGRectangleNode *rectangle = static_cast<QSGRectangleNode *>(oldNode);
+ if (!rectangle) rectangle = d->sceneGraphContext()->createRectangleNode();
+
+ rectangle->setRect(QRectF(0, 0, width(), height()));
+ rectangle->setColor(QColor(255, 0, 0, 50));
+ rectangle->update();
+ return rectangle;
+}
+
QT_END_NAMESPACE