diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2019-10-15 09:40:09 +0200 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2019-10-15 10:00:08 +0200 |
commit | 0ff2215bb0ea479a9de3e87d2cee27454c1bbda5 (patch) | |
tree | 946178a0625dd940fcbf1d784f7fe731f91ac528 /src/quick3d | |
parent | 0ce9f6a41571a938dde47f7f068d7fce76288813 (diff) | |
parent | 7339e9ae93df3720e1b936dd027d821105020bc4 (diff) |
Merge "Merge remote-tracking branch 'origin/5.13' into 5.14"
Diffstat (limited to 'src/quick3d')
-rw-r--r-- | src/quick3d/imports/scene3d/scene3ditem.cpp | 4 | ||||
-rw-r--r-- | src/quick3d/quick3dextras/qt3dquickwindow.cpp | 3 | ||||
-rw-r--r-- | src/quick3d/quick3dscene2d/items/qscene2d.cpp | 4 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/quick3d/imports/scene3d/scene3ditem.cpp b/src/quick3d/imports/scene3d/scene3ditem.cpp index 098cab032..02e8447c7 100644 --- a/src/quick3d/imports/scene3d/scene3ditem.cpp +++ b/src/quick3d/imports/scene3d/scene3ditem.cpp @@ -529,6 +529,7 @@ void Scene3DItem::setWindowSurface(QObject *rootObject) m_dummySurface = new QOffscreenSurface; m_dummySurface->setParent(qGuiApp); // parent to something suitably long-living m_dummySurface->setFormat(rw->format()); + m_dummySurface->setScreen(rw->screen()); m_dummySurface->create(); surfaceSelector->setSurface(m_dummySurface); } else { @@ -616,6 +617,9 @@ QSGNode *Scene3DItem::updatePaintNode(QSGNode *node, QQuickItem::UpdatePaintNode // If the render aspect wasn't created yet, do so now if (m_renderAspect == nullptr) { m_renderAspect = new QRenderAspect(QRenderAspect::Synchronous); + auto *rw = QQuickRenderControl::renderWindowFor(window()); + static_cast<Qt3DRender::QRenderAspectPrivate *>(Qt3DRender::QRenderAspectPrivate::get(m_renderAspect))->m_screen = + (rw ? rw->screen() : window()->screen()); m_aspectEngine->registerAspect(m_renderAspect); // Before Synchronizing is in the SG Thread, we want beforeSync to be triggered diff --git a/src/quick3d/quick3dextras/qt3dquickwindow.cpp b/src/quick3d/quick3dextras/qt3dquickwindow.cpp index bc4bb25ee..d67dfdc71 100644 --- a/src/quick3d/quick3dextras/qt3dquickwindow.cpp +++ b/src/quick3d/quick3dextras/qt3dquickwindow.cpp @@ -66,6 +66,7 @@ #include <Qt3DQuickExtras/private/qt3dquickwindowlogging_p.h> #include <Qt3DRender/private/qrendersurfaceselector_p.h> +#include <Qt3DRender/private/qrenderaspect_p.h> QT_BEGIN_NAMESPACE @@ -132,6 +133,8 @@ Qt3DQuickWindow::Qt3DQuickWindow(QWindow *parent) QSurfaceFormat::setDefaultFormat(format); d->m_renderAspect = new Qt3DRender::QRenderAspect; + if (parent && parent->screen()) + static_cast<Qt3DRender::QRenderAspectPrivate*>(Qt3DRender::QRenderAspectPrivate::get(d->m_renderAspect))->m_screen = parent->screen(); d->m_inputAspect = new Qt3DInput::QInputAspect; d->m_logicAspect = new Qt3DLogic::QLogicAspect; d->m_engine = new Qt3DCore::Quick::QQmlAspectEngine; diff --git a/src/quick3d/quick3dscene2d/items/qscene2d.cpp b/src/quick3d/quick3dscene2d/items/qscene2d.cpp index 8cabb7541..cbdc83e7d 100644 --- a/src/quick3d/quick3dscene2d/items/qscene2d.cpp +++ b/src/quick3d/quick3dscene2d/items/qscene2d.cpp @@ -68,6 +68,8 @@ namespace Quick { with the item; if an entity has a QObjectPicker component, the pick events from that picker are sent to the QScene2D and converted to mouse events and finally sent to the item. + \note Only mouse events are supported. The item does not support keyboard input. + \since 5.9 */ @@ -89,6 +91,8 @@ namespace Quick { with the item; if an entity has an ObjectPicker component, the pick events from that picker are sent to the Scene2D and converted to mouse events and finally sent to the item. + \note Only mouse events are supported. The item does not support keyboard input. + Usage: \qml Entity { |