#ifndef ASH_SHELF_APP_LIST_BUTTON_H_
#define ASH_SHELF_APP_LIST_BUTTON_H_
#include "ui/views/controls/button/image_button.h"
namespace ash {
class ShelfButtonHost;
class AppListButton : public views::ImageButton {
public:
AppListButton(views::ButtonListener* listener, ShelfButtonHost* host);
virtual ~AppListButton();
void StartLoadingAnimation();
void StopLoadingAnimation();
protected:
virtual bool OnMousePressed(const ui::MouseEvent& event) OVERRIDE;
virtual void OnMouseReleased(const ui::MouseEvent& event) OVERRIDE;
virtual void OnMouseCaptureLost() OVERRIDE;
virtual bool OnMouseDragged(const ui::MouseEvent& event) OVERRIDE;
virtual void OnMouseMoved(const ui::MouseEvent& event) OVERRIDE;
virtual void OnMouseEntered(const ui::MouseEvent& event) OVERRIDE;
virtual void OnMouseExited(const ui::MouseEvent& event) OVERRIDE;
virtual void GetAccessibleState(ui::AXViewState* state) OVERRIDE;
private:
ShelfButtonHost* host_;
DISALLOW_COPY_AND_ASSIGN(AppListButton);
};
}
#endif