lottie: Remove duplicate model data. accepted/tizen/unified/20200120.133111 submit/tizen/20200114.214303 submit/tizen/20200115.213910 submit/tizen/20200116.005149 submit/tizen/20200116.043425 submit/tizen/20200116.051036 submit/tizen/20200119.232254
authorJunsuChoi <jsuya.choi@samsung.com>
Fri, 10 Jan 2020 08:40:32 +0000 (17:40 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Mon, 13 Jan 2020 21:13:55 +0000 (06:13 +0900)
mData is same as mModel in LOTContentGroupItem. So remove mData member.

src/lottie/lottieitem.cpp
src/lottie/lottieitem.h
src/lottie/lottieproxymodel.h

index 2af7405..5867d54 100644 (file)
@@ -883,9 +883,9 @@ bool LOTStrokeItem::resolveKeyPath(LOTKeyPath &keyPath, uint depth,
 }
 
 LOTContentGroupItem::LOTContentGroupItem(LOTGroupData *data, VArenaAlloc* allocator)
-    : mData(data), mModel(data)
+    : mModel(data)
 {
-    addChildren(mData, allocator);
+    addChildren(data, allocator);
 }
 
 void LOTContentGroupItem::addChildren(LOTGroupData *data, VArenaAlloc* allocator)
@@ -911,8 +911,8 @@ void LOTContentGroupItem::update(int frameNo, const VMatrix &parentMatrix,
     DirtyFlag newFlag = flag;
     float alpha;
 
-    if (mData && mData->mTransform) {
-        VMatrix m = mData->mTransform->matrix(frameNo);
+    if (mModel.hasModel() && mModel.transform()) {
+        VMatrix m = mModel.transform()->matrix(frameNo);
         m *= parentMatrix;
 
         if (mModel.filter().hasFilter(rlottie::Property::TrPosition)){
@@ -920,14 +920,14 @@ void LOTContentGroupItem::update(int frameNo, const VMatrix &parentMatrix,
              m.translate(ps.x(), ps.y());
         }
 
-        if (!(flag & DirtyFlagBit::Matrix) && !mData->mTransform->isStatic() &&
+        if (!(flag & DirtyFlagBit::Matrix) && !mModel.transform()->isStatic() &&
             (m != mMatrix)) {
             newFlag |= DirtyFlagBit::Matrix;
         }
 
         mMatrix = m;
 
-        alpha = parentAlpha * mData->mTransform->opacity(frameNo);
+        alpha = parentAlpha * mModel.transform()->opacity(frameNo);
         if (!vCompare(alpha, parentAlpha)) {
             newFlag |= DirtyFlagBit::Alpha;
         }
index 6335785..7bbed9c 100644 (file)
@@ -328,7 +328,7 @@ public:
 class LOTContentGroupItem: public LOTContentItem
 {
 public:
-    LOTContentGroupItem() = default;
+   LOTContentGroupItem() = default;
    explicit LOTContentGroupItem(LOTGroupData *data, VArenaAlloc* allocator);
    void addChildren(LOTGroupData *data, VArenaAlloc* allocator);
    void update(int frameNo, const VMatrix &parentMatrix, float parentAlpha, const DirtyFlag &flag) override;
@@ -341,11 +341,10 @@ public:
    const char* name() const
    {
        static const char* TAG = "__";
-       return mData ? mData->name() : TAG;
+       return mModel.hasModel() ? mModel.name() : TAG;
    }
    bool resolveKeyPath(LOTKeyPath &keyPath, uint depth, LOTVariant &value) override;
 protected:
-   LOTGroupData                                  *mData{nullptr};
    std::vector<LOTContentItem*>   mContents;
    VMatrix                                        mMatrix;
 private:
index 72fd22a..38a5470 100644 (file)
@@ -345,8 +345,10 @@ class LOTProxyModel<LOTGroupData>
 {
 public:
     LOTProxyModel(LOTGroupData *model = nullptr): _modelData(model) {}
+    bool hasModel() const { return _modelData ? true : false; }
     LOTFilter& filter() {return mFilter;}
     const char* name() const {return _modelData->name();}
+    LOTTransformData* transform() const { return _modelData->mTransform; }
     VPointF position(int frame) const
     {
         if (mFilter.hasFilter(rlottie::Property::TrPosition)) {