aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2020-06-17 15:54:41 +0300
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2020-06-25 08:07:41 +0000
commit60ff6b65778244543ee5b5b7a7d974bd772854f4 (patch)
tree431e019da0f844f91547cadfad3e959e13f4df68 /share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp
parentc6b9a03b3925522e8ba06005bbd545ece99cff11 (diff)
QmlDesigner: Improve usage of QML items as quick3d textures
Quick3D Texture elements require some window signals to show QML item as texture, so we fake them to make textures appear in form editor and state preview. To prevent texture mirroring, flipV value is force set at proxy creation. To keep state preview up to date, we trigger multiple render passes if there are any QML items used as texture sources in quick3D textures. Task-number: QDS-2290 Change-Id: I16c34aad943213c0b737fdb073333be3bbd40f2d Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp
index 0c9f5721a5..96f4c30ba3 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp
@@ -40,6 +40,7 @@
#include "quickitemnodeinstance.h"
#include "quick3dnodeinstance.h"
+#include "quick3dtexturenodeinstance.h"
#include "nodeinstanceserver.h"
#include "instancecontainer.h"
@@ -176,6 +177,8 @@ Internal::ObjectNodeInstance::Pointer ServerNodeInstance::createInstance(QObject
instance = Internal::LayoutNodeInstance::create(objectToBeWrapped);
else if (isSubclassOf(objectToBeWrapped, "QQuickItem"))
instance = Internal::QuickItemNodeInstance::create(objectToBeWrapped);
+ else if (isSubclassOf(objectToBeWrapped, "QQuick3DTexture"))
+ instance = Internal::Quick3DTextureNodeInstance::create(objectToBeWrapped);
else if (isSubclassOf(objectToBeWrapped, "QQuick3DNode"))
instance = Internal::Quick3DNodeInstance::create(objectToBeWrapped);
else if (isSubclassOf(objectToBeWrapped, "QQmlComponent"))