50QWaylandMouseTracker::QWaylandMouseTracker(QQuickItem *parent)
51 : QQuickItem(*(
new QWaylandMouseTrackerPrivate), parent)
53 Q_D(QWaylandMouseTracker);
54 setFiltersChildMouseEvents(
true);
55 setAcceptHoverEvents(
true);
56 setAcceptedMouseButtons(Qt::AllButtons);
58 setCursor(QCursor(d->cursorPixmap));
73void QWaylandMouseTracker::setWindowSystemCursorEnabled(
bool enable)
75 Q_D(QWaylandMouseTracker);
76 if (d->windowSystemCursorEnabled != enable) {
77 d->windowSystemCursorEnabled = enable;
82 setCursor(QCursor(d->cursorPixmap));
85 emit windowSystemCursorEnabledChanged();
101bool QWaylandMouseTracker::childMouseEventFilter(QQuickItem *item, QEvent *event)
103 Q_D(QWaylandMouseTracker);
104 if (event->type() == QEvent::MouseMove) {
105 QMouseEvent *mouseEvent =
static_cast<QMouseEvent *>(event);
106 d->handleMousePos(mapFromItem(item, mouseEvent->position()));
107 }
else if (event->type() == QEvent::HoverMove) {
108 QHoverEvent *hoverEvent =
static_cast<QHoverEvent *>(event);
109 d->handleMousePos(mapFromItem(item, hoverEvent->position()));