diff options
Diffstat (limited to 'src/quick/items/qquickmousearea.cpp')
-rw-r--r-- | src/quick/items/qquickmousearea.cpp | 23 |
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 |