X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwm_layer_control.hpp;h=68acd669210b6636a80ad6d5e51c34f7df376fda;hb=refs%2Fchanges%2F69%2F21169%2F1;hp=5244bf5d39fa211de4d8f659d34523337621beb8;hpb=6819f403a6b8a1ab5e8cdffd9fd1460d49045059;p=apps%2Fagl-service-windowmanager.git diff --git a/src/wm_layer_control.hpp b/src/wm_layer_control.hpp index 5244bf5..68acd66 100644 --- a/src/wm_layer_control.hpp +++ b/src/wm_layer_control.hpp @@ -63,8 +63,8 @@ class LayerControl explicit LayerControl(const std::string& root); ~LayerControl() = default; WMError init(const LayerControlCallbacks& cb); - void createLayers(); - unsigned getLayerID(const std::string& role); + void createNewLayer(unsigned id); + unsigned getNewLayerID(const std::string& role); std::shared_ptr getWMLayer(unsigned layer); std::shared_ptr getWMLayer(std::string layer_name); struct rect getAreaSize(const std::string& area); @@ -73,9 +73,14 @@ class LayerControl double scale(); WMError renderLayers(); WMError setXDGSurfaceOriginSize(unsigned surface); + void undoUpdate(); WMError layoutChange(const WMAction& action); WMError visibilityChange(const WMAction &action); - void addSurface(unsigned surface, unsigned layer); + const std::unordered_map& getAreaList() {return this->area2size;} + WMError updateAreaList(const ChangeAreaReq& req); + WMError getUpdateAreaList(ChangeAreaReq* req); + WMError changeAreaSize(std::shared_ptr client, const std::string& area); + void appTerminated(const std::shared_ptr client); // Don't use this function. void dispatchCreateEvent(ilmObjectType object, unsigned id, bool created); @@ -83,14 +88,13 @@ class LayerControl void dispatchLayerPropChangeEvent(unsigned id, struct ilmLayerProperties*, t_ilm_notification_mask); private: - WMError makeVisible(const std::shared_ptr client, const std::string& role); - WMError makeInvisible(const std::shared_ptr client, const std::string& role); - bool moveForeGround(const std::shared_ptr client, const std::string& role); - bool moveBackGround(const std::shared_ptr client, const std::string& role); + WMError makeVisible(const std::shared_ptr client); + WMError makeInvisible(const std::shared_ptr client); + bool moveForeGround(const std::shared_ptr client); + bool moveBackGround(const std::shared_ptr client); WMError loadLayerSetting(const std::string& path); WMError loadAreaDb(const std::string& path); - std::vector surface_bg; // For CES demo std::vector> wm_layers; std::unordered_map lid2wmlid; std::unordered_map area2size;