{ "comment": "Surface ID to Layer ID mapping", "main_surface": { "surface_id": 1000, "surface_role": "HomeScreen", "comment": "This surface should never be made invisible (The HomeScreen)" }, "dynamic_ids_start": 16777216, "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, "role": "^HomeScreen$", "name": "HomeScreen", "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, "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" }, { "type": "range", "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 } }, "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 } ] }