X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwm_client.cpp;h=4bccb8c01de68ad1b552aa11dad8804320ef2b14;hb=refs%2Fheads%2Fhalibut;hp=fdf791908021792199b3b5fda3e01eb119f05899;hpb=fb861c2f05e5f49f4009d0d7c91101259f904f1d;p=apps%2Fagl-service-windowmanager.git diff --git a/src/wm_client.cpp b/src/wm_client.cpp index fdf7919..4bccb8c 100644 --- a/src/wm_client.cpp +++ b/src/wm_client.cpp @@ -72,6 +72,8 @@ WMClient::WMClient(const string &appid, const string &role) : id(appid), layer(0), is_source_set(false), + is_active(false), + main_role(role), role2surface(0), evname2afb_event(0) { @@ -90,6 +92,8 @@ WMClient::WMClient(const string &appid, const string &role) WMClient::WMClient(const string &appid, unsigned layer, const string &role) : id(appid), layer(layer), + is_source_set(false), + is_active(false), main_role(role), role2surface(0), evname2afb_event(0) @@ -116,11 +120,21 @@ string WMClient::role() const return this->main_role; } +void WMClient::setRole(const string& role) +{ + this->main_role = role; +} + unsigned WMClient::layerID() const { return this->layer; } +void WMClient::setLayerID(unsigned id) +{ + this->layer = id; +} + unsigned WMClient::surfaceID() const { return this->surface; @@ -131,6 +145,20 @@ void WMClient::registerSurface(unsigned surface) this->surface = surface; } +void WMClient::activate() +{ + if(!this->isActive()) + this->emitActive(true); // emit when state is changed + this->is_active = true; +} + +void WMClient::deactivate() +{ + if(this->isActive()) + this->emitActive(false); // emit when state is changed + this->is_active = false; +} + /** * Add surface to the client * @@ -197,7 +225,6 @@ void WMClient::emitVisible(bool visible) } if(allow_send) { - this->area = area; json_object* j = json_object_new_object(); json_object_object_add(j, kKeyRole, json_object_new_string(this->role().c_str())); json_object_object_add(j, kKeyDrawingName, json_object_new_string(this->role().c_str())); @@ -231,7 +258,6 @@ void WMClient::emitActive(bool active) } if(allow_send) { - this->area = area; json_object* j = json_object_new_object(); json_object_object_add(j, kKeyRole, json_object_new_string(this->role().c_str())); json_object_object_add(j, kKeyDrawingName, json_object_new_string(this->role().c_str())); @@ -256,7 +282,6 @@ void WMClient::emitSyncDraw(const string& area, struct rect& r) HMI_NOTICE("trace"); if(afb_event_is_valid(this->evname2afb_event[kSyncDraw])) { - this->area = area; json_object *j_rect = json_object_new_object(); json_object_object_add(j_rect, kKeyX, json_object_new_int(r.x)); json_object_object_add(j_rect, kKeyY, json_object_new_int(r.y));