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_SHELF_SHELF_LAYOUT_MANAGER_H_ | 5 #ifndef ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
6 #define ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ | 6 #define ASH_SHELF_SHELF_LAYOUT_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 29 matching lines...) Expand all Loading... |
40 | 40 |
41 namespace ash { | 41 namespace ash { |
42 class PanelLayoutManagerTest; | 42 class PanelLayoutManagerTest; |
43 class ScreenAsh; | 43 class ScreenAsh; |
44 class ShelfBezelEventFilter; | 44 class ShelfBezelEventFilter; |
45 class ShelfLayoutManagerObserver; | 45 class ShelfLayoutManagerObserver; |
46 class ShelfLayoutManagerTest; | 46 class ShelfLayoutManagerTest; |
47 class ShelfWidget; | 47 class ShelfWidget; |
48 class StatusAreaWidget; | 48 class StatusAreaWidget; |
49 class WorkspaceController; | 49 class WorkspaceController; |
| 50 FORWARD_DECLARE_TEST(AshPopupAlignmentDelegateTest, AutoHide); |
50 FORWARD_DECLARE_TEST(WebNotificationTrayTest, PopupAndFullscreen); | 51 FORWARD_DECLARE_TEST(WebNotificationTrayTest, PopupAndFullscreen); |
51 | 52 |
52 // ShelfLayoutManager is the layout manager responsible for the shelf and | 53 // ShelfLayoutManager is the layout manager responsible for the shelf and |
53 // status widgets. The shelf is given the total available width and told the | 54 // status widgets. The shelf is given the total available width and told the |
54 // width of the status area. This allows the shelf to draw the background and | 55 // width of the status area. This allows the shelf to draw the background and |
55 // layout to the status area. | 56 // layout to the status area. |
56 // To respond to bounds changes in the status area StatusAreaLayoutManager works | 57 // To respond to bounds changes in the status area StatusAreaLayoutManager works |
57 // closely with ShelfLayoutManager. | 58 // closely with ShelfLayoutManager. |
58 class ASH_EXPORT ShelfLayoutManager : | 59 class ASH_EXPORT ShelfLayoutManager : |
59 public aura::LayoutManager, | 60 public aura::LayoutManager, |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 // Returns a ShelfLayoutManager on the display which has a shelf for | 220 // Returns a ShelfLayoutManager on the display which has a shelf for |
220 // given |window|. See RootWindowController::ForShelf for more info. | 221 // given |window|. See RootWindowController::ForShelf for more info. |
221 static ShelfLayoutManager* ForShelf(aura::Window* window); | 222 static ShelfLayoutManager* ForShelf(aura::Window* window); |
222 | 223 |
223 private: | 224 private: |
224 class AutoHideEventFilter; | 225 class AutoHideEventFilter; |
225 class UpdateShelfObserver; | 226 class UpdateShelfObserver; |
226 friend class ash::ScreenAsh; | 227 friend class ash::ScreenAsh; |
227 friend class PanelLayoutManagerTest; | 228 friend class PanelLayoutManagerTest; |
228 friend class ShelfLayoutManagerTest; | 229 friend class ShelfLayoutManagerTest; |
| 230 FRIEND_TEST_ALL_PREFIXES(ash::AshPopupAlignmentDelegateTest, AutoHide); |
229 FRIEND_TEST_ALL_PREFIXES(ash::WebNotificationTrayTest, PopupAndFullscreen); | 231 FRIEND_TEST_ALL_PREFIXES(ash::WebNotificationTrayTest, PopupAndFullscreen); |
230 | 232 |
231 struct TargetBounds { | 233 struct TargetBounds { |
232 TargetBounds(); | 234 TargetBounds(); |
233 ~TargetBounds(); | 235 ~TargetBounds(); |
234 | 236 |
235 float opacity; | 237 float opacity; |
236 float status_opacity; | 238 float status_opacity; |
237 gfx::Rect shelf_bounds_in_root; | 239 gfx::Rect shelf_bounds_in_root; |
238 gfx::Rect shelf_bounds_in_shelf; | 240 gfx::Rect shelf_bounds_in_shelf; |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
398 | 400 |
399 // The show hide animation duration override or 0 for default. | 401 // The show hide animation duration override or 0 for default. |
400 int duration_override_in_ms_; | 402 int duration_override_in_ms_; |
401 | 403 |
402 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); | 404 DISALLOW_COPY_AND_ASSIGN(ShelfLayoutManager); |
403 }; | 405 }; |
404 | 406 |
405 } // namespace ash | 407 } // namespace ash |
406 | 408 |
407 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ | 409 #endif // ASH_SHELF_SHELF_LAYOUT_MANAGER_H_ |
OLD | NEW |