+WMError LayerControl::layoutChange(const WMAction& action)\r
+{\r
+ WMError ret = WMError::FAIL;\r
+ if (action.visible == TaskVisible::INVISIBLE)\r
+ {\r
+ // Visibility is not change -> no redraw is required\r
+ return WMError::SUCCESS;\r
+ }\r
+ if(action.client == nullptr)\r
+ {\r
+ HMI_SEQ_ERROR(action.req_num, "client may vanish");\r
+ return WMError::NOT_REGISTERED;\r
+ }\r
+ unsigned layer = action.client->layerID();\r
+\r
+ // Layout Manager\r
+ // WMError ret = this->setLayerSize(layer, action.area);\r
+ auto rect = this->getAreaSize(action.area);\r
+ ilmErrorTypes err = ilm_layerSetDestinationRectangle(layer, rect.x, rect.y, rect.w, rect.h);\r
+ if(err == ILM_SUCCESS)\r
+ {\r
+ ret = WMError::SUCCESS;\r
+ }\r
+ return ret;\r
+}\r
+\r
+WMError LayerControl::visibilityChange(const WMAction& action)\r
+{\r
+ WMError ret = WMError::FAIL;\r
+ if(action.client == nullptr)\r
+ {\r
+ HMI_SEQ_ERROR(action.req_num, "client may vanish");\r
+ return WMError::NOT_REGISTERED;\r
+ }\r
+\r
+ if (action.visible != TaskVisible::INVISIBLE)\r
+ {\r
+ ret = this->makeVisible(action.client.get());\r
+ }\r
+ else\r
+ {\r
+ ret = this->makeInvisible(action.client.get());\r
+ }\r
+ return ret;\r
+}\r
+\r