OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_H_ | 5 #ifndef ASH_SHELF_SHELF_H_ |
6 #define ASH_SHELF_SHELF_H_ | 6 #define ASH_SHELF_SHELF_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 19 matching lines...) Expand all Loading... |
30 class Rect; | 30 class Rect; |
31 } | 31 } |
32 | 32 |
33 namespace views { | 33 namespace views { |
34 class View; | 34 class View; |
35 } | 35 } |
36 | 36 |
37 namespace ash { | 37 namespace ash { |
38 class AppListButton; | 38 class AppListButton; |
39 class FocusCycler; | 39 class FocusCycler; |
40 class ShelfBackgroundAnimator; | |
41 class ShelfDelegate; | 40 class ShelfDelegate; |
42 class ShelfIconObserver; | 41 class ShelfIconObserver; |
43 class ShelfModel; | 42 class ShelfModel; |
44 class ShelfView; | 43 class ShelfView; |
45 class WmShelf; | 44 class WmShelf; |
46 | 45 |
47 namespace test { | 46 namespace test { |
48 class ShelfTestAPI; | 47 class ShelfTestAPI; |
49 } | 48 } |
50 | 49 |
51 // Controller for shelf state. All access to state (visibility, auto-hide, etc.) | 50 // Controller for shelf state. All access to state (visibility, auto-hide, etc.) |
52 // should occur via this class. | 51 // should occur via this class. |
53 class ASH_EXPORT Shelf { | 52 class ASH_EXPORT Shelf { |
54 public: | 53 public: |
55 static const char kNativeViewName[]; | 54 static const char kNativeViewName[]; |
56 | 55 |
57 Shelf(ShelfModel* model, | 56 Shelf(ShelfModel* model, |
58 WmShelf* wm_shelf, | 57 WmShelf* wm_shelf, |
59 ShelfWidget* widget, | 58 ShelfWidget* widget); |
60 ShelfBackgroundAnimator* background_animator); | 59 virtual ~Shelf(); |
61 ~Shelf(); | |
62 | 60 |
63 // Return the shelf for the primary display. NULL if no user is logged in yet. | 61 // Return the shelf for the primary display. NULL if no user is logged in yet. |
64 // Useful for tests. For production code use ForWindow() because the user may | 62 // Useful for tests. For production code use ForWindow() because the user may |
65 // have multiple displays. | 63 // have multiple displays. |
66 static Shelf* ForPrimaryDisplay(); | 64 static Shelf* ForPrimaryDisplay(); |
67 | 65 |
68 // Return the shelf for the display that |window| is currently on, or a shelf | 66 // Return the shelf for the display that |window| is currently on, or a shelf |
69 // on primary display if the shelf per display feature is disabled. NULL if no | 67 // on primary display if the shelf per display feature is disabled. NULL if no |
70 // user is logged in yet. | 68 // user is logged in yet. |
71 static Shelf* ForWindow(const aura::Window* window); | 69 static Shelf* ForWindow(const aura::Window* window); |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
171 | 169 |
172 ShelfAlignment alignment_ = SHELF_ALIGNMENT_BOTTOM; | 170 ShelfAlignment alignment_ = SHELF_ALIGNMENT_BOTTOM; |
173 ShelfAutoHideBehavior auto_hide_behavior_ = SHELF_AUTO_HIDE_BEHAVIOR_NEVER; | 171 ShelfAutoHideBehavior auto_hide_behavior_ = SHELF_AUTO_HIDE_BEHAVIOR_NEVER; |
174 | 172 |
175 DISALLOW_COPY_AND_ASSIGN(Shelf); | 173 DISALLOW_COPY_AND_ASSIGN(Shelf); |
176 }; | 174 }; |
177 | 175 |
178 } // namespace ash | 176 } // namespace ash |
179 | 177 |
180 #endif // ASH_SHELF_SHELF_H_ | 178 #endif // ASH_SHELF_SHELF_H_ |
OLD | NEW |