summaryrefslogtreecommitdiffstats
path: root/src/Runtime/api/studio3d/q3dssurfaceviewer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/api/studio3d/q3dssurfaceviewer.cpp')
-rw-r--r--src/Runtime/api/studio3d/q3dssurfaceviewer.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/Runtime/api/studio3d/q3dssurfaceviewer.cpp b/src/Runtime/api/studio3d/q3dssurfaceviewer.cpp
index fc90e341..7fe2bfa9 100644
--- a/src/Runtime/api/studio3d/q3dssurfaceviewer.cpp
+++ b/src/Runtime/api/studio3d/q3dssurfaceviewer.cpp
@@ -341,6 +341,18 @@ QImage Q3DSSurfaceViewerPrivate::grab(const QRect &rect)
return image;
}
+QQmlEngine *Q3DSSurfaceViewer::qmlEngine() const
+{
+ Q_D(const Q3DSSurfaceViewer);
+ return d->qmlEngine;
+}
+
+void Q3DSSurfaceViewer::setQmlEngine(QQmlEngine *qmlEngine)
+{
+ Q_D(Q3DSSurfaceViewer);
+ d->qmlEngine = qmlEngine;
+}
+
bool Q3DSSurfaceViewerPrivate::eventFilter(QObject *obj, QEvent *e)
{
if (m_surface && e->type() == QEvent::PlatformSurface) {
@@ -371,6 +383,9 @@ bool Q3DSSurfaceViewerPrivate::initializeRuntime()
if (m_autoSize)
m_size = m_surface->size();
+ if (nullptr != qmlEngine)
+ m_presentation->d_ptr->streamProxy()->setEngine(qmlEngine);
+
if (!m_viewerApp->InitializeApp(int(m_size.width() * m_pixelRatio),
int(m_size.height() * m_pixelRatio),
m_context->format(), m_fboId, localSource,