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
3 // found in the LICENSE file.
5 #ifndef ASH_SHELF_APP_LIST_BUTTON_H_
6 #define ASH_SHELF_APP_LIST_BUTTON_H_
8 #include "ui/views/controls/button/image_button.h"
13 class ShelfButtonHost;
15 // Button used for the AppList icon on the shelf.
16 class AppListButton : public views::ImageButton {
18 AppListButton(views::ButtonListener* listener, ShelfButtonHost* host);
19 virtual ~AppListButton();
21 void StartLoadingAnimation();
22 void StopLoadingAnimation();
25 // views::ImageButton:
26 virtual bool OnMousePressed(const ui::MouseEvent& event) OVERRIDE;
27 virtual void OnMouseReleased(const ui::MouseEvent& event) OVERRIDE;
28 virtual void OnMouseCaptureLost() OVERRIDE;
29 virtual bool OnMouseDragged(const ui::MouseEvent& event) OVERRIDE;
30 virtual void OnMouseMoved(const ui::MouseEvent& event) OVERRIDE;
31 virtual void OnMouseEntered(const ui::MouseEvent& event) OVERRIDE;
32 virtual void OnMouseExited(const ui::MouseEvent& event) OVERRIDE;
33 virtual void GetAccessibleState(ui::AXViewState* state) OVERRIDE;
36 ShelfButtonHost* host_;
38 DISALLOW_COPY_AND_ASSIGN(AppListButton);
41 } // namespace internal
44 #endif // ASH_SHELF_APP_LIST_BUTTON_H_