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_WM_WORKSPACE_MANAGER_H_ | 5 #ifndef ASH_WM_WORKSPACE_MANAGER_H_ |
6 #define ASH_WM_WORKSPACE_MANAGER_H_ | 6 #define ASH_WM_WORKSPACE_MANAGER_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "ash/ash_export.h" | 10 #include "ash/ash_export.h" |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 // Returns the bounds in which a window can be moved/resized. | 57 // Returns the bounds in which a window can be moved/resized. |
58 gfx::Rect GetDragAreaBounds(); | 58 gfx::Rect GetDragAreaBounds(); |
59 | 59 |
60 // Turn on/off overview mode. | 60 // Turn on/off overview mode. |
61 void SetOverview(bool overview); | 61 void SetOverview(bool overview); |
62 bool is_overview() const { return is_overview_; } | 62 bool is_overview() const { return is_overview_; } |
63 | 63 |
64 // Sets the size of a single workspace (all workspaces have the same size). | 64 // Sets the size of a single workspace (all workspaces have the same size). |
65 void SetWorkspaceSize(const gfx::Size& workspace_size); | 65 void SetWorkspaceSize(const gfx::Size& workspace_size); |
66 | 66 |
| 67 // Called when screen work area insets changes. |
| 68 void OnScreenWorkAreaInsetsChanged(); |
| 69 |
67 // Returns the window the layout manager should allow the size to be set for. | 70 // Returns the window the layout manager should allow the size to be set for. |
68 // TODO: maybe this should be set on WorkspaceLayoutManager. | 71 // TODO: maybe this should be set on WorkspaceLayoutManager. |
69 aura::Window* ignored_window() { return ignored_window_; } | 72 aura::Window* ignored_window() { return ignored_window_; } |
70 | 73 |
71 // Sets the size of the grid. Newly added windows are forced to align to the | 74 // Sets the size of the grid. Newly added windows are forced to align to the |
72 // size of the grid. | 75 // size of the grid. |
73 void set_grid_size(int size) { grid_size_ = size; } | 76 void set_grid_size(int size) { grid_size_ = size; } |
74 int grid_size() const { return grid_size_; } | 77 int grid_size() const { return grid_size_; } |
75 | 78 |
76 // Returns a bounds aligned to the grid. Returns |bounds| if grid_size is 0. | 79 // Returns a bounds aligned to the grid. Returns |bounds| if grid_size is 0. |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 // that the bounds change is allowed through. | 135 // that the bounds change is allowed through. |
133 void SetWindowBounds(aura::Window* window, const gfx::Rect& bounds); | 136 void SetWindowBounds(aura::Window* window, const gfx::Rect& bounds); |
134 | 137 |
135 // Resets the bounds of |window| to its restored bounds (if set), ensuring | 138 // Resets the bounds of |window| to its restored bounds (if set), ensuring |
136 // it fits in the the windows current workspace. | 139 // it fits in the the windows current workspace. |
137 void SetWindowBoundsFromRestoreBounds(aura::Window* window); | 140 void SetWindowBoundsFromRestoreBounds(aura::Window* window); |
138 | 141 |
139 // Reset the bounds of |window|. Use when |window| is fullscreen or maximized. | 142 // Reset the bounds of |window|. Use when |window| is fullscreen or maximized. |
140 void SetFullScreenOrMaximizedBounds(aura::Window* window); | 143 void SetFullScreenOrMaximizedBounds(aura::Window* window); |
141 | 144 |
| 145 // Sets the bounds of all workspaces. |
| 146 void SetWorkspaceBounds(); |
| 147 |
142 // Invoked when the type of workspace needed for |window| changes. | 148 // Invoked when the type of workspace needed for |window| changes. |
143 void OnTypeOfWorkspacedNeededChanged(aura::Window* window); | 149 void OnTypeOfWorkspacedNeededChanged(aura::Window* window); |
144 | 150 |
145 // Returns the Workspace whose type is TYPE_MANAGED, or NULL if there isn't | 151 // Returns the Workspace whose type is TYPE_MANAGED, or NULL if there isn't |
146 // one. | 152 // one. |
147 Workspace* GetManagedWorkspace(); | 153 Workspace* GetManagedWorkspace(); |
148 | 154 |
149 // Creates a new workspace of the specified type. | 155 // Creates a new workspace of the specified type. |
150 Workspace* CreateWorkspace(Workspace::Type type); | 156 Workspace* CreateWorkspace(Workspace::Type type); |
151 | 157 |
(...skipping 19 matching lines...) Expand all Loading... |
171 // Owned by the Shell container window LauncherContainer. May be NULL. | 177 // Owned by the Shell container window LauncherContainer. May be NULL. |
172 ShelfLayoutManager* shelf_; | 178 ShelfLayoutManager* shelf_; |
173 | 179 |
174 DISALLOW_COPY_AND_ASSIGN(WorkspaceManager); | 180 DISALLOW_COPY_AND_ASSIGN(WorkspaceManager); |
175 }; | 181 }; |
176 | 182 |
177 } // namespace internal | 183 } // namespace internal |
178 } // namespace ash | 184 } // namespace ash |
179 | 185 |
180 #endif // ASH_WM_WORKSPACE_MANAGER_H_ | 186 #endif // ASH_WM_WORKSPACE_MANAGER_H_ |
OLD | NEW |