app: implement configured surface areas from ids.json
[staging/windowmanager.git] / src / layers.hpp
index ec24a74..a827928 100644 (file)
@@ -9,6 +9,7 @@
 #include <set>
 #include <string>
 
+#include "wayland.hpp"
 #include "result.hpp"
 
 namespace wm {
@@ -18,6 +19,7 @@ struct surface_id_to_layer {
    int id_max = -1;
    std::string name = "";
    int layer_id = -1;
+   genivi::rect rect;
 
    explicit surface_id_to_layer(nlohmann::json const &j);
 
@@ -26,8 +28,8 @@ struct surface_id_to_layer {
    }
 };
 
-// Actually, we shouldn't need a struct here ... but let's just keep it at that for now,
-// to contain its mapping type and the _single_ useful method.
+// Actually, we shouldn't need a struct here ... but let's just keep it at that
+// for now, to contain its mapping type and the _single_ useful method.
 struct surface_id_to_layer_map {
    typedef std::set<struct surface_id_to_layer> surface_to_layer_map_type;
    typedef std::vector<unsigned int> layers_type;
@@ -36,6 +38,7 @@ struct surface_id_to_layer_map {
    layers_type layers;
 
    optional<int> get_layer_for_surface(int surface_id);
+   optional<genivi::rect> get_rect_for_surface(int surface_id);
    layers_type::size_type get_layers_count() const {
       return this->layers.size();
    }