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