diff options
Diffstat (limited to 'src/libwindowmanager.h')
-rw-r--r-- | src/libwindowmanager.h | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/libwindowmanager.h b/src/libwindowmanager.h index cc65136..c9da4ca 100644 --- a/src/libwindowmanager.h +++ b/src/libwindowmanager.h @@ -20,6 +20,7 @@ #include <functional> #include <vector> #include <string> +#include <unordered_map> #include <json-c/json.h> class Rect { @@ -43,8 +44,7 @@ class Rect { unsigned _h; }; -struct Screen -{ +struct Screen { unsigned long width_dp; unsigned long height_dp; unsigned long width_mm; @@ -70,6 +70,23 @@ class WMHandler { screen_updated_handler on_screen_updated; }; +class ChangeAreaReq { + public: + ChangeAreaReq() {} + ~ChangeAreaReq() = default; + void setAreaReq(const std::unordered_map<std::string, Rect> &area_req) { this->_area_req = area_req; } + void addAreaReq(const std::string& area_name, const Rect& area_size) { this->_area_req[area_name] = area_size; } + void setSaveReq(bool save) { this->_save = save; } + bool getSave() const { return this->_save; } + void addAreaList(const std::string& area_name, const Rect& area_size){ this->_area_list[area_name] = area_size; } + const std::unordered_map<std::string, Rect>& getReq() const { return this->_area_req; } + const std::unordered_map<std::string, Rect>& getList() const { return this->_area_list; } + private: + std::unordered_map<std::string, Rect> _area_req; + std::unordered_map<std::string, Rect> _area_list; + bool _save = false; +}; + class LibWindowmanager { public: LibWindowmanager(); @@ -122,6 +139,8 @@ public: int deactivateWindow(const char* role); int endDraw(const char* role); struct Screen getScreenInfo(); + int getAreaList(ChangeAreaReq* req); + int changeAreaSize(const ChangeAreaReq& req); int getAreaInfo(const char* role, Rect *out_rect); void setEventHandler(const WMHandler& wmh); |