You.i Engine
YiAEViewTemplate.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_AE_VIEW_TEMPLATE_H_
3 #define _YI_AE_VIEW_TEMPLATE_H_
4 
6 
11 
12 class CYIAEViewTemplatePriv;
13 
20 {
21  friend class CYIAESceneFilter;
22 
23 public:
24 
25  CYIAEViewTemplate(CYIAEViewTemplatePriv *pPriv);
26  virtual ~CYIAEViewTemplate();
27 
28  virtual void SetTimelineSource(uint32_t nTimelineHandle, std::shared_ptr<CYIAssetTimelineSource> pTimelineSource) override;
29  virtual std::shared_ptr<CYIAssetTimelineSource> GetTimelineSource(uint32_t nTimelineHandle) override;
30 
34  static std::unique_ptr<CYIAEViewTemplate> ImportCompositionTemplate(const CYIString &filename);
35 
39  static std::unique_ptr<CYIAEViewTemplate> ImportCompositionTemplateFromPath(const CYIString &path);
40 
44  static std::unique_ptr<CYIAEViewTemplate> ImportCompositionTemplateFromStream(std::istream &data);
45 
46  virtual std::unique_ptr<CYITimeline> BuildTimeline(CYISceneNode *pRootNode) override;
47  virtual std::unique_ptr<CYITimeline> BuildTimeline(CYISceneNode *pRootNode, const CYIString &rMarkerName) override;
48  virtual std::unique_ptr<CYITimeline> BuildTimeline(CYISceneNode *pRootNode, CYIMarkerData::MARKER_ID eID) override;
49  virtual std::unique_ptr<CYITimeline> BuildTimeline(CYISceneNode *pRootNode, int32_t nStartOffset, int32_t nDuration) override;
50 
51  virtual std::unique_ptr<CYITimeline> BuildTimeline(CYISceneNode *pRootNode, uint32_t nTimelineHandle) override;
52  virtual std::unique_ptr<CYITimeline> BuildTimeline(CYISceneNode *pRootNode, uint32_t nTimelineHandle, const CYIString &rMarkerName) override;
53  virtual std::unique_ptr<CYITimeline> BuildTimeline(CYISceneNode *pRootNode, uint32_t nTimelineHandle, CYIMarkerData::MARKER_ID eID) override;
54  virtual std::unique_ptr<CYITimeline> BuildTimeline(CYISceneNode *pRootNode, uint32_t nTimelineHandle, int32_t nStartOffset, int32_t nDuration) override;
55 
56  virtual void GetSize(float &fWidth, float &fHeight) override;
57  virtual float GetHeight() override;
58  virtual float GetWidth() override;
59  virtual float GetDefaultCameraDistance() override;
60 
61  virtual CYIString GetName() const override;
62  virtual const CYIString &GetViewClassName() const override;
63  virtual bool GetBackgroundColor(CYIColor *pColor) override;
64  virtual bool GetProperty(const CYIString &rPropertyName, CYIString *pValue) const override;
65  virtual const std::map<CYIString, CYIString> &GetProperties() const override;
66  virtual const std::vector<CYIString> &GetChildTemplateNames() override;
67  virtual std::vector<Source> GetSources() const override;
68  virtual int32_t GetApproximateSize() const override;
69 
70 private:
71  virtual bool BuildTree(CYISceneNode *pNode, const CYIString &path, CYISceneManager::MISSING_CLASS_HANDLING_MODE eMissingHandlingMode = CYISceneManager::ABORT) override;
72 
73  CYIAEViewTemplatePriv *m_pPriv;
74 
77 };
78 
81 #endif // _YI_AE_VIEW_TEMPLATE_H_
virtual CYIString GetName() const override
#define YI_DISALLOW_COPY_AND_ASSIGN(TypeName)
Delete the copy constructor and assignment operator (and consequently the move constructor as well) ...
Definition: YiPredef.h:114
A specialized CYIViewTemplate providing data read from a layout file.
Definition: YiAEViewTemplate.h:19
friend class CYIAESceneFilter
Definition: YiAEViewTemplate.h:21
virtual std::unique_ptr< CYITimeline > BuildTimeline(CYISceneNode *pRootNode) override
virtual std::vector< Source > GetSources() const override
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
virtual const std::map< CYIString, CYIString > & GetProperties() const override
virtual void GetSize(float &fWidth, float &fHeight) override
static std::unique_ptr< CYIAEViewTemplate > ImportCompositionTemplateFromPath(const CYIString &path)
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
virtual float GetHeight() override
static std::unique_ptr< CYIAEViewTemplate > ImportCompositionTemplate(const CYIString &filename)
virtual int32_t GetApproximateSize() const override
virtual bool GetBackgroundColor(CYIColor *pColor) override
virtual float GetWidth() override
virtual std::shared_ptr< CYIAssetTimelineSource > GetTimelineSource(uint32_t nTimelineHandle) override
virtual bool GetProperty(const CYIString &rPropertyName, CYIString *pValue) const override
CYIAEViewTemplate(CYIAEViewTemplatePriv *pPriv)
MARKER_ID
Definition: YiMarkerData.h:36
virtual float GetDefaultCameraDistance() override
virtual const CYIString & GetViewClassName() const override
A view template defines information about a view, so it can be built automatically.
Definition: YiViewTemplate.h:31
A scene node is the base type for all nodes which are used by the scene manager; it is an integral pa...
Definition: YiSceneNode.h:114
Definition: YiSceneManager.h:144
static std::unique_ptr< CYIAEViewTemplate > ImportCompositionTemplateFromStream(std::istream &data)
virtual ~CYIAEViewTemplate()
A class used to represent a color value.
Definition: YiColor.h:31
virtual const std::vector< CYIString > & GetChildTemplateNames() override
virtual void SetTimelineSource(uint32_t nTimelineHandle, std::shared_ptr< CYIAssetTimelineSource > pTimelineSource) override
MISSING_CLASS_HANDLING_MODE
Optional fallback rules for missing view types during scene loading.
Definition: YiSceneManager.h:142