summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Client/Code/Core/Doc/Doc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Authoring/Client/Code/Core/Doc/Doc.h')
-rw-r--r--src/Authoring/Client/Code/Core/Doc/Doc.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/Doc.h b/src/Authoring/Client/Code/Core/Doc/Doc.h
index af91c59e..0d05880b 100644
--- a/src/Authoring/Client/Code/Core/Doc/Doc.h
+++ b/src/Authoring/Client/Code/Core/Doc/Doc.h
@@ -292,6 +292,13 @@ public:
void SetActiveLayer(qt3dsdm::Qt3DSDMInstanceHandle inLayerInstance);
qt3dsdm::Qt3DSDMSlideHandle GetActiveSlide();
+ qt3dsdm::Qt3DSDMInstanceHandle getActiveCamera(qt3dsdm::Qt3DSDMInstanceHandle inLayer) const;
+ void setActiveCamera(qt3dsdm::Qt3DSDMInstanceHandle inCameraLayer,
+ qt3dsdm::Qt3DSDMInstanceHandle inCameraInstance);
+ // Ensure that only one camera per layer is active.
+ // Returns true if additional cameras were inactivated.
+ bool ensureActiveCamera();
+
void SetPlayMode(EPlayMode inPlayMode, long inRestoreTime = -1);
bool IsPlaying();
long GetCurrentClientTime();
@@ -396,7 +403,7 @@ public:
bool preUndo() override;
void getSceneMaterials(qt3dsdm::Qt3DSDMInstanceHandle inParent,
- QVector<qt3dsdm::Qt3DSDMInstanceHandle> &outMats) const;
+ QVector<qt3dsdm::Qt3DSDMInstanceHandle> &outMats);
void getSceneReferencedMaterials(qt3dsdm::Qt3DSDMInstanceHandle inParent,
QVector<qt3dsdm::Qt3DSDMInstanceHandle> &outMats) const;
void getUsedSharedMaterials(QVector<qt3dsdm::Qt3DSDMInstanceHandle> &outMats) const;
@@ -468,6 +475,8 @@ protected:
qt3dsdm::Qt3DSDMInstanceHandle m_SceneInstance; // Pointer to the root level Scene object.
qt3dsdm::Qt3DSDMSlideHandle m_ActiveSlide; // The currently active Slide Handle.
qt3dsdm::Qt3DSDMInstanceHandle m_ActiveLayer; // The currently active layer.
+ // The currently active camera per-layer
+ QMap<qt3dsdm::Qt3DSDMInstanceHandle, qt3dsdm::Qt3DSDMInstanceHandle> m_ActiveCameras;
CPlaybackClock *m_PlaybackClock; // Playback clock. This is used when user clicks "Play"
CCore *m_Core;
bool m_IsModified;
@@ -505,6 +514,9 @@ protected:
Q3DStudio::CRect m_ClientSize;
Q3DStudio::CRect m_SceneRect; // The dimensions of the active scene view
+ // Indicate that the paste operation is first after cut operation
+ bool m_firstPasteAfterCut = false;
+
private:
bool m_playbackPreviewOn = false;
QString m_presentationId;