#include <float.h>
QT_BEGIN_NAMESPACE
+
+DEFINE_BOOL_CONFIG_OPTION(qmlVisualTouchDebugging, QML_VISUAL_TOUCH_DEBUGGING)
+
static const int PressAndHoldDelay = 800;
QQuickDrag::QQuickDrag(QObject *parent)
Q_Q(QQuickMouseArea);
q->setAcceptedMouseButtons(Qt::LeftButton);
q->setFiltersChildMouseEvents(true);
+ if (qmlVisualTouchDebugging()) {
+ q->setFlag(QQuickItem::ItemHasContents);
+ }
}
void QQuickMouseAreaPrivate::saveEvent(QMouseEvent *event)
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
virtual void geometryChanged(const QRectF &newGeometry,
const QRectF &oldGeometry);
virtual void itemChange(ItemChange change, const ItemChangeData& value);
+ virtual QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *);
private:
void handlePress();
#include "qquickmultipointtoucharea_p.h"
#include <QtQuick/qquickcanvas.h>
+#include <private/qsgadaptationlayer_p.h>
+#include <private/qquickitem_p.h>
#include <QEvent>
#include <QMouseEvent>
#include <math.h>
QT_BEGIN_NAMESPACE
+DEFINE_BOOL_CONFIG_OPTION(qmlVisualTouchDebugging, QML_VISUAL_TOUCH_DEBUGGING)
+
/*!
\qmlclass TouchPoint QQuickTouchPoint
\inqmlmodule QtQuick 2
{
setAcceptedMouseButtons(Qt::LeftButton);
setFiltersChildMouseEvents(true);
+ if (qmlVisualTouchDebugging()) {
+ setFlag(QQuickItem::ItemHasContents);
+ }
}
QQuickMultiPointTouchArea::~QQuickMultiPointTouchArea()
return false;
}
+QSGNode *QQuickMultiPointTouchArea::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data)
+{
+ Q_UNUSED(data);
+
+ if (!qmlVisualTouchDebugging())
+ return 0;
+
+ QSGRectangleNode *rectangle = static_cast<QSGRectangleNode *>(oldNode);
+ if (!rectangle) rectangle = QQuickItemPrivate::get(this)->sceneGraphContext()->createRectangleNode();
+
+ rectangle->setRect(QRectF(0, 0, width(), height()));
+ rectangle->setColor(QColor(255, 0, 0, 50));
+ rectangle->update();
+ return rectangle;
+}
+
QT_END_NAMESPACE
bool sendMouseEvent(QMouseEvent *event);
bool shouldFilter(QEvent *event);
void grabGesture();
+ virtual QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *);
private:
void ungrab();