lottie/player: refactor to use std::find_if instead of unorder_map. 91/187091/5
authorsubhransu mohanty <sub.mohanty@samsung.com>
Mon, 20 Aug 2018 01:18:33 +0000 (10:18 +0900)
committerYoungbok Shin <youngb.shin@samsung.com>
Mon, 20 Aug 2018 04:38:05 +0000 (13:38 +0900)
Change-Id: Ic146357db1312aa0ff122fa6859a64098e350740

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

index 5896543cd88172ad7f792bf607745fb42b8f107f..fd044fdcd944ab330da1afec9ccd302b58e703bc 100644 (file)
@@ -1,5 +1,6 @@
 #include "lottieitem.h"
 #include <cmath>
+#include <algorithm>
 #include "vbitmap.h"
 #include "vdasher.h"
 #include "vpainter.h"
@@ -309,10 +310,7 @@ LOTCompLayerItem::LOTCompLayerItem(LOTLayerData *layerModel)
         LOTLayerData *layerModel = dynamic_cast<LOTLayerData *>(i.get());
         if (layerModel) {
             LOTLayerItem *layerItem = LOTCompItem::createLayerItem(layerModel);
-            if (layerItem) {
-                mLayers.push_back(layerItem);
-                mLayerMap[layerItem->id()] = layerItem;
-            }
+            if (layerItem) mLayers.push_back(layerItem);
         }
     }
 
@@ -320,11 +318,9 @@ LOTCompLayerItem::LOTCompLayerItem(LOTLayerData *layerModel)
     for (auto &i : mLayers) {
         int id = i->parentId();
         if (id >= 0) {
-            auto search = mLayerMap.find(id);
-            if (search != mLayerMap.end()) {
-                LOTLayerItem *parentLayer = search->second;
-                i->setParentLayer(parentLayer);
-            }
+            auto search = std::find_if(mLayers.begin(), mLayers.end(),
+                            [id](const auto& val){ return val->id() == id;});
+            if (search != mLayers.end()) i->setParentLayer(*search);
         }
         i->setPrecompLayer(this);
     }
index c3d506640dcb5898265a6c01df9d3e05f92ea2c9..c9e01a75d701692fbe4550715b486b94ea8ce7d1 100644 (file)
@@ -104,7 +104,6 @@ protected:
    void updateContent() final;
 private:
    std::vector<LOTLayerItem *>                  mLayers;
-   std::unordered_map<int, LOTLayerItem *>      mLayerMap;
    int                                          mLastFrame;
 };