You.i Engine
YiAssetDecoderTimelineSource.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_ASSET_DECODER_TIMELINE_SOURCE_H_
3 #define _YI_ASSET_DECODER_TIMELINE_SOURCE_H_
4 
5 #include "asset/YiAssetDecoder.h"
6 #include "utility/YiRtti.h"
7 
13 class CYIAssetLoadParams;
15 class CYIString;
16 class CYIAsset;
17 
27 {
28 public:
29 
32 
33  virtual bool SupportsParams(const CYIAssetLoadParams *pDecodeParams) override;
34 
35  virtual std::shared_ptr<CYIAsset> DecodeAsset(const CYIString &path, const CYIAssetLoadParams *pDecodeParams) override;
36 
37  virtual std::shared_ptr<CYIAsset> DecodeAsset(const uint8_t *pData, uint32_t nDataSize, const CYIAssetLoadParams *pDecodeParams) override;
38 
39  virtual bool DecodeAsset(const std::shared_ptr<CYIAsset> &pAsset) override;
40 
41  virtual bool IsFormatSupported(const uint8_t *pData, uint32_t nDataSize) override;
42 
43  virtual bool DecodeAsset(const std::shared_ptr<CYIAsset> &pAsset, const uint8_t *pData, uint32_t uDataSize) override;
44 
45 private:
46 
50  bool PopulateTimelineSource(const std::shared_ptr<CYIAssetTimelineSource> &pAsset, const CYIString &path, const CYIAssetLoadParams *pDecodeParams);
51  bool PopulateTimelineSource(const std::shared_ptr<CYIAssetTimelineSource> &pAsset, const uint8_t *pData, uint32_t nDataSize, const CYIAssetLoadParams *pDecodeParams);
52 
54 };
55 
58 #endif // _YI_ASSET_DECODER_TIMELINE_SOURCE_H_
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
virtual bool SupportsParams(const CYIAssetLoadParams *pDecodeParams) override
Base class for decoders which can accept specialized parameter objects.
Definition: YiAssetLoadParams.h:16
virtual bool IsFormatSupported(const uint8_t *pData, uint32_t nDataSize) override
Asset decoder for timeline sources from After Effects; these typically have a ".timeline" file extens...
Definition: YiAssetDecoderTimelineSource.h:26
Base class for any asset. An asset provides functions for dynamically loading and unloading itself an...
Definition: YiAsset.h:33
Base class for all specialized decoders.
Definition: YiAssetDecoder.h:22
TimelineSource asset. Wrapper around a CYITimelineBackingStore.
Definition: YiAssetTimelineSource.h:20
virtual std::shared_ptr< CYIAsset > DecodeAsset(const CYIString &path, const CYIAssetLoadParams *pDecodeParams) override
This file contains the classes and macros used to implement RTTI in You.i Engine. ...