"comment": "Surface ID to Layer ID mapping",
"main_surface": {
- "surface_id": "1000",
+ "surface_id": 1000,
+ "surface_role": "HomeScreen",
"comment": "This surface should never be made invisible (The HomeScreen)"
},
- "layers": [
- {
- "name": "HomeScreen",
- "layer_id": "1000",
- "area": { "type": "full" }
- },
- {
- "name": "Apps",
- "layer_id": "1001",
- "area": { "type": "rect", "rect": { "x": "0", "y": "100", "width": "-1", "height": "-201" } }
- },
- {
- "name": "Popups",
- "layer_id": "9999",
- "area": { "type": "rect", "rect": { "x": "0", "y": "100", "width": "-1", "height": "-201" } }
- }
- ],
-
"mappings": [
{
"type": "single",
- "surface_id": "1000",
+ "surface_id": 1000,
+ "role": "^HomeScreen$",
"name": "HomeScreen",
- "layer_id": "1000",
+ "layer_id": 1000,
"area": { "type": "full" },
"comment": "Single layer map for the HomeScreen, XXX: type is redundant, could also check existence of id/first_id+last_id"
},
{
"type": "range",
- "first_surface_id": "2000",
- "last_surface_id": "2999",
+ "first_surface_id": 2000,
+ "last_surface_id": 2999,
+ "role": "^App.*",
"name": "apps",
- "layer_id": "1001",
- "area": { "type": "rect", "rect": { "x": "0", "y": "100", "width": "-1", "height": "-201" } },
- "comment": "Range of IDs that will always be placed on layer 1001, negative rect values are interpreted as output_size.dimension - $value"
+ "layer_id": 1001,
+ "area": { "type": "rect", "rect": { "x": 0, "y": 100, "width": -1, "height": -201 } },
+ "comment": "Range of IDs that will always be placed on layer 1001, negative rect values are interpreted as output_size.dimension - $value",
+
+ "split_layouts": [
+ {
+ "name": "Media Player",
+ "main_match": "^App MPlayer Main$",
+ "sub_match": "^App MPlayer Sub",
+ "priority": 500,
+ "comment": "All Media Player sub surfaces can be put in a sub layout with the Media Player"
+ },
+ {
+ "name": "Playlist",
+ "main_match": "",
+ "sub_match": "^App MPlayer Sub Playlist$",
+ "priority": 100,
+ "comment": "Always allow the media player playlist to be displayed as sub surface"
+ },
+ {
+ "name": "Map",
+ "main_match": "^App Navi Map",
+ "sub_match": "^App Navi Guidance",
+ "priority": 1000
+ },
+ {
+ "name": "App1 example",
+ "main_match": "^App1",
+ "sub_match": ".*",
+ "priority": 1000
+ }
+ ]
},
{
"type": "range",
- "first_surface_id": "3000",
- "last_surface_id": "3999",
+ "first_surface_id": 3000,
+ "last_surface_id": 3999,
+ "role": "^OnScreen.*",
"name": "popups",
- "layer_id": "9999",
- "area": { "type": "rect", "rect": { "x": "0", "y": "100", "width": "-1", "height": "-201" } },
+ "layer_id": 9999,
+ "area": { "type": "rect", "rect": { "x": 0, "y": 300, "width": -1, "height": 400 } },
"comment": "Range of IDs that will always be placed on the popup layer, that gets a very high 'dummy' id of 9999"
}
],
"tests": [
- { "surface_id": "1000", "expect_layer_id": "1000" },
- { "surface_id": "1001", "expect_layer_id": "-1", "comment": "check against -1 for not found entries" },
- { "surface_id": "1999", "expect_layer_id": "-1" },
- { "surface_id": "2000", "expect_layer_id": "1001" },
- { "surface_id": "2500", "expect_layer_id": "1001" },
- { "surface_id": "2999", "expect_layer_id": "1001" },
- { "surface_id": "3000", "expect_layer_id": "9999" },
- { "surface_id": "3500", "expect_layer_id": "9999" },
- { "surface_id": "3999", "expect_layer_id": "9999" },
- { "surface_id": "4711", "expect_layer_id": "-1" }
+ { "surface_id": 1000, "expect_layer_id": 1000 },
+ { "surface_id": 1001, "expect_layer_id": -1, "comment": "check against -1 for not found entries" },
+ { "surface_id": 1999, "expect_layer_id": -1 },
+ { "surface_id": 2000, "expect_layer_id": 1001 },
+ { "surface_id": 2500, "expect_layer_id": 1001 },
+ { "surface_id": 2999, "expect_layer_id": 1001 },
+ { "surface_id": 3000, "expect_layer_id": 9999 },
+ { "surface_id": 3500, "expect_layer_id": 9999 },
+ { "surface_id": 3999, "expect_layer_id": 9999 },
+ { "surface_id": 4711, "expect_layer_id": -1 }
]
}