20void QWaylandQuickOutput::initialize()
22 QWindow *win = window();
24 QWaylandOutputMode mode(win->size() * win->devicePixelRatio(),
25 qFloor(win->screen()->refreshRate() * 1000));
32 QWaylandOutput::initialize();
34 QQuickWindow *quickWindow = qobject_cast<QQuickWindow *>(win);
36 qWarning(
"Initialization error: Could not locate QQuickWindow on initializing QWaylandQuickOutput %p.\n",
this);
39 connect(quickWindow, &QQuickWindow::beforeSynchronizing,
40 this, &QWaylandQuickOutput::updateStarted,
41 Qt::DirectConnection);
43 connect(quickWindow, &QQuickWindow::afterRendering,
44 this, &QWaylandQuickOutput::doFrameCallbacks);
108 if (!rootItem->isEnabled() || !rootItem->isVisible())
111 QList<QQuickItem *> paintOrderItems = QQuickItemPrivate::get(rootItem)->paintOrderChildItems();
112 auto negativeZStart = paintOrderItems.crend();
113 for (
auto it = paintOrderItems.crbegin(); it != paintOrderItems.crend(); ++it) {
114 if ((*it)->z() < 0) {
118 QQuickItem *item = clickableItemAtPosition(*it, rootItem->mapToItem(*it, position));
123 if (rootItem->contains(position) && rootItem->acceptedMouseButtons() != Qt::NoButton)
126 for (
auto it = negativeZStart; it != paintOrderItems.crend(); ++it) {
127 QQuickItem *item = clickableItemAtPosition(*it, rootItem->mapToItem(*it, position));