Change API in wm_layer
[apps/agl-service-windowmanager-2017.git] / src / wm_layer_control.cpp
index acf41f6..9756d5e 100644 (file)
@@ -213,6 +213,8 @@ WMError LayerControl::renderLayers()
 {
     HMI_INFO("Commit change");
     WMError rc = WMError::SUCCESS;
+
+    // Check the number of layers
     vector<unsigned> ivi_l_ids;
     for(auto& l : this->wm_layers)
     {
@@ -224,6 +226,8 @@ WMError LayerControl::renderLayers()
             ivi_l_ids.push_back(id);
         }
     }
+
+    // Create render order
     t_ilm_layer* id_array = new t_ilm_layer[ivi_l_ids.size()];
     if(id_array == nullptr)
     {
@@ -238,6 +242,7 @@ WMError LayerControl::renderLayers()
         ++count;
     }
 
+    // Display
     ilmErrorTypes ret = ilm_displaySetRenderOrder(this->screenID, id_array, ivi_l_ids.size());
     if(ret != ILM_SUCCESS)
     {
@@ -248,7 +253,7 @@ WMError LayerControl::renderLayers()
     {
         for(auto& l : this->wm_layers)
         {
-            l->commitChange();
+            l->update();
         }
     }
     ilm_commitChanges();
@@ -256,7 +261,13 @@ WMError LayerControl::renderLayers()
     return rc;
 }
 
-void LayerControl::undoUpdate() {}
+void LayerControl::undoUpdate()
+{
+    for(auto& l : this->wm_layers)
+    {
+        l->undo();
+    }
+}
 
 WMError LayerControl::loadLayerSetting(const string &path)
 {