From a6778041640d1aa86e0a994353407e143c26f605 Mon Sep 17 00:00:00 2001 From: Christian Stromme Date: Mon, 14 May 2018 01:06:52 +0200 Subject: Fix misc. component logic Better handling of components. They live their own life, so don't try to enforce anything from the slide that owns the component, it will all be handled by the components slide player. Task-number: QT3DS-1016 Change-Id: If435d6d0799bd52caae133b48119e0a015ff34d0 Reviewed-by: Laszlo Agocs --- src/runtime/q3dsslideplayer_p.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/runtime/q3dsslideplayer_p.h') diff --git a/src/runtime/q3dsslideplayer_p.h b/src/runtime/q3dsslideplayer_p.h index 11dd8c2..99332d8 100644 --- a/src/runtime/q3dsslideplayer_p.h +++ b/src/runtime/q3dsslideplayer_p.h @@ -95,6 +95,7 @@ public: Q3DSSlideDeck *slideDeck() const; void advanceFrame(); + void sceneReady(); float duration() const; float position() const; -- cgit v1.2.3 From 10f87bf805fc0d95723dda14e478793d3b2d1909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Str=C3=B8mme?= Date: Wed, 16 May 2018 12:48:28 +0200 Subject: Refactor handleSlideChange in the scene manager Move the relevant code to the slide player, as the implementation details belongs there. Also, updating the properties are now done in-place and without extra heap alloctions, which should make the code more performant as well. Change-Id: I5cee4ee24a670faf0245d9fda4ad2a7a66734851 Reviewed-by: Laszlo Agocs --- src/runtime/q3dsslideplayer_p.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/runtime/q3dsslideplayer_p.h') diff --git a/src/runtime/q3dsslideplayer_p.h b/src/runtime/q3dsslideplayer_p.h index 99332d8..01020e2 100644 --- a/src/runtime/q3dsslideplayer_p.h +++ b/src/runtime/q3dsslideplayer_p.h @@ -146,6 +146,8 @@ private: void sendPositionChanged(Q3DSSlide *slide, float pos); void updateNodeVisibility(Q3DSNode *node, bool visible); bool isSlideVisible(Q3DSSlide *slide); + void processPropertyChanges(Q3DSSlide *currentSlide, + Q3DSSlide *previousSlide); struct Data { Q3DSSlideDeck *slideDeck = nullptr; -- cgit v1.2.3