OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_ | 5 #ifndef ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_ |
6 #define ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_ | 6 #define ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <set> | 9 #include <set> |
10 | 10 |
11 #include "ash/ash_export.h" | 11 #include "ash/ash_export.h" |
12 #include "ash/common/shell_observer.h" | 12 #include "ash/common/shell_observer.h" |
13 #include "ash/common/wm/window_state_observer.h" | 13 #include "ash/common/wm/window_state_observer.h" |
14 #include "ash/common/wm/wm_types.h" | 14 #include "ash/common/wm/wm_types.h" |
15 #include "ash/common/wm_activation_observer.h" | 15 #include "ash/common/wm_activation_observer.h" |
16 #include "ash/common/wm_layout_manager.h" | 16 #include "ash/common/wm_layout_manager.h" |
17 #include "ash/common/wm_window_observer.h" | 17 #include "ash/common/wm_window_observer.h" |
18 #include "base/macros.h" | 18 #include "base/macros.h" |
19 #include "ui/display/display_observer.h" | 19 #include "ui/display/display_observer.h" |
20 #include "ui/gfx/geometry/rect.h" | 20 #include "ui/gfx/geometry/rect.h" |
21 #include "ui/keyboard/keyboard_controller_observer.h" | 21 #include "ui/keyboard/keyboard_controller_observer.h" |
22 | 22 |
23 namespace ash { | 23 namespace ash { |
| 24 class RootWindowController; |
24 class WmShell; | 25 class WmShell; |
25 class WmRootWindowController; | |
26 class WorkspaceLayoutManagerBackdropDelegate; | 26 class WorkspaceLayoutManagerBackdropDelegate; |
27 | 27 |
28 namespace wm { | 28 namespace wm { |
29 class WMEvent; | 29 class WMEvent; |
30 } | 30 } |
31 | 31 |
32 // LayoutManager used on the window created for a workspace. | 32 // LayoutManager used on the window created for a workspace. |
33 class ASH_EXPORT WorkspaceLayoutManager | 33 class ASH_EXPORT WorkspaceLayoutManager |
34 : public WmLayoutManager, | 34 : public WmLayoutManager, |
35 public WmWindowObserver, | 35 public WmWindowObserver, |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 // Updates the fullscreen state of the workspace and notifies Shell if it | 109 // Updates the fullscreen state of the workspace and notifies Shell if it |
110 // has changed. | 110 // has changed. |
111 void UpdateFullscreenState(); | 111 void UpdateFullscreenState(); |
112 | 112 |
113 // Updates the always-on-top state for windows managed by this layout | 113 // Updates the always-on-top state for windows managed by this layout |
114 // manager. | 114 // manager. |
115 void UpdateAlwaysOnTop(WmWindow* window_on_top); | 115 void UpdateAlwaysOnTop(WmWindow* window_on_top); |
116 | 116 |
117 WmWindow* window_; | 117 WmWindow* window_; |
118 WmWindow* root_window_; | 118 WmWindow* root_window_; |
119 WmRootWindowController* root_window_controller_; | 119 RootWindowController* root_window_controller_; |
120 WmShell* shell_; | 120 WmShell* shell_; |
121 | 121 |
122 // Set of windows we're listening to. | 122 // Set of windows we're listening to. |
123 WindowSet windows_; | 123 WindowSet windows_; |
124 | 124 |
125 // The work area in the coordinates of |window_|. | 125 // The work area in the coordinates of |window_|. |
126 gfx::Rect work_area_in_parent_; | 126 gfx::Rect work_area_in_parent_; |
127 | 127 |
128 // True if this workspace is currently in fullscreen mode. | 128 // True if this workspace is currently in fullscreen mode. |
129 bool is_fullscreen_; | 129 bool is_fullscreen_; |
130 | 130 |
131 // A window which covers the full container and which gets inserted behind the | 131 // A window which covers the full container and which gets inserted behind the |
132 // topmost visible window. | 132 // topmost visible window. |
133 std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> backdrop_delegate_; | 133 std::unique_ptr<WorkspaceLayoutManagerBackdropDelegate> backdrop_delegate_; |
134 | 134 |
135 DISALLOW_COPY_AND_ASSIGN(WorkspaceLayoutManager); | 135 DISALLOW_COPY_AND_ASSIGN(WorkspaceLayoutManager); |
136 }; | 136 }; |
137 | 137 |
138 } // namespace ash | 138 } // namespace ash |
139 | 139 |
140 #endif // ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_ | 140 #endif // ASH_COMMON_WM_WORKSPACE_WORKSPACE_LAYOUT_MANAGER_H_ |
OLD | NEW |