diff options
author | Mike Krus <mike.krus@kdab.com> | 2020-06-29 15:31:03 +0100 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2020-06-30 17:27:15 +0100 |
commit | 644d060d9ad4366bc1a7e8635c13dbd713791870 (patch) | |
tree | 5ff58e31edb2495c3650f6c16a7bef94f5ed5d28 /tests | |
parent | 4a2ca889fa67a364c83e83ab931d0df0d41188e6 (diff) |
Render aspect: Dispatch events directly
Events now delivered directly to the input aspect which dispatches
them appropriately. The picking job still accumulates events within
a frame.
However, this opens the door to synchronous picking and event
propagation control later on.
Change-Id: Ic525bdce4e3d30455558fce9e385331364e49026
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/render/commons/testrenderer.h | 3 | ||||
-rw-r--r-- | tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp | 263 |
2 files changed, 117 insertions, 149 deletions
diff --git a/tests/auto/render/commons/testrenderer.h b/tests/auto/render/commons/testrenderer.h index d58448ffc..4ae74a74c 100644 --- a/tests/auto/render/commons/testrenderer.h +++ b/tests/auto/render/commons/testrenderer.h @@ -74,7 +74,8 @@ public: Qt3DCore::QAbstractFrameAdvanceService *frameAdvanceService() const override { return nullptr; } void setSettings(Qt3DRender::Render::RenderSettings *settings) override { m_settings = settings; } Qt3DRender::Render::RenderSettings *settings() const override { return m_settings; } - void setPendingEvents(const QList<QPair<QObject *, QMouseEvent> > &, const QList<QKeyEvent> &) override { } + bool processMouseEvent(QObject *, QMouseEvent *) override { return false; } + bool processKeyEvent(QObject *, QKeyEvent *) override { return false; } void markDirty(Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet changes, Qt3DRender::Render::BackendNode *node) override; Qt3DRender::Render::AbstractRenderer::BackendNodeDirtySet dirtyBits() override; diff --git a/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp b/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp index 172cfa7bc..1b883a057 100644 --- a/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp +++ b/tests/auto/render/pickboundingvolumejob/tst_pickboundingvolumejob.cpp @@ -384,9 +384,8 @@ private Q_SLOTS: QVERIFY(pickBVJob.currentPicker().isNull()); // WHEN - QList<QPair<QObject *,QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); // THEN @@ -397,9 +396,8 @@ private Q_SLOTS: QCOMPARE(backendPicker->peerId(), picker1->id()); // WHEN - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(207., 303.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); // THEN @@ -407,9 +405,8 @@ private Q_SLOTS: QVERIFY(pickBVJob.currentPicker().isNull()); // WHEN - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(390., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(390., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); // THEN @@ -420,9 +417,8 @@ private Q_SLOTS: QCOMPARE(backendPicker->peerId(), picker2->id()); // WHEN - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(390., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(390., 300.), Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); // THEN @@ -480,10 +476,9 @@ private Q_SLOTS: QVERIFY(earlyReturn); // WHEN - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 440.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 440.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); // THEN @@ -530,10 +525,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); // THEN QVERIFY(pickBVJob.currentPicker().isNull()); @@ -587,10 +581,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); // THEN @@ -637,10 +630,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); // THEN @@ -648,10 +640,9 @@ private Q_SLOTS: QVERIFY(!earlyReturn); // WHEN - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); // THEN @@ -698,10 +689,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); // THEN @@ -709,10 +699,9 @@ private Q_SLOTS: QVERIFY(!earlyReturn); // WHEN - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); // THEN @@ -759,10 +748,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); const bool earlyReturn = !pickBVJob.runHelper(); // THEN @@ -834,10 +822,9 @@ private Q_SLOTS: QVERIFY(mouseButtonReleasedSpy.isValid()); QVERIFY(mouseClickedSpy.isValid()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -851,10 +838,9 @@ private Q_SLOTS: QCOMPARE(mouseClickedSpy.count(), 0); // WHEN -> Move on same object - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseMove, QPointF(207.0, 303.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseMove, QPointF(207.0, 303.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -868,10 +854,9 @@ private Q_SLOTS: QCOMPARE(mouseClickedSpy.count(), 0); // WHEN -> Release on object - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(207.0, 303.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(207.0, 303.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -890,12 +875,12 @@ private Q_SLOTS: mouseClickedSpy.clear(); // WHEN -> Release outside of object - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(0.0, 0.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(0.0, 0.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -957,10 +942,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(207.0, 303.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -973,10 +957,9 @@ private Q_SLOTS: QCOMPARE(mouseButtonReleasedSpy.count(), 0); // WHEN -> Releasing out of the viewport - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(10000.0, 10000.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(10000.0, 10000.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -993,10 +976,9 @@ private Q_SLOTS: mouseButtonPressedSpy.clear(); mouseMovedSpy.clear(); mouseButtonReleasedSpy.clear(); - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(10000.0, 10000.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(10000.0, 10000.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1064,10 +1046,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::HoverMove, QPointF(207.0, 303.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::HoverMove, QPointF(207.0, 303.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1079,10 +1060,9 @@ private Q_SLOTS: QCOMPARE(mouseExited.count(), 0); // WHEN -> HoverMove Out - events.clear(); - events.push_back({nullptr, QMouseEvent(QEvent::HoverMove, QPointF(20.0, 40.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QEvent::HoverMove, QPointF(20.0, 40.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1097,12 +1077,12 @@ private Q_SLOTS: mouseExited.clear(); // WHEN -> HoverMove In + Pressed other - events.clear(); - events.push_back({nullptr, QMouseEvent(QEvent::HoverMove, QPointF(207.0, 303.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - events.push_back({nullptr, QMouseEvent(QEvent::MouseButtonPress, QPointF(0.0, 0.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QEvent::HoverMove, QPointF(207.0, 303.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); + event = QMouseEvent(QEvent::MouseButtonPress, QPointF(0.0, 0.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1176,10 +1156,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400.0, 300.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400.0, 300.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1194,10 +1173,9 @@ private Q_SLOTS: // WHEN -> Move on same object mouseButtonPressedSpy.clear(); - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseMove, QPointF(400.0, 300.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseMove, QPointF(400.0, 300.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1212,10 +1190,9 @@ private Q_SLOTS: // WHEN -> Release on object mouseMovedSpy.clear(); - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(400.0, 300.0), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(400.0, 300.0), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1229,16 +1206,16 @@ private Q_SLOTS: QCOMPARE(mouseClickedSpy.count(), 1); // WHEN -> Release outside of object - events.clear(); mouseButtonPressedSpy.clear(); mouseMovedSpy.clear(); mouseButtonReleasedSpy.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 300.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(0., 0.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 300.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(0., 0.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1343,10 +1320,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(320., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(320., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1363,10 +1339,9 @@ private Q_SLOTS: QCOMPARE(mouseExited1.count(), 0); // WHEN -> Move on next object, show stay on previous picker unless all picks are requested - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseMove, QPointF(280., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseMove, QPointF(280., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1442,10 +1417,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 300.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(400., 300.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1511,10 +1485,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(280., 300.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(280., 300.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1532,11 +1505,10 @@ private Q_SLOTS: // WHEN reset -> Presset on object in vp2 backendPicker->cleanup(); backendPicker->setEnabled(true); - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(320., 300.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(320., 300.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1561,9 +1533,9 @@ private Q_SLOTS: const int n = 10; for (int j=0; j<n; j++) { QMatrix4x4 m; - m.rotate(360.f / (float)n * (float)j, 0.f, 0.f, 1.f); + m.rotate(360.f / float(n) * float(j), 0.f, 0.f, 1.f); for (int i=0; i<n; i++) { - const double angle = M_PI * 2. / (double)n * i; + const double angle = M_PI * 2. / double(n) * i; const double x = std::sin(angle) * 10.; const double z = std::cos(angle) * 10.; QVector3D pos(x, 0.f, z); @@ -1629,10 +1601,9 @@ private Q_SLOTS: Qt3DRender::Render::PickBoundingVolumeJob pickBVJob; initializePickBoundingVolumeJob(&pickBVJob, test.data()); - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(303., 303.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(303., 303.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1716,10 +1687,9 @@ private Q_SLOTS: initializePickBoundingVolumeJob(&pickBVJob, test.data()); // WHEN -> Pressed on object - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(300., 300.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(300., 300.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1743,10 +1713,9 @@ private Q_SLOTS: QCOMPARE(mouseEntered2.count(), 0); QCOMPARE(mouseExited2.count(), 0); - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(300., 300.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(300., 300.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1782,10 +1751,9 @@ private Q_SLOTS: initializePickBoundingVolumeJob(&pickBVJob, test.data()); // WHEN -> Pressed on object - QList<QPair<QObject *, QMouseEvent>> events; - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(300., 300.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + auto event = QMouseEvent(QMouseEvent::MouseButtonPress, QPointF(300., 300.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); bool earlyReturn = !pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); @@ -1809,10 +1777,9 @@ private Q_SLOTS: QCOMPARE(mouseEntered2.count(), 0); QCOMPARE(mouseExited2.count(), 0); - events.clear(); - events.push_back({nullptr, QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(300., 300.), - Qt::LeftButton, Qt::LeftButton, Qt::NoModifier)}); - pickBVJob.setMouseEvents(events); + event = QMouseEvent(QMouseEvent::MouseButtonRelease, QPointF(300., 300.), + Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); + pickBVJob.processMouseEvent(nullptr, &event); pickBVJob.runHelper(); Qt3DCore::QAspectJobPrivate::get(&pickBVJob)->postFrame(test->aspectManager()); |