From: JunsuChoi Date: Fri, 10 Jan 2020 08:40:32 +0000 (+0900) Subject: lottie: Remove duplicate model data. X-Git-Tag: submit/tizen/20200114.214303^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=611308cb30ae93e7eca9c0883fd5a26bbbe4670a;p=platform%2Fcore%2Fuifw%2Flottie-player.git lottie: Remove duplicate model data. mData is same as mModel in LOTContentGroupItem. So remove mData member. --- diff --git a/src/lottie/lottieitem.cpp b/src/lottie/lottieitem.cpp index 2af7405..5867d54 100644 --- a/src/lottie/lottieitem.cpp +++ b/src/lottie/lottieitem.cpp @@ -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; } diff --git a/src/lottie/lottieitem.h b/src/lottie/lottieitem.h index 6335785..7bbed9c 100644 --- a/src/lottie/lottieitem.h +++ b/src/lottie/lottieitem.h @@ -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 mContents; VMatrix mMatrix; private: diff --git a/src/lottie/lottieproxymodel.h b/src/lottie/lottieproxymodel.h index 72fd22a..38a5470 100644 --- a/src/lottie/lottieproxymodel.h +++ b/src/lottie/lottieproxymodel.h @@ -345,8 +345,10 @@ class LOTProxyModel { 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)) {