Add background layer for CES DEMO
[apps/agl-service-windowmanager.git] / src / layers.hpp
index 63650b4..1942229 100644 (file)
@@ -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,7 +48,7 @@ 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;
@@ -73,10 +73,6 @@ struct layer_map {
    using role_to_layer_map = std::vector<std::pair<std::string, int>>;
    using addsurf_layer_map = std::map<int, int>;
 
-   // 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;
@@ -116,6 +112,49 @@ struct layer_map {
 
 struct result<struct layer_map> 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