Update wm_layer
[apps/agl-service-windowmanager.git] / src / wm_layer_control.hpp
index db482bf..7752fc4 100644 (file)
@@ -27,8 +27,7 @@ namespace wm {
 \r
 class Screen {\r
   public:\r
-    Screen(unsigned w, unsigned h);\r
-    ~Screen();\r
+    Screen(unsigned w, unsigned h) : _width(w), _height(h){}\r
     unsigned width() { return _width; }\r
     unsigned height() { return _height; }\r
   private:\r
@@ -54,6 +53,9 @@ class LayerControlCallbacks {
 \r
 class WMLayer;\r
 class LayerState;\r
+class WMAction;\r
+class WMClient;\r
+\r
 class LayerControl\r
 {\r
   public:\r
@@ -73,12 +75,16 @@ class LayerControl
     WMError updateLayer(LayerState& layer_state);\r
     WMError commitChange();\r
     void undoUpdate();\r
+    WMError layoutChange(const WMAction& action);\r
+    WMError visibilityChange(const WMAction &action);\r
 \r
     // Don't use this function.\r
     void dispatchCreateEvent(ilmObjectType object, unsigned id, bool created);\r
     void dispatchPropertyChangeEvent(unsigned id, struct ilmSurfaceProperties*, t_ilm_notification_mask);\r
     void dispatchPropertyChangeEvent(unsigned id, struct ilmLayerProperties*, t_ilm_notification_mask);\r
   private:\r
+    WMError makeVisible(const std::shared_ptr<WMClient> client);\r
+    WMError makeInvisible(const std::shared_ptr<WMClient> client);\r
     WMError loadLayerSetting(const std::string& path);\r
     WMError loadAreaDb(const std::string& path);\r
 \r