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 22 matching lines...) Expand all Loading... |
33 | 33 |
34 namespace views { | 34 namespace views { |
35 class View; | 35 class View; |
36 } | 36 } |
37 | 37 |
38 namespace ash { | 38 namespace ash { |
39 class FocusCycler; | 39 class FocusCycler; |
40 class ShelfDelegate; | 40 class ShelfDelegate; |
41 class ShelfIconObserver; | 41 class ShelfIconObserver; |
42 class ShelfModel; | 42 class ShelfModel; |
43 class WmShelfAura; | |
44 | 43 |
45 namespace test { | 44 namespace test { |
46 class ShelfTestAPI; | 45 class ShelfTestAPI; |
47 } | 46 } |
48 | 47 |
49 // Controller for shelf state. All access to state (visibility, auto-hide, etc.) | 48 // Controller for shelf state. All access to state (visibility, auto-hide, etc.) |
50 // should occur via this class. | 49 // should occur via this class. |
51 class ASH_EXPORT Shelf { | 50 class ASH_EXPORT Shelf { |
52 public: | 51 public: |
53 static const char kNativeViewName[]; | 52 static const char kNativeViewName[]; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 return shelf_widget_->shelf_layout_manager(); | 147 return shelf_widget_->shelf_layout_manager(); |
149 } | 148 } |
150 | 149 |
151 // Returns rectangle bounding all visible shelf items. Used screen coordinate | 150 // Returns rectangle bounding all visible shelf items. Used screen coordinate |
152 // system. | 151 // system. |
153 gfx::Rect GetVisibleItemsBoundsInScreen() const; | 152 gfx::Rect GetVisibleItemsBoundsInScreen() const; |
154 | 153 |
155 // Returns ApplicationDragAndDropHost for this shelf. | 154 // Returns ApplicationDragAndDropHost for this shelf. |
156 app_list::ApplicationDragAndDropHost* GetDragAndDropHostForAppList(); | 155 app_list::ApplicationDragAndDropHost* GetDragAndDropHostForAppList(); |
157 | 156 |
158 WmShelfAura* wm_shelf() { return wm_shelf_.get(); } | |
159 | |
160 private: | 157 private: |
161 friend class test::ShelfTestAPI; | 158 friend class test::ShelfTestAPI; |
162 | 159 |
163 std::unique_ptr<WmShelfAura> wm_shelf_; | |
164 ShelfDelegate* delegate_; | 160 ShelfDelegate* delegate_; |
165 ShelfWidget* shelf_widget_; | 161 ShelfWidget* shelf_widget_; |
166 ShelfView* shelf_view_; | 162 ShelfView* shelf_view_; |
167 ShelfLockingManager shelf_locking_manager_; | 163 ShelfLockingManager shelf_locking_manager_; |
168 | 164 |
169 ShelfAlignment alignment_ = SHELF_ALIGNMENT_BOTTOM; | 165 ShelfAlignment alignment_ = SHELF_ALIGNMENT_BOTTOM; |
170 ShelfAutoHideBehavior auto_hide_behavior_ = SHELF_AUTO_HIDE_BEHAVIOR_NEVER; | 166 ShelfAutoHideBehavior auto_hide_behavior_ = SHELF_AUTO_HIDE_BEHAVIOR_NEVER; |
171 | 167 |
172 DISALLOW_COPY_AND_ASSIGN(Shelf); | 168 DISALLOW_COPY_AND_ASSIGN(Shelf); |
173 }; | 169 }; |
174 | 170 |
175 } // namespace ash | 171 } // namespace ash |
176 | 172 |
177 #endif // ASH_SHELF_SHELF_H_ | 173 #endif // ASH_SHELF_SHELF_H_ |
OLD | NEW |