1 // Copyright 2017 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. 4 5 #ifndef ASH_LOGIN_UI_LOGIN_BUTTON_H_ 6 #define ASH_LOGIN_UI_LOGIN_BUTTON_H_ 7 8 #include "ash/ash_export.h" 9 #include "ui/views/controls/button/image_button.h" 10 #include "ui/views/view.h" 11 12 namespace ash { 13 14 // This class adds ripple effects for touch targets in the lockscreen. 15 class ASH_EXPORT LoginButton : public views::ImageButton { 16 public: 17 explicit LoginButton(PressedCallback callback); 18 ~LoginButton() override; 19 20 // views::InkDropHost: 21 std::unique_ptr<views::InkDropRipple> CreateInkDropRipple() const override; 22 std::unique_ptr<views::InkDropHighlight> CreateInkDropHighlight() 23 const override; 24 25 protected: 26 virtual int GetInkDropRadius() const; 27 28 private: 29 DISALLOW_COPY_AND_ASSIGN(LoginButton); 30 }; 31 32 } // namespace ash 33 34 #endif // ASH_LOGIN_UI_LOGIN_BUTTON_H_ 35