X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Flayers.hpp;h=1942229e2b459698d5dacd2a1e4f553ffc2087c2;hb=25abec6a1ff6661283976f202f1ac43b2eb4f455;hp=0603d247a9f5a5be6ed8e1cb982ca396d6453284;hpb=074d058a7a483a66af7f8c0b928b321ad483f47c;p=apps%2Fagl-service-windowmanager.git diff --git a/src/layers.hpp b/src/layers.hpp index 0603d24..1942229 100644 --- a/src/layers.hpp +++ b/src/layers.hpp @@ -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. @@ -48,15 +48,18 @@ struct layer { // the actual value is computed using MAX + 1 - w // That is; allow us to specify dimensions dependent on // e.g. screen dimension, w/o knowing the actual screen size. - genivi::rect rect; + compositor::rect rect; // Specify a role prefix for surfaces that should be // put on this layer. std::string role; - // XXX perhaps a zorder is needed here? + // TODO: perhaps a zorder is needed here? std::vector layouts; - // XXX need to change the way we store these things... + mutable struct LayoutState state; + // Flag of normal layout only + bool is_normal_layout_only; + explicit layer(nlohmann::json const &j); json to_json() const; @@ -70,10 +73,6 @@ struct layer_map { using role_to_layer_map = std::vector>; using addsurf_layer_map = std::map; - // XXX: we also will need a layer_id to layer map, perhaps - // make this the primary map, and the surface_id->layer a - // secondary map. - storage_type mapping; // map surface_id to layer layers_type layers; // the actual layer IDs we have int main_surface; @@ -113,6 +112,49 @@ struct layer_map { struct result to_layer_map(nlohmann::json const &j); +static const nlohmann::json default_layers_json = { + {"main_surface", { + {"surface_role", "HomeScreen"} + }}, + {"mappings", { + { + {"role", "^HomeScreen$"}, + {"name", "HomeScreen"}, + {"layer_id", 1000}, + {"area", { + {"type", "full"} + }} + }, + { + {"role", "MediaPlayer|Radio|Phone|Navigation|HVAC|Settings|Dashboard|POI|Mixer"}, + {"name", "apps"}, + {"layer_id", 1001}, + {"area", { + {"type", "rect"}, + {"rect", { + {"x", 0}, + {"y", 218}, + {"width", -1}, + {"height", -433} + }} + }} + }, + { + {"role", "^OnScreen.*"}, + {"name", "popups"}, + {"layer_id", 9999}, + {"area", { + {"type", "rect"}, + {"rect", { + {"x", 0}, + {"y", 760}, + {"width", -1}, + {"height", 400} + }} + }} + } + }} +}; } // namespace wm #endif // TMCAGLWM_LAYERS_H