2 // Created by m on 7/27/17.
5 #ifndef TMCAGLWM_LAYERS_H
6 #define TMCAGLWM_LAYERS_H
13 #include "wayland.hpp"
17 struct surface_id_to_layer {
20 std::string name = "";
24 explicit surface_id_to_layer(nlohmann::json const &j);
26 bool operator<(struct surface_id_to_layer const &rhs) const {
27 return this->id_max < rhs.id_max;
31 // Actually, we shouldn't need a struct here ... but let's just keep it at that
32 // for now, to contain its mapping type and the _single_ useful method.
33 struct surface_id_to_layer_map {
34 typedef std::set<struct surface_id_to_layer> surface_to_layer_map_type;
35 typedef std::vector<unsigned int> layers_type;
37 surface_to_layer_map_type mapping;
40 optional<int> get_layer_for_surface(int surface_id);
41 optional<genivi::rect> get_rect_for_surface(int surface_id);
42 layers_type::size_type get_layers_count() const {
43 return this->layers.size();
47 struct result<struct surface_id_to_layer_map> to_surface_id_to_layer_map(
48 nlohmann::json const &j);
52 #endif // TMCAGLWM_LAYERS_H