Update wm_client and applist
[apps/agl-service-windowmanager.git] / src / wm_layer_control.hpp
index ad6bf53..db482bf 100644 (file)
 \r
 namespace wm {\r
 \r
-class Screen : public rectangle {\r
-\r
+class Screen {\r
+  public:\r
+    Screen(unsigned w, unsigned h);\r
+    ~Screen();\r
+    unsigned width() { return _width; }\r
+    unsigned height() { return _height; }\r
+  private:\r
+    unsigned _width;\r
+    unsigned _height;\r
+    unsigned _pysical_width = 0;\r
+    unsigned _pysical_height = 0;\r
 };\r
 \r
 class LayerControlCallbacks {\r
@@ -51,7 +60,12 @@ class LayerControl
     explicit LayerControl(const std::string& root);\r
     ~LayerControl() = default;\r
     WMError init(const LayerControlCallbacks& cb);\r
-    unsigned getNewLayerID(const std::string& role);\r
+    void createNewLayer(unsigned id);\r
+    unsigned getNewLayerID(const std::string& role, std::string* layer_name);\r
+    struct rect getAreaSize(const std::string& area);\r
+    void setupArea(double scaling);\r
+    Screen getScreenInfo();\r
+    double scale();\r
     // void setRenderOrder(const std::vector<unsigned> layer_render_order);\r
     // std::vector<unsigned> getAllRenderOrder();\r
     // std::vector<std::shared_ptr<WMLayer>>& getAllLayers();\r
@@ -72,6 +86,7 @@ class LayerControl
     std::unordered_map<std::string, struct rect> area2size;\r
     unsigned screenID;\r
     struct ilmScreenProperties screen_prop;\r
+    double scaling;\r
     LayerControlCallbacks cb;\r
 };\r
 \r