X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Flayers.cpp;h=04f944de6014b8d439a9badcdb55d08f4c96b4a5;hb=c392fff74872af6d4f165ff3f854d19f390ec0ee;hp=9219766de6952b49c52f28c292b6448e4ab6cc36;hpb=074d058a7a483a66af7f8c0b928b321ad483f47c;p=apps%2Fagl-service-windowmanager.git diff --git a/src/layers.cpp b/src/layers.cpp index 9219766..04f944d 100644 --- a/src/layers.cpp +++ b/src/layers.cpp @@ -1,5 +1,5 @@ /* - * Copyright (C) 2017 Mentor Graphics Development (Deutschland) GmbH + * Copyright (c) 2017 TOYOTA MOTOR CORPORATION * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ #include "json_helper.hpp" #include "layers.hpp" #include "util.hpp" +#include "hmi-debug.h" namespace wm { @@ -29,22 +30,30 @@ layer::layer(nlohmann::json const &j) { this->role = j["role"]; this->name = j["name"]; this->layer_id = j["layer_id"]; - this->rect = genivi::full_rect; + this->rect = compositor::full_rect; if (j["area"]["type"] == "rect") { auto jr = j["area"]["rect"]; - this->rect = genivi::rect{ + this->rect = compositor::rect{ jr["width"], jr["height"], jr["x"], jr["y"], }; } + + // Init flag of normal layout only + this->is_normal_layout_only = true; + auto split_layouts = j.find("split_layouts"); if (split_layouts != j.end()) { + + // Clear flag of normal layout only + this->is_normal_layout_only = false; + auto &sls = j["split_layouts"]; // this->layouts.reserve(sls.size()); std::transform(std::cbegin(sls), std::cend(sls), std::back_inserter(this->layouts), [this](json const &sl) { struct split_layout l { sl["name"], sl["main_match"], sl["sub_match"] }; - logdebug( + HMI_DEBUG("wm", "layer %d add split_layout \"%s\" (main: \"%s\") (sub: " "\"%s\")", this->layer_id, l.name.c_str(), l.main_match.c_str(), @@ -52,6 +61,8 @@ layer::layer(nlohmann::json const &j) { return l; }); } + HMI_DEBUG("wm", "layer_id:%d is_normal_layout_only:%d\n", + this->layer_id, this->is_normal_layout_only); } struct result to_layer_map(nlohmann::json const &j) { @@ -66,7 +77,7 @@ struct result to_layer_map(nlohmann::json const &j) { j.value("layer_id", -1), layer(j)); }); - // XXX: add sanity checks here? + // TODO: add sanity checks here? // * check for double IDs // * check for double names/roles @@ -114,16 +125,16 @@ optional layer_map::get_layer_id(std::string const &role) { for (auto const &r : this->roles) { auto re = std::regex(r.first); if (std::regex_match(role, re)) { - logdebug("role %s matches layer %d", role.c_str(), r.second); + HMI_DEBUG("wm", "role %s matches layer %d", role.c_str(), r.second); return optional(r.second); } } - logdebug("role %s does NOT match any layer", role.c_str()); + HMI_DEBUG("wm", "role %s does NOT match any layer", role.c_str()); return nullopt; } json layer::to_json() const { - auto is_full = this->rect == genivi::full_rect; + auto is_full = this->rect == compositor::full_rect; json r{}; if (is_full) {