-/*
- * WMLayer is the logical container of application/system application(such like HomeScreen)
- * This is handled by Window Manager to classify the application.
- */
-class WMLayer
-{
- public:
- enum MANAGEMENT_TYPE
- {
- TILE,
- STACK
- };
-
- explicit WMLayer(const std::string& name, MANAGEMENT_TYPE type, unsigned begin, unsigned end);
- virtual ~WMLayer();
-
- const std::string& layerName();
- MANAGEMENT_TYPE layerType();
- void appendRole(const std::string& name);
- void appendArea(const std::string& area);
-
-/* unsigned getNewID(const std::string& role);
- void remove(unsigned ivi_layer_id);
- void clear();
- bool attach(unsigned ivi_layer_id, const std::string& area);
- void stack(unsigned ivi_layer_id, const std::string& area);
- bool updateRenderOrder(const std::vector<unsigned> list); */
-
- private:
- std::string _name = ""; // Layer name
- MANAGEMENT_TYPE _type;
- std::vector<std::string> _roles;
- unsigned _id_begin;
- unsigned _id_end;
- // current holding apps. This dynamically changes.
- std::vector<unsigned> _ivi_layer_id_list;
- // std::map<std::string, unsigned> _render_order;
-};
-
-class LayerManager
-{
- public:
- void setRenderOrder(const std::vector<unsigned> layer_render_order);
- std::vector<unsigned> getAllRenderOrder();
- std::vector<std::shared_ptr<WMLayer>>& getAllLayers();
- std::vector<unsigned> getRenderOrder(const std::string& layer_name);
-};
-