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_LAUNCHER_LAUNCHER_BUTTON_HOST_H_ | 5 #ifndef ASH_LAUNCHER_LAUNCHER_BUTTON_HOST_H_ |
6 #define ASH_LAUNCHER_LAUNCHER_BUTTON_HOST_H_ | 6 #define ASH_LAUNCHER_LAUNCHER_BUTTON_HOST_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include "ash/ash_export.h" | 9 #include "ash/ash_export.h" |
| 10 #include "ash/wm/shelf_auto_hide_behavior.h" |
10 #include "base/string16.h" | 11 #include "base/string16.h" |
11 | 12 |
12 namespace views { | 13 namespace views { |
13 class MouseEvent; | 14 class MouseEvent; |
14 class View; | 15 class View; |
15 } | 16 } |
16 | 17 |
17 namespace ash { | 18 namespace ash { |
18 namespace internal { | 19 namespace internal { |
19 | 20 |
20 // The launcher buttons communicate back to the host by way of this interface. | 21 // The launcher buttons communicate back to the host by way of this interface. |
21 // This interface is used to enable reordering the items on the launcher. | 22 // This interface is used to enable reordering the items on the launcher. |
22 class ASH_EXPORT LauncherButtonHost { | 23 class ASH_EXPORT LauncherButtonHost { |
23 public: | 24 public: |
24 // Invoked when the mose is pressed on a view. | 25 // Invoked when the mose is pressed on a view. |
25 virtual void MousePressedOnButton(views::View* view, | 26 virtual void MousePressedOnButton(views::View* view, |
26 const views::MouseEvent& event) = 0; | 27 const views::MouseEvent& event) = 0; |
27 | 28 |
28 // Invoked when the mouse is dragged over a view. | 29 // Invoked when the mouse is dragged over a view. |
29 virtual void MouseDraggedOnButton(views::View* view, | 30 virtual void MouseDraggedOnButton(views::View* view, |
30 const views::MouseEvent& event) = 0; | 31 const views::MouseEvent& event) = 0; |
31 | 32 |
32 // Invoked either if the mouse is released or mouse capture canceled. | 33 // Invoked either if the mouse is released or mouse capture canceled. |
33 virtual void MouseReleasedOnButton(views::View* view, | 34 virtual void MouseReleasedOnButton(views::View* view, |
34 bool canceled) = 0; | 35 bool canceled) = 0; |
35 | 36 |
36 // Invoked when the mouse exits the item. | 37 // Invoked when the mouse exits the item. |
37 virtual void MouseExitedButton(views::View* view) = 0; | 38 virtual void MouseExitedButton(views::View* view) = 0; |
38 | 39 |
| 40 virtual ShelfAlignment GetShelfAlignment() const = 0; |
| 41 |
39 // Invoked to get the accessible name of the item. | 42 // Invoked to get the accessible name of the item. |
40 virtual string16 GetAccessibleName(const views::View* view) = 0; | 43 virtual string16 GetAccessibleName(const views::View* view) = 0; |
41 | 44 |
42 protected: | 45 protected: |
43 virtual ~LauncherButtonHost() {} | 46 virtual ~LauncherButtonHost() {} |
44 }; | 47 }; |
45 | 48 |
46 } // namespace internal | 49 } // namespace internal |
47 } // namespace ash | 50 } // namespace ash |
48 | 51 |
49 #endif // ASH_LAUNCHER_LAUNCHER_BUTTON_HOST_H_ | 52 #endif // ASH_LAUNCHER_LAUNCHER_BUTTON_HOST_H_ |
OLD | NEW |