lottie/parser: inherit from data object instead of group object as composition has... 33/186833/2
authorsubhransu mohanty <sub.mohanty@samsung.com>
Thu, 16 Aug 2018 01:16:49 +0000 (10:16 +0900)
committerSubhransu Mohanty <sub.mohanty@samsung.com>
Thu, 16 Aug 2018 02:42:56 +0000 (02:42 +0000)
Change-Id: I15f07d5d7ae2f8add4ac2b2de92628a33ab492e0

src/lottie/lottiemodel.h

index 57199b6..d130d96 100644 (file)
@@ -309,35 +309,6 @@ public:
     std::vector<std::shared_ptr<LOTData>>   mLayers;
 };
 
-class LOTCompositionData : public LOTGroupData
-{
-public:
-    void processRepeaterObjects();
-    void accept(LOTDataVisitor *visitor) override
-    {visitor->visit(this); visitor->visitChildren(this);}
-    LOTCompositionData():LOTGroupData(LOTData::Type::Composition){}
-    inline long frameDuration()const{return mEndFrame - mStartFrame -1;}
-    inline long frameRate()const{return mFrameRate;}
-    inline long startFrame() const {return mStartFrame;}
-    inline long endFrame() const {return mEndFrame;}
-    inline VSize size() const { return mSize;}
-
-public:
-    std::string          mVersion;
-    VSize               mSize;
-    bool                 mAnimation = false;
-    long                 mStartFrame = 0;
-    long                 mEndFrame = 0;
-    float                mFrameRate;
-    LottieBlendMode      mBlendMode;
-    std::shared_ptr<LOTLayerData> mRootLayer;
-    std::unordered_map<std::string,
-                       std::shared_ptr<VInterpolator>> mInterpolatorCache;
-    std::unordered_map<std::string,
-                       std::shared_ptr<LOTAsset>>    mAssets;
-
-};
-
 class LOTLayerData : public LOTGroupData
 {
 public:
@@ -381,6 +352,35 @@ public:
     std::vector<std::shared_ptr<LOTMaskData>>  mMasks;
 };
 
+class LOTCompositionData : public LOTData
+{
+public:
+    void processRepeaterObjects();
+    void accept(LOTDataVisitor *visitor) override
+    {visitor->visit(this); mRootLayer->accept(visitor);}
+    LOTCompositionData():LOTData(LOTData::Type::Composition){}
+    inline long frameDuration()const{return mEndFrame - mStartFrame -1;}
+    inline long frameRate()const{return mFrameRate;}
+    inline long startFrame() const {return mStartFrame;}
+    inline long endFrame() const {return mEndFrame;}
+    inline VSize size() const { return mSize;}
+
+public:
+    std::string          mVersion;
+    VSize               mSize;
+    bool                 mAnimation = false;
+    long                 mStartFrame = 0;
+    long                 mEndFrame = 0;
+    float                mFrameRate;
+    LottieBlendMode      mBlendMode;
+    std::shared_ptr<LOTLayerData> mRootLayer;
+    std::unordered_map<std::string,
+                       std::shared_ptr<VInterpolator>> mInterpolatorCache;
+    std::unordered_map<std::string,
+                       std::shared_ptr<LOTAsset>>    mAssets;
+
+};
+
 class LOTTransformData : public LOTData
 {
 public: