2 // Created by m on 7/27/17.
5 #ifndef TMCAGLWM_LAYERS_H
6 #define TMCAGLWM_LAYERS_H
16 struct surface_id_to_layer {
19 std::string name = "";
22 explicit surface_id_to_layer(nlohmann::json const &j);
24 bool operator<(struct surface_id_to_layer const &rhs) const {
25 return this->id_max < rhs.id_max;
29 // Actually, we shouldn't need a struct here ... but let's just keep it at that
30 // for now, to contain its mapping type and the _single_ useful method.
31 struct surface_id_to_layer_map {
32 typedef std::set<struct surface_id_to_layer> surface_to_layer_map_type;
33 typedef std::vector<unsigned int> layers_type;
35 surface_to_layer_map_type mapping;
38 optional<int> get_layer_for_surface(int surface_id);
39 layers_type::size_type get_layers_count() const {
40 return this->layers.size();
44 struct result<struct surface_id_to_layer_map> to_surface_id_to_layer_map(
45 nlohmann::json const &j);
49 #endif // TMCAGLWM_LAYERS_H