Index: ash/wm/workspace/workspace_layout_manager_delegate.h |
diff --git a/ash/wm/workspace/workspace_layout_manager_delegate.h b/ash/wm/workspace/workspace_layout_manager_delegate.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9d8934468dc9de8b3895e14776c151fd616910af |
--- /dev/null |
+++ b/ash/wm/workspace/workspace_layout_manager_delegate.h |
@@ -0,0 +1,49 @@ |
+// Copyright (c) 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_ |
+#define ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_ |
+ |
+#include "ash/wm/wm_types.h" |
+ |
+namespace aura { |
+class Window; |
+} |
+ |
+namespace ash { |
+namespace wm { |
+class WindowState; |
+} |
+ |
+namespace internal { |
+ |
+// A delegate which can be set to create and control a backdrop which gets |
+// placed below the top level window. |
+class WorkspaceLayoutManagerDelegate { |
+ public: |
+ WorkspaceLayoutManagerDelegate() {} |
+ virtual ~WorkspaceLayoutManagerDelegate() {} |
+ |
+ // A window got added to the layout. |
+ virtual void OnWindowAddedToLayout(aura::Window* child) = 0; |
+ |
+ // A window got removed from the layout. |
+ virtual void OnWindowRemovedFromLayout(aura::Window* child) = 0; |
+ |
+ // The visibility of a window has changed. |
+ virtual void OnChildWindowVisibilityChanged(aura::Window* child, |
+ bool visible) = 0; |
+ |
+ // The stacking order of a window has changed. |
+ virtual void OnWindowStackingChanged(aura::Window* window) = 0; |
+ |
+ // A window state type has changed. |
+ virtual void OnPostWindowStateTypeChange(wm::WindowState* window_state, |
+ wm::WindowStateType old_type) = 0; |
+}; |
+ |
+} // namespace internal |
+} // namespace ash |
+ |
+#endif // ASH_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_DELEGATE_H_ |