diff options
author | 2018-09-08 15:28:36 +0900 | |
---|---|---|
committer | 2018-09-08 15:29:08 +0900 | |
commit | 2f2639950dec4b97984fd6776a850e5d4703ef52 (patch) | |
tree | 83a61ec7fa6fc729974d116feddbd03b4e1909e4 /src/wm_layer_control.cpp | |
parent | f5001e404097c3e55ed9fad207036c55d11f5c8d (diff) |
Update wm_layer
* add getUuid
* add getWMLayer
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/wm_layer_control.cpp')
-rw-r--r-- | src/wm_layer_control.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/wm_layer_control.cpp b/src/wm_layer_control.cpp index e0800f8..1d591f0 100644 --- a/src/wm_layer_control.cpp +++ b/src/wm_layer_control.cpp @@ -125,8 +125,11 @@ void LayerControl::createNewLayer(unsigned id) ilm_layerSetSourceRectangle(id, rct.x, rct.y, rct.w, rct.h); //ilm_layerSetDestinationRectangle(id, rct.x, rct.y, rct.w, rct.h); ilm_layerSetOpacity(id, 1.0); - ilm_layerSetVisibility(id, ILM_TRUE); + ilm_layerSetVisibility(id, ILM_FALSE); ilm_commitChanges(); + auto wm_layer = getWMLayer(id); + wm_layer->addLayer(id); + this->commitChange(); } unsigned LayerControl::getNewLayerID(const string& role, string* layer_name) @@ -138,12 +141,20 @@ unsigned LayerControl::getNewLayerID(const string& role, string* layer_name) if(ret != 0) { *layer_name = l->layerName(); + unsigned uid = l->getUuid(); + this->lid2wmlid[ret] = uid; break; } } return ret; } +shared_ptr<WMLayer> LayerControl::getWMLayer(unsigned layer) +{ + unsigned uuid = this->lid2wmlid[layer]; + return this->wm_layers[uuid]; +} + struct rect LayerControl::getAreaSize(const std::string& area) { return area2size[area]; @@ -219,6 +230,7 @@ WMError LayerControl::commitChange() this->undoUpdate(); rc = WMError::FAIL; } + ilm_commitChanges(); delete id_array; return rc; } @@ -252,8 +264,9 @@ WMError LayerControl::loadLayerSetting(const string &path) json_object *json_tmp = json_object_array_get_idx(json_cfg, i); HMI_DEBUG("> json_tmp dump:%s", json_object_get_string(json_tmp)); - this->wm_layers.emplace_back(std::make_shared<WMLayer>(json_tmp)); + this->wm_layers.emplace_back(std::make_shared<WMLayer>(json_tmp, i)); } + json_object_put(json_obj); return WMError::SUCCESS; } @@ -394,6 +407,7 @@ void LayerControl::dispatchCreateEvent(ilmObjectType object, unsigned id, bool c this->cb.surfaceCreated(sp.creatorPid, id); ilm_surfaceAddNotification(id, surfaceCallback_static); ilm_surfaceSetSourceRectangle(id, 0, 0, sp.origSourceWidth, sp.origSourceHeight); + ilm_surfaceSetVisibility(id, ILM_TRUE); } else { |