OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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_COMMON_WM_SHELF_WM_SHELF_H_ | 5 #ifndef ASH_COMMON_SHELF_WM_SHELF_H_ |
6 #define ASH_COMMON_WM_SHELF_WM_SHELF_H_ | 6 #define ASH_COMMON_SHELF_WM_SHELF_H_ |
7 | 7 |
8 #include "ash/ash_export.h" | 8 #include "ash/ash_export.h" |
9 #include "ash/common/wm/shelf/wm_shelf_types.h" | 9 #include "ash/common/shelf/shelf_types.h" |
10 | 10 |
11 namespace gfx { | 11 namespace gfx { |
12 class Rect; | 12 class Rect; |
13 } | 13 } |
14 | 14 |
15 namespace ash { | 15 namespace ash { |
16 | 16 |
| 17 class WmShelfObserver; |
17 class WmWindow; | 18 class WmWindow; |
18 | 19 |
19 namespace wm { | |
20 | |
21 class WmShelfObserver; | |
22 | |
23 // Used for accessing global state. | 20 // Used for accessing global state. |
24 class ASH_EXPORT WmShelf { | 21 class ASH_EXPORT WmShelf { |
25 public: | 22 public: |
26 // Returns the window showing the shelf. | 23 // Returns the window showing the shelf. |
27 virtual WmWindow* GetWindow() = 0; | 24 virtual WmWindow* GetWindow() = 0; |
28 | 25 |
29 virtual ShelfAlignment GetAlignment() const = 0; | 26 virtual ShelfAlignment GetAlignment() const = 0; |
30 | 27 |
31 virtual ShelfBackgroundType GetBackgroundType() const = 0; | 28 virtual ShelfBackgroundType GetBackgroundType() const = 0; |
32 | 29 |
33 virtual void UpdateVisibilityState() = 0; | 30 virtual void UpdateVisibilityState() = 0; |
34 | 31 |
35 virtual ShelfVisibilityState GetVisibilityState() const = 0; | 32 virtual ShelfVisibilityState GetVisibilityState() const = 0; |
36 | 33 |
37 virtual void UpdateIconPositionForWindow(WmWindow* window) = 0; | 34 virtual void UpdateIconPositionForWindow(WmWindow* window) = 0; |
38 | 35 |
39 // Returns the screen bounds of the item for the specified window. If there is | 36 // Returns the screen bounds of the item for the specified window. If there is |
40 // no item for the specified window an empty rect is returned. | 37 // no item for the specified window an empty rect is returned. |
41 virtual gfx::Rect GetScreenBoundsOfItemIconForWindow(WmWindow* window) = 0; | 38 virtual gfx::Rect GetScreenBoundsOfItemIconForWindow(WmWindow* window) = 0; |
42 | 39 |
43 virtual void AddObserver(WmShelfObserver* observer) = 0; | 40 virtual void AddObserver(WmShelfObserver* observer) = 0; |
44 virtual void RemoveObserver(WmShelfObserver* observer) = 0; | 41 virtual void RemoveObserver(WmShelfObserver* observer) = 0; |
45 | 42 |
46 protected: | 43 protected: |
47 virtual ~WmShelf() {} | 44 virtual ~WmShelf() {} |
48 }; | 45 }; |
49 | 46 |
50 } // namespace wm | |
51 } // namespace ash | 47 } // namespace ash |
52 | 48 |
53 #endif // ASH_COMMON_WM_SHELF_WM_SHELF_H_ | 49 #endif // ASH_COMMON_SHELF_WM_SHELF_H_ |
OLD | NEW |