summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2019-10-11 14:03:41 +0100
committerMike Krus <mike.krus@kdab.com>2019-10-14 19:56:15 +0100
commite8ef2e3e75278f18abe977927393c819d3880618 (patch)
treed0ca0e602272b9e1443e1e85a7cd6be8ad25b2d6 /tests
parentfd85ebb1e24d48ffdff0659810a1830691bba89f (diff)
Update QScene2D to use direct sync
Change-Id: Iba2fa5ce9d295706fc50f904cac68f00bd8f02b7 Reviewed-by: Antti Määttä <antti.maatta@qt.io> Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/render/scene2d/tst_scene2d.cpp62
1 files changed, 33 insertions, 29 deletions
diff --git a/tests/auto/render/scene2d/tst_scene2d.cpp b/tests/auto/render/scene2d/tst_scene2d.cpp
index f620064ed..fcb4c0908 100644
--- a/tests/auto/render/scene2d/tst_scene2d.cpp
+++ b/tests/auto/render/scene2d/tst_scene2d.cpp
@@ -128,7 +128,7 @@ private Q_SLOTS:
// WHEN
QScopedPointer<Scene2D> backendScene2d(new Scene2D());
backendScene2d->setRenderer(&renderer);
- simulateInitialization(&frontend, backendScene2d.data());
+ simulateInitializationSync(&frontend, backendScene2d.data());
// THEN
QCOMPARE(backendScene2d->isEnabled(), true);
@@ -144,7 +144,7 @@ private Q_SLOTS:
QScopedPointer<Scene2D> backendScene2d(new Scene2D());
frontend.setEnabled(false);
backendScene2d->setRenderer(&renderer);
- simulateInitialization(&frontend, backendScene2d.data());
+ simulateInitializationSync(&frontend, backendScene2d.data());
// THEN
QCOMPARE(backendScene2d->peerId(), frontend.id());
@@ -156,18 +156,18 @@ private Q_SLOTS:
void checkSceneChangeEvents()
{
// GIVEN
+ Qt3DRender::Quick::QScene2D frontend;
QScopedPointer<Scene2D> backendScene2d(new Scene2D());
TestRenderer renderer;
QScopedPointer<Qt3DRender::QRenderTargetOutput> output(new Qt3DRender::QRenderTargetOutput());
backendScene2d->setRenderer(&renderer);
+ simulateInitializationSync(&frontend, backendScene2d.data());
{
// WHEN
const bool newValue = false;
- const auto change = Qt3DCore::QPropertyUpdatedChangePtr::create(Qt3DCore::QNodeId());
- change->setPropertyName("enabled");
- change->setValue(newValue);
- backendScene2d->sceneChangeEvent(change);
+ frontend.setEnabled(false);
+ backendScene2d->syncFromFrontEnd(&frontend, false);
// THEN
QCOMPARE(backendScene2d->isEnabled(), newValue);
@@ -175,10 +175,8 @@ private Q_SLOTS:
{
// WHEN
const Qt3DCore::QNodeId newValue = output.data()->id();
- const auto change = Qt3DCore::QPropertyUpdatedChangePtr::create(Qt3DCore::QNodeId());
- change->setPropertyName("output");
- change->setValue(QVariant::fromValue(newValue));
- backendScene2d->sceneChangeEvent(change);
+ frontend.setOutput(output.data());
+ backendScene2d->syncFromFrontEnd(&frontend, false);
// THEN
QCOMPARE(backendScene2d->m_outputId, newValue);
@@ -186,10 +184,8 @@ private Q_SLOTS:
{
// WHEN
const QScene2D::RenderPolicy newValue = QScene2D::SingleShot;
- const auto change = Qt3DCore::QPropertyUpdatedChangePtr::create(Qt3DCore::QNodeId());
- change->setPropertyName("renderPolicy");
- change->setValue(QVariant::fromValue(newValue));
- backendScene2d->sceneChangeEvent(change);
+ frontend.setRenderPolicy(newValue);
+ backendScene2d->syncFromFrontEnd(&frontend, false);
// THEN
QCOMPARE(backendScene2d->m_renderPolicy, newValue);
@@ -197,10 +193,7 @@ private Q_SLOTS:
{
// WHEN
const bool newValue = false;
- const auto change = Qt3DCore::QPropertyUpdatedChangePtr::create(Qt3DCore::QNodeId());
- change->setPropertyName("mouseEnabled");
- change->setValue(newValue);
- backendScene2d->sceneChangeEvent(change);
+ frontend.setMouseEnabled(newValue);
// THEN
QCOMPARE(backendScene2d->isEnabled(), newValue);
@@ -209,10 +202,11 @@ private Q_SLOTS:
backendScene2d->cleanup();
}
-
void testCoordinateCalculation()
{
// GIVEN
+ qputenv("QT3D_SCENE2D_DISABLE_RENDERING", "1");
+
QScopedPointer<TestWindow> testWindow(new TestWindow());
Scene2DSharedObjectPtr sharedObject(new Scene2DSharedObject(nullptr));
QScopedPointer<Scene2D> scene2d(new Scene2D());
@@ -336,7 +330,8 @@ private Q_SLOTS:
QVector3D uvw(1.0, 0.0f, 0.0f);
Qt3DRender::QPickEventPtr ev = Qt3DRender::QPickEventPtr(PICK_TRIANGLE(0, 0, 1, 2, uvw));
Qt3DRender::QPickEventPrivate::get(ev.data())->m_entity = entity->id();
- scene2d->handlePickEvent(QEvent::MouseButtonPress, ev);
+ Qt3DRender::QPickEventPrivate::get(ev.data())->m_entityPtr = entity.data();
+ scene2d->handlePickEvent(QEvent::MouseButtonPress, ev.data());
QCoreApplication::processEvents();
@@ -350,7 +345,8 @@ private Q_SLOTS:
QVector3D uvw(0.0, 1.0f, 0.0f);
Qt3DRender::QPickEventPtr ev = Qt3DRender::QPickEventPtr(PICK_TRIANGLE(0, 0, 1, 2, uvw));
Qt3DRender::QPickEventPrivate::get(ev.data())->m_entity = entity->id();
- scene2d->handlePickEvent(QEvent::MouseButtonPress, ev);
+ Qt3DRender::QPickEventPrivate::get(ev.data())->m_entityPtr = entity.data();
+ scene2d->handlePickEvent(QEvent::MouseButtonPress, ev.data());
QCoreApplication::processEvents();
@@ -364,7 +360,8 @@ private Q_SLOTS:
QVector3D uvw(0.0, 0.0f, 1.0f);
Qt3DRender::QPickEventPtr ev = Qt3DRender::QPickEventPtr(PICK_TRIANGLE(0, 0, 1, 2, uvw));
Qt3DRender::QPickEventPrivate::get(ev.data())->m_entity = entity->id();
- scene2d->handlePickEvent(QEvent::MouseButtonPress, ev);
+ Qt3DRender::QPickEventPrivate::get(ev.data())->m_entityPtr = entity.data();
+ scene2d->handlePickEvent(QEvent::MouseButtonPress, ev.data());
QCoreApplication::processEvents();
@@ -378,7 +375,8 @@ private Q_SLOTS:
QVector3D uvw(1.0, 0.0f, 0.0f);
Qt3DRender::QPickEventPtr ev = Qt3DRender::QPickEventPtr(PICK_TRIANGLE(1, 3, 4, 5, uvw));
Qt3DRender::QPickEventPrivate::get(ev.data())->m_entity = entity->id();
- scene2d->handlePickEvent(QEvent::MouseButtonPress, ev);
+ Qt3DRender::QPickEventPrivate::get(ev.data())->m_entityPtr = entity.data();
+ scene2d->handlePickEvent(QEvent::MouseButtonPress, ev.data());
QCoreApplication::processEvents();
@@ -392,7 +390,8 @@ private Q_SLOTS:
QVector3D uvw(0.0, 1.0f, 0.0f);
Qt3DRender::QPickEventPtr ev = Qt3DRender::QPickEventPtr(PICK_TRIANGLE(1, 3, 4, 5, uvw));
Qt3DRender::QPickEventPrivate::get(ev.data())->m_entity = entity->id();
- scene2d->handlePickEvent(QEvent::MouseButtonPress, ev);
+ Qt3DRender::QPickEventPrivate::get(ev.data())->m_entityPtr = entity.data();
+ scene2d->handlePickEvent(QEvent::MouseButtonPress, ev.data());
QCoreApplication::processEvents();
@@ -406,7 +405,8 @@ private Q_SLOTS:
QVector3D uvw(0.0, 0.0f, 1.0f);
Qt3DRender::QPickEventPtr ev = Qt3DRender::QPickEventPtr(PICK_TRIANGLE(1, 3, 4, 5, uvw));
Qt3DRender::QPickEventPrivate::get(ev.data())->m_entity = entity->id();
- scene2d->handlePickEvent(QEvent::MouseButtonPress, ev);
+ Qt3DRender::QPickEventPrivate::get(ev.data())->m_entityPtr = entity.data();
+ scene2d->handlePickEvent(QEvent::MouseButtonPress, ev.data());
QCoreApplication::processEvents();
@@ -420,12 +420,13 @@ private Q_SLOTS:
QVector3D uvw(0.5f, 0.25f, 0.25f);
Qt3DRender::QPickEventPtr ev = Qt3DRender::QPickEventPtr(PICK_TRIANGLE(0, 0, 1, 2, uvw));
Qt3DRender::QPickEventPrivate::get(ev.data())->m_entity = entity->id();
- scene2d->handlePickEvent(QEvent::MouseButtonPress, ev);
+ Qt3DRender::QPickEventPrivate::get(ev.data())->m_entityPtr = entity.data();
+ scene2d->handlePickEvent(QEvent::MouseButtonPress, ev.data());
QCoreApplication::processEvents();
// THEN
- QVERIFY(testWindow->verifyEventPos(0, QEvent::MouseButtonPress, QPointF(512.0f, 768.0f)));
+ QVERIFY(testWindow->verifyEventPos(0, QEvent::MouseButtonPress, QPointF(512.0, 768.0)));
testWindow->clear();
}
@@ -434,14 +435,17 @@ private Q_SLOTS:
QVector3D uvw(0.875f, 0.09375f, 0.03125f);
Qt3DRender::QPickEventPtr ev = Qt3DRender::QPickEventPtr(PICK_TRIANGLE(1, 3, 4, 5, uvw));
Qt3DRender::QPickEventPrivate::get(ev.data())->m_entity = entity->id();
- scene2d->handlePickEvent(QEvent::MouseButtonPress, ev);
+ Qt3DRender::QPickEventPrivate::get(ev.data())->m_entityPtr = entity.data();
+ scene2d->handlePickEvent(QEvent::MouseButtonPress, ev.data());
QCoreApplication::processEvents();
// THEN
- QVERIFY(testWindow->verifyEventPos(0, QEvent::MouseButtonPress, QPointF(96.0f, 896.0f)));
+ QVERIFY(testWindow->verifyEventPos(0, QEvent::MouseButtonPress, QPointF(96.0, 896.0)));
testWindow->clear();
}
+
+ scene2d.reset();
}
};