summaryrefslogtreecommitdiffstats
path: root/src/runtime/q3dsslideplayer_p.h
diff options
context:
space:
mode:
authorChristian Strømme <christian.stromme@qt.io>2018-02-27 16:50:20 +0100
committerChristian Stromme <christian.stromme@qt.io>2018-03-07 10:32:27 +0000
commit144b199e44269473b88a85f26a31895e98104922 (patch)
treed6a184b346e724a3d6a8e8f1b5cfcedd8309ff23 /src/runtime/q3dsslideplayer_p.h
parente61d954e332c65fe5087d7a91e049e0fa9571a4b (diff)
Minor clean-up of the slide deck and player code
- Keep track of a component's parent slide in the slide deck. - Set the slide player on all slides attached data - we already allocate and drag the pointer for it around, so let's use it for something useful. Change-Id: Iefcc4e5cd171f397381686cbca00f699611d8447 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/runtime/q3dsslideplayer_p.h')
-rw-r--r--src/runtime/q3dsslideplayer_p.h25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/runtime/q3dsslideplayer_p.h b/src/runtime/q3dsslideplayer_p.h
index eca3d20..ba22538 100644
--- a/src/runtime/q3dsslideplayer_p.h
+++ b/src/runtime/q3dsslideplayer_p.h
@@ -125,11 +125,8 @@ private:
Q3DSSlidePlayer(Q3DSAnimationManager *animationManager,
Q3DSSceneManager *sceneManager,
Q3DSComponentNode *component,
- Q3DSSlide *parentSlide,
QObject *parent = nullptr);
- Q3DSSlidePlayer *aquireComponentPlayer(Q3DSComponentNode *component, Q3DSSlide *parent);
-
void init();
void reset();
void setInternalState(PlayerState state);
@@ -155,7 +152,6 @@ private:
Q3DSSceneManager *m_sceneManager;
Q3DSComponentNode *m_component = nullptr;
- Q3DSSlide *m_parent = nullptr;
Q3DSAnimationManager *m_animationManager;
PlayerMode m_mode = PlayerMode::Viewer;
PlayerType m_type = PlayerType::Slide;
@@ -164,10 +160,12 @@ private:
class Q3DSV_PRIVATE_EXPORT Q3DSSlideDeck
{
public:
- Q3DSSlideDeck(Q3DSSlide *masterSlide)
+ Q3DSSlideDeck(Q3DSSlide *masterSlide, Q3DSSlide *parent = nullptr)
: m_masterSlide(masterSlide)
+ , m_parent(parent)
{
Q_ASSERT(masterSlide);
+ Q_ASSERT_X(!masterSlide->parent(), Q_FUNC_INFO, "Slide is not a master slide!");
if (!masterSlide->firstChild()) {
qWarning("No slides?");
return;
@@ -304,21 +302,24 @@ public:
return found ? index : -1;
}
-private:
+ Q3DSSlide *parentSlide() const { return m_parent; }
+ Q3DSSlide *masterSlide() const { return m_masterSlide; }
+
void bind(Q3DSSlidePlayer *player)
{
- if (player == m_player)
- return;
+ if (player == m_player)
+ return;
- if (m_player)
- m_player->setSlideDeck(nullptr);
+ if (m_player)
+ m_player->setSlideDeck(nullptr);
- m_player = player;
+ m_player = player;
}
- friend class Q3DSSlidePlayer;
+private:
Q3DSSlidePlayer *m_player = nullptr;
Q3DSSlide *m_masterSlide = nullptr;
+ Q3DSSlide *m_parent = nullptr;
int m_index = -1;
};