| 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 |