summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/app.cpp10
-rw-r--r--src/layers.hpp43
2 files changed, 50 insertions, 3 deletions
diff --git a/src/app.cpp b/src/app.cpp
index ba258b5..af552b5 100644
--- a/src/app.cpp
+++ b/src/app.cpp
@@ -44,12 +44,16 @@ namespace {
using nlohmann::json;
result<json> file_to_json(char const *filename) {
+ json j;
std::ifstream i(filename);
if (i.fail()) {
- return Err<json>("Could not open config file");
+ HMI_DEBUG("wm", "Could not open config file, so use default layer information");
+ j = default_layers_json;
}
- json j;
- i >> j;
+ else {
+ i >> j;
+ }
+
return Ok(j);
}
diff --git a/src/layers.hpp b/src/layers.hpp
index 5fee28a..268936b 100644
--- a/src/layers.hpp
+++ b/src/layers.hpp
@@ -116,6 +116,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