diff options
author | Antti Määttä <antti.maatta@qt.io> | 2019-02-26 10:12:14 +0200 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2019-03-12 12:11:13 +0000 |
commit | baf98fd6f90d85328b2998f38ec6dcc0139fe58f (patch) | |
tree | 4dcafd95591e82065bc1a5ef55a1b354d73e924a /tests | |
parent | db433e6b7b543a54865c770fd4ca15160e44b2c7 (diff) |
Add manual test for dynamic slide resource loading
Change-Id: If546d18a2dc0bc2f60c5f703b108c081ef8e89b0
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'tests')
15 files changed, 491 insertions, 1 deletions
diff --git a/tests/manual/dynamicloadingapp/dynamicloading/dynamicloading.uia b/tests/manual/dynamicloadingapp/dynamicloading/dynamicloading.uia new file mode 100644 index 0000000..67a2a18 --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/dynamicloading.uia @@ -0,0 +1,15 @@ +<?xml version='1.0' encoding='utf-8'?> +<application xmlns="http://qt.io/qt3dstudio/uia"> + <assets initial="dynamicloading"> + <presentation id="dynamicloading" src="presentations/dynamicloading.uip"/> + </assets> + <statemachine ref="#logic"> + <visual-states> + <state ref="Initial"> + <enter> + <goto-slide rel="next" element="main:Scene"/> + </enter> + </state> + </visual-states> + </statemachine> +</application> diff --git a/tests/manual/dynamicloadingapp/dynamicloading/maps/Abstract_001_COLOR.jpg b/tests/manual/dynamicloadingapp/dynamicloading/maps/Abstract_001_COLOR.jpg Binary files differnew file mode 100644 index 0000000..7fa51e6 --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/maps/Abstract_001_COLOR.jpg diff --git a/tests/manual/dynamicloadingapp/dynamicloading/maps/Blue_Marble_002_COLOR.jpg b/tests/manual/dynamicloadingapp/dynamicloading/maps/Blue_Marble_002_COLOR.jpg Binary files differnew file mode 100644 index 0000000..bd84795 --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/maps/Blue_Marble_002_COLOR.jpg diff --git a/tests/manual/dynamicloadingapp/dynamicloading/maps/Ice_002_COLOR.jpg b/tests/manual/dynamicloadingapp/dynamicloading/maps/Ice_002_COLOR.jpg Binary files differnew file mode 100644 index 0000000..d3d3106 --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/maps/Ice_002_COLOR.jpg diff --git a/tests/manual/dynamicloadingapp/dynamicloading/maps/Moon_001_COLOR.jpg b/tests/manual/dynamicloadingapp/dynamicloading/maps/Moon_001_COLOR.jpg Binary files differnew file mode 100644 index 0000000..9ddd871 --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/maps/Moon_001_COLOR.jpg diff --git a/tests/manual/dynamicloadingapp/dynamicloading/materials/Material.materialdef b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material.materialdef new file mode 100644 index 0000000..9c312b5 --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material.materialdef @@ -0,0 +1,44 @@ +<MaterialData version="1.0"> + <Property name="shaderlighting">Pixel</Property> + <Property name="blendmode">Normal</Property> + <Property name="diffuse">1 1 1</Property> + <Property name="diffusemap"><![CDATA[./maps/Abstract_001_COLOR.jpg]]></Property> + <Property name="specularamount">0</Property> + <Property name="specularroughness">0</Property> + <Property name="opacity">100</Property> + <Property name="emissivecolor">1 1 1</Property> + <Property name="emissivepower">0</Property> + <Property name="bumpamount">0.5</Property> + <Property name="displaceamount">20</Property> + <Property name="translucentfalloff">1</Property> + <Property name="diffuselightwrap">0</Property> + <Property name="specularmodel">Default</Property> + <Property name="speculartint">1 1 1</Property> + <Property name="ior">1.5</Property> + <Property name="fresnelPower">0</Property> + <Property name="vertexcolors">False</Property> + <Property name="sourcepath"></Property> + <Property name="importid"></Property> + <Property name="importfile"></Property> + <Property name="type">Material</Property> + <Property name="name"><![CDATA[materials/Material]]></Property> + <Property name="path"><![CDATA[C:/dev/dynamicloadingapp/dynamicloading/materials/Material.materialdef]]></Property> + <TextureData name="diffusemap"> + <Property name="scaleu">1</Property> + <Property name="scalev">1</Property> + <Property name="mappingmode">UV Mapping</Property> + <Property name="tilingmodehorz">No Tiling</Property> + <Property name="tilingmodevert">No Tiling</Property> + <Property name="rotationuv">0</Property> + <Property name="positionu">0</Property> + <Property name="positionv">0</Property> + <Property name="pivotu">0</Property> + <Property name="pivotv">0</Property> + <Property name="subpresentation"></Property> + <Property name="sourcepath"><![CDATA[./maps/Abstract_001_COLOR.jpg]]></Property> + <Property name="importid"></Property> + <Property name="importfile"></Property> + <Property name="type">Image</Property> + <Property name="name"><![CDATA[Image]]></Property> + </TextureData> +</MaterialData>
\ No newline at end of file diff --git a/tests/manual/dynamicloadingapp/dynamicloading/materials/Material2.materialdef b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material2.materialdef new file mode 100644 index 0000000..1e46acf --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material2.materialdef @@ -0,0 +1,44 @@ +<MaterialData version="1.0"> + <Property name="shaderlighting">Pixel</Property> + <Property name="blendmode">Normal</Property> + <Property name="diffuse">1 1 1</Property> + <Property name="diffusemap"><![CDATA[./maps/Blue_Marble_002_COLOR.jpg]]></Property> + <Property name="specularamount">0</Property> + <Property name="specularroughness">0</Property> + <Property name="opacity">100</Property> + <Property name="emissivecolor">1 1 1</Property> + <Property name="emissivepower">0</Property> + <Property name="bumpamount">0.5</Property> + <Property name="displaceamount">20</Property> + <Property name="translucentfalloff">1</Property> + <Property name="diffuselightwrap">0</Property> + <Property name="specularmodel">Default</Property> + <Property name="speculartint">1 1 1</Property> + <Property name="ior">1.5</Property> + <Property name="fresnelPower">0</Property> + <Property name="vertexcolors">False</Property> + <Property name="sourcepath"></Property> + <Property name="importid"></Property> + <Property name="importfile"></Property> + <Property name="type">Material</Property> + <Property name="name"><![CDATA[materials/Material2]]></Property> + <Property name="path"><![CDATA[C:/dev/dynamicloadingapp/dynamicloading/materials/Material2.materialdef]]></Property> + <TextureData name="diffusemap"> + <Property name="scaleu">1</Property> + <Property name="scalev">1</Property> + <Property name="mappingmode">UV Mapping</Property> + <Property name="tilingmodehorz">No Tiling</Property> + <Property name="tilingmodevert">No Tiling</Property> + <Property name="rotationuv">0</Property> + <Property name="positionu">0</Property> + <Property name="positionv">0</Property> + <Property name="pivotu">0</Property> + <Property name="pivotv">0</Property> + <Property name="subpresentation"></Property> + <Property name="sourcepath"><![CDATA[./maps/Blue_Marble_002_COLOR.jpg]]></Property> + <Property name="importid"></Property> + <Property name="importfile"></Property> + <Property name="type">Image</Property> + <Property name="name"><![CDATA[Image]]></Property> + </TextureData> +</MaterialData>
\ No newline at end of file diff --git a/tests/manual/dynamicloadingapp/dynamicloading/materials/Material3.materialdef b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material3.materialdef new file mode 100644 index 0000000..93e8ef9 --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material3.materialdef @@ -0,0 +1,44 @@ +<MaterialData version="1.0"> + <Property name="shaderlighting">Pixel</Property> + <Property name="blendmode">Normal</Property> + <Property name="diffuse">1 1 1</Property> + <Property name="diffusemap"><![CDATA[./maps/Ice_002_COLOR.jpg]]></Property> + <Property name="specularamount">0</Property> + <Property name="specularroughness">0</Property> + <Property name="opacity">100</Property> + <Property name="emissivecolor">1 1 1</Property> + <Property name="emissivepower">0</Property> + <Property name="bumpamount">0.5</Property> + <Property name="displaceamount">20</Property> + <Property name="translucentfalloff">1</Property> + <Property name="diffuselightwrap">0</Property> + <Property name="specularmodel">Default</Property> + <Property name="speculartint">1 1 1</Property> + <Property name="ior">1.5</Property> + <Property name="fresnelPower">0</Property> + <Property name="vertexcolors">False</Property> + <Property name="sourcepath"></Property> + <Property name="importid"></Property> + <Property name="importfile"></Property> + <Property name="type">Material</Property> + <Property name="name"><![CDATA[materials/Material3]]></Property> + <Property name="path"><![CDATA[C:/dev/dynamicloadingapp/dynamicloading/materials/Material3.materialdef]]></Property> + <TextureData name="diffusemap"> + <Property name="scaleu">1</Property> + <Property name="scalev">1</Property> + <Property name="mappingmode">UV Mapping</Property> + <Property name="tilingmodehorz">No Tiling</Property> + <Property name="tilingmodevert">No Tiling</Property> + <Property name="rotationuv">0</Property> + <Property name="positionu">0</Property> + <Property name="positionv">0</Property> + <Property name="pivotu">0</Property> + <Property name="pivotv">0</Property> + <Property name="subpresentation"></Property> + <Property name="sourcepath"><![CDATA[./maps/Ice_002_COLOR.jpg]]></Property> + <Property name="importid"></Property> + <Property name="importfile"></Property> + <Property name="type">Image</Property> + <Property name="name"><![CDATA[Image]]></Property> + </TextureData> +</MaterialData>
\ No newline at end of file diff --git a/tests/manual/dynamicloadingapp/dynamicloading/materials/Material4.materialdef b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material4.materialdef new file mode 100644 index 0000000..be318da --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/materials/Material4.materialdef @@ -0,0 +1,44 @@ +<MaterialData version="1.0"> + <Property name="shaderlighting">Pixel</Property> + <Property name="blendmode">Normal</Property> + <Property name="diffuse">1 1 1</Property> + <Property name="diffusemap"><![CDATA[./maps/Moon_001_COLOR.jpg]]></Property> + <Property name="specularamount">0</Property> + <Property name="specularroughness">0</Property> + <Property name="opacity">100</Property> + <Property name="emissivecolor">1 1 1</Property> + <Property name="emissivepower">0</Property> + <Property name="bumpamount">0.5</Property> + <Property name="displaceamount">20</Property> + <Property name="translucentfalloff">1</Property> + <Property name="diffuselightwrap">0</Property> + <Property name="specularmodel">Default</Property> + <Property name="speculartint">1 1 1</Property> + <Property name="ior">1.5</Property> + <Property name="fresnelPower">0</Property> + <Property name="vertexcolors">False</Property> + <Property name="sourcepath"></Property> + <Property name="importid"></Property> + <Property name="importfile"></Property> + <Property name="type">Material</Property> + <Property name="name"><![CDATA[materials/Material4]]></Property> + <Property name="path"><![CDATA[C:/dev/dynamicloadingapp/dynamicloading/materials/Material4.materialdef]]></Property> + <TextureData name="diffusemap"> + <Property name="scaleu">1</Property> + <Property name="scalev">1</Property> + <Property name="mappingmode">UV Mapping</Property> + <Property name="tilingmodehorz">No Tiling</Property> + <Property name="tilingmodevert">No Tiling</Property> + <Property name="rotationuv">0</Property> + <Property name="positionu">0</Property> + <Property name="positionv">0</Property> + <Property name="pivotu">0</Property> + <Property name="pivotv">0</Property> + <Property name="subpresentation"></Property> + <Property name="sourcepath"><![CDATA[./maps/Moon_001_COLOR.jpg]]></Property> + <Property name="importid"></Property> + <Property name="importfile"></Property> + <Property name="type">Image</Property> + <Property name="name"><![CDATA[Image]]></Property> + </TextureData> +</MaterialData>
\ No newline at end of file diff --git a/tests/manual/dynamicloadingapp/dynamicloading/presentations/dynamicloading.uip b/tests/manual/dynamicloadingapp/dynamicloading/presentations/dynamicloading.uip new file mode 100644 index 0000000..1f9e93b --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloading/presentations/dynamicloading.uip @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<UIP version="5" > + <Project > + <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="600" maintainAspect="False" preferKtx="False" > + <CustomColors count="16" >#ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff</CustomColors> + </ProjectSettings> + <Graph > + <Scene id="Scene" > + <Layer id="Layer" variants="" > + <Camera id="Camera" /> + <Light id="Light" /> + <Model id="Rectangle" > + <ReferencedMaterial id="Material" name="Default" /> + </Model> + <Model id="Rectangle2" > + <ReferencedMaterial id="Material2" name="Default" /> + </Model> + <Model id="Rectangle3" > + <ReferencedMaterial id="Material3" name="Default" /> + </Model> + <Model id="Rectangle4" > + <ReferencedMaterial id="Material4" name="Default" /> + </Model> + </Layer> + <Material id="__Container" > + <Material id="materials/Material" > + <Image id="materials/Material_diffusemap" /> + </Material> + <Material id="materials/Material2" > + <Image id="materials/Material2_diffusemap" /> + </Material> + <Material id="materials/Material3" > + <Image id="materials/Material3_diffusemap" /> + </Material> + <Material id="materials/Material4" > + <Image id="materials/Material4_diffusemap" /> + </Material> + </Material> + </Scene> + </Graph> + <Logic > + <State name="Master Slide" component="#Scene" > + <Add ref="#Layer" /> + <Add ref="#Camera" /> + <Add ref="#Light" /> + <Add ref="#__Container" name="__Container" /> + <Add ref="#materials/Material" name="materials/Material" diffusemap="#materials/Material_diffusemap" importid="" /> + <Add ref="#materials/Material2" name="materials/Material2" diffusemap="#materials/Material2_diffusemap" importid="" /> + <Add ref="#materials/Material3" name="materials/Material3" diffusemap="#materials/Material3_diffusemap" importid="" /> + <Add ref="#materials/Material4" name="materials/Material4" diffusemap="#materials/Material4_diffusemap" importid="" /> + <State id="Scene-Slide1" name="Slide1" playmode="Play Through To..." > + <Set ref="#Layer" endtime="2000" /> + <Set ref="#Camera" endtime="2000" /> + <Set ref="#Light" endtime="2000" /> + <Add ref="#Rectangle" name="Rectangle" endtime="2000" scale="6.11742 5.19718 1" sourcepath="#Rectangle" /> + <Add ref="#Material" name="Material" endtime="2000" referencedmaterial="#materials/Material" sourcepath="../materials/Material.materialdef" /> + <Add ref="#materials/Material_diffusemap" importid="" sourcepath="../maps/Abstract_001_COLOR.jpg" subpresentation="" /> + </State> + <State id="Scene-Slide2" name="Slide2" playmode="Play Through To..." playthroughto="Next" > + <Set ref="#Layer" endtime="2000" /> + <Set ref="#Camera" endtime="5000" /> + <Set ref="#Light" endtime="2000" /> + <Add ref="#Rectangle2" name="Rectangle2" endtime="2000" scale="6.11742 5.19718 1" sourcepath="#Rectangle" /> + <Add ref="#Material2" name="Material2" endtime="2000" referencedmaterial="#materials/Material2" sourcepath="../materials/Material2.materialdef" /> + <Add ref="#materials/Material2_diffusemap" importid="" sourcepath="../maps/Blue_Marble_002_COLOR.jpg" subpresentation="" /> + </State> + <State id="Scene-Slide3" name="Slide3" playmode="Play Through To..." playthroughto="Next" > + <Set ref="#Layer" endtime="2000" /> + <Set ref="#Camera" endtime="2000" /> + <Set ref="#Light" endtime="2000" /> + <Add ref="#Rectangle3" name="Rectangle3" endtime="2000" scale="6.11742 5.19718 1" sourcepath="#Rectangle" /> + <Add ref="#Material3" name="Material3" endtime="2000" referencedmaterial="#materials/Material3" sourcepath="../materials/Material3.materialdef" /> + <Add ref="#materials/Material3_diffusemap" importid="" sourcepath="../maps/Ice_002_COLOR.jpg" subpresentation="" /> + </State> + <State id="Scene-Slide4" name="Slide4" playmode="Play Through To..." playthroughto="#Scene-Slide1" > + <Set ref="#Layer" endtime="2000" /> + <Set ref="#Camera" endtime="2000" /> + <Set ref="#Light" endtime="2000" /> + <Add ref="#Rectangle4" name="Rectangle4" endtime="2000" scale="6.11742 5.19718 1" sourcepath="#Rectangle" /> + <Add ref="#Material4" name="Material4" endtime="2000" referencedmaterial="#materials/Material4" sourcepath="../materials/Material4.materialdef" /> + <Add ref="#materials/Material4_diffusemap" importid="" sourcepath="../maps/Moon_001_COLOR.jpg" subpresentation="" /> + </State> + </State> + </Logic> + </Project> +</UIP> diff --git a/tests/manual/dynamicloadingapp/dynamicloadingapp.pro b/tests/manual/dynamicloadingapp/dynamicloadingapp.pro new file mode 100644 index 0000000..6c114af --- /dev/null +++ b/tests/manual/dynamicloadingapp/dynamicloadingapp.pro @@ -0,0 +1,29 @@ +QT += quick widgets qml 3dstudioruntime2 +CONFIG += c++11 + +# The following define makes your compiler emit warnings if you use +# any Qt feature that has been marked deprecated (the exact warnings +# depend on your compiler). Refer to the documentation for the +# deprecated API to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + main.cpp + +RESOURCES += qml.qrc + +# Additional import path used to resolve QML modules in Qt Creator's code model +QML_IMPORT_PATH = + +# Additional import path used to resolve QML modules just for Qt Quick Designer +QML_DESIGNER_IMPORT_PATH = + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /opt/$${TARGET}/bin +!isEmpty(target.path): INSTALLS += target diff --git a/tests/manual/dynamicloadingapp/main.cpp b/tests/manual/dynamicloadingapp/main.cpp new file mode 100644 index 0000000..713595f --- /dev/null +++ b/tests/manual/dynamicloadingapp/main.cpp @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <QtWidgets/QApplication> +#include <QtQuick/QQuickView> +#include <q3dsruntimeglobal.h> +#include "q3dsdatainput.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + QSurfaceFormat::setDefaultFormat(Q3DS::surfaceFormat()); + QQuickView viewer; + viewer.setSource(QUrl("qrc:/main.qml")); + + viewer.setTitle(QStringLiteral("Qt 3D Studio Example")); + viewer.setResizeMode(QQuickView::SizeRootObjectToView); + viewer.resize(1280, 720); + viewer.show(); + + return app.exec(); +} diff --git a/tests/manual/dynamicloadingapp/main.qml b/tests/manual/dynamicloadingapp/main.qml new file mode 100644 index 0000000..2c91968 --- /dev/null +++ b/tests/manual/dynamicloadingapp/main.qml @@ -0,0 +1,98 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt 3D Studio. +** +** $QT_BEGIN_LICENSE:BSD$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** BSD License Usage +** Alternatively, you may use this file under the terms of the BSD license +** as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of The Qt Company Ltd nor the names of its +** contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 2.7 +import QtStudio3D 2.0 + +Item { + id: mainview + width: 1280 + height: 768 + visible: true + + Studio3D { + id: studio3D + anchors.fill: parent + height: 900 + width: 1280 + + Presentation { + property string slide1 : "Slide1" + property string slide2 : "Slide2" + property string slide3 : "Slide3" + property string slide4 : "Slide4" + id: presentation + profilingEnabled: true + source: "qrc:/dynamicloading/dynamicloading.uia" + + onSlideEntered: { + var slideName = name + var slideIndex = index + var slidePath = elementPath + + console.log("Entered: " + name) + + if (slideName === "Slide1") + preloadSlide(slide2) + else if (slideName === "Slide2") + preloadSlide(slide3) + else if (slideName === "Slide3") + preloadSlide(slide4) + else if (slideName === "Slide4") + preloadSlide(slide1) + } + + onSlideExited: { + console.log("Exited: " + name) + unloadSlide(name) + } + } + } +} diff --git a/tests/manual/dynamicloadingapp/qml.qrc b/tests/manual/dynamicloadingapp/qml.qrc new file mode 100644 index 0000000..7fc37fa --- /dev/null +++ b/tests/manual/dynamicloadingapp/qml.qrc @@ -0,0 +1,16 @@ +<RCC> + <qresource prefix="/"> + <file>main.qml</file> + <file>dynamicloading/maps/Abstract_001_COLOR.jpg</file> + <file>dynamicloading/maps/Blue_Marble_002_COLOR.jpg</file> + <file>dynamicloading/maps/Ice_002_COLOR.jpg</file> + <file>dynamicloading/maps/Moon_001_COLOR.jpg</file> + <file>dynamicloading/materials/Material.materialdef</file> + <file>dynamicloading/materials/Material2.materialdef</file> + <file>dynamicloading/materials/Material3.materialdef</file> + <file>dynamicloading/materials/Material4.materialdef</file> + <file>dynamicloading/presentations/dynamicloading.uip</file> + <file>dynamicloading/dynamicloading.uia</file> + <file>main.cpp</file> + </qresource> +</RCC> diff --git a/tests/manual/manual.pro b/tests/manual/manual.pro index 234578b..36adbb5 100644 --- a/tests/manual/manual.pro +++ b/tests/manual/manual.pro @@ -9,5 +9,6 @@ qtHaveModule(quick) { SUBDIRS += \ qml3dapi \ pureqml3d \ - manylayersinquick + manylayersinquick \ + dynamicloadingapp } |