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
3 // found in the LICENSE file.
4 
5 #ifndef UI_VIEWS_ANIMATION_INK_DROP_STUB_H_
6 #define UI_VIEWS_ANIMATION_INK_DROP_STUB_H_
7 
8 #include "base/macros.h"
9 #include "ui/views/animation/ink_drop.h"
10 #include "ui/views/views_export.h"
11 
12 namespace views {
13 
14 // A stub implementation of an InkDrop that can be used when no visuals should
15 // be shown. e.g. material design is enabled.
16 class VIEWS_EXPORT InkDropStub : public InkDrop {
17  public:
18   InkDropStub();
19   ~InkDropStub() override;
20 
21   // InkDrop:
22   void HostSizeChanged(const gfx::Size& new_size) override;
23   void HostTransformChanged(const gfx::Transform& new_transform) override;
24   InkDropState GetTargetInkDropState() const override;
25   void AnimateToState(InkDropState state) override;
26   void SetHoverHighlightFadeDuration(base::TimeDelta duration) override;
27   void UseDefaultHoverHighlightFadeDuration() override;
28   void SnapToActivated() override;
29   void SnapToHidden() override;
30   void SetHovered(bool is_hovered) override;
31   void SetFocused(bool is_hovered) override;
32   bool IsHighlightFadingInOrVisible() const override;
33   void SetShowHighlightOnHover(bool show_highlight_on_hover) override;
34   void SetShowHighlightOnFocus(bool show_highlight_on_focus) override;
35 
36  private:
37   DISALLOW_COPY_AND_ASSIGN(InkDropStub);
38 };
39 
40 }  // namespace views
41 
42 #endif  // UI_VIEWS_ANIMATION_INK_DROP_STUB_H_
43