X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwm_layer.cpp;h=e1454f86f8960f2bd19277dd3868937fa39a2760;hb=f7536d2b6ff552e7c4849b36d9b6e140c5b1b9aa;hp=66fb0a26eee8097fe6b3b28e1c170013e03213cf;hpb=ceb1049ca57b0fd0ce41e9eca631557ffa46993a;p=apps%2Fagl-service-windowmanager.git diff --git a/src/wm_layer.cpp b/src/wm_layer.cpp index 66fb0a2..e1454f8 100644 --- a/src/wm_layer.cpp +++ b/src/wm_layer.cpp @@ -66,6 +66,12 @@ void LayerState::removeLayer(unsigned layer) this->render_order.erase(fwd_itr, this->render_order.end()); } +bool LayerState::hasLayer(unsigned layer) +{ + auto itr = std::find(this->render_order.begin(), this->render_order.end(), layer); + return (itr != this->render_order.end()) ? true : false; +} + void LayerState::attachAppToArea(const string& app, const string& area) { this->area2appid[area] = app; @@ -96,6 +102,7 @@ WMLayer::WMLayer(json_object* j, unsigned wm_layer_id) : tmp_state(), state(), w this->role_list = jh::getStringFromJson(j, "role"); this->id_begin = static_cast(jh::getIntFromJson(j, "id_range_begin")); this->id_end = static_cast(jh::getIntFromJson(j, "id_range_end")); + this->screen = jh::getIntFromJson(j, "screen"); // screen is not defined in layers.json, screen is set to 0 if (name.empty()) { @@ -183,6 +190,11 @@ void WMLayer::removeLayerFromState(unsigned layer) this->tmp_state.removeLayer(layer); } +bool WMLayer::hasLayerFromState(unsigned layer) +{ + this->tmp_state.hasLayer(layer); +} + void WMLayer::attachAppToArea(const string& app, const string& area) { this->tmp_state.attachAppToArea(app, area); @@ -250,9 +262,11 @@ void WMLayer::undo() void WMLayer::dump() { DUMP("===== wm layer status ====="); - DUMP("Layer :%s", this->name.c_str()); - this->tmp_state.dump(); + DUMP("Layer :%s on screen %d", this->name.c_str(), this->screen); + DUMP(" [Current]"); this->state.dump(); + DUMP(" [To be]"); + this->tmp_state.dump(); DUMP("===== wm layer status end ====="); }