OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_IMPL_H_ | 5 #ifndef UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_IMPL_H_ |
6 #define UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_IMPL_H_ | 6 #define UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_IMPL_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "ui/gfx/geometry/rect.h" | 9 #include "ui/gfx/geometry/rect.h" |
10 #include "ui/gfx/geometry/size.h" | 10 #include "ui/gfx/geometry/size.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 public InkDropAnimationObserver { | 23 public InkDropAnimationObserver { |
24 public: | 24 public: |
25 // Constructs an ink drop controller that will attach the ink drop to the | 25 // Constructs an ink drop controller that will attach the ink drop to the |
26 // given |ink_drop_host|. | 26 // given |ink_drop_host|. |
27 explicit InkDropAnimationControllerImpl(InkDropHost* ink_drop_host); | 27 explicit InkDropAnimationControllerImpl(InkDropHost* ink_drop_host); |
28 ~InkDropAnimationControllerImpl() override; | 28 ~InkDropAnimationControllerImpl() override; |
29 | 29 |
30 // InkDropAnimationController: | 30 // InkDropAnimationController: |
31 InkDropState GetInkDropState() const override; | 31 InkDropState GetInkDropState() const override; |
32 void AnimateToState(InkDropState ink_drop_state) override; | 32 void AnimateToState(InkDropState ink_drop_state) override; |
| 33 bool WillAutoAnimateToHidden() const override; |
33 void SetHovered(bool is_hovered) override; | 34 void SetHovered(bool is_hovered) override; |
34 bool IsHovered() const override; | 35 bool IsHovered() const override; |
35 gfx::Size GetInkDropLargeSize() const override; | 36 gfx::Size GetInkDropLargeSize() const override; |
36 void SetInkDropSize(const gfx::Size& large_size, | 37 void SetInkDropSize(const gfx::Size& large_size, |
37 int large_corner_radius, | 38 int large_corner_radius, |
38 const gfx::Size& small_size, | 39 const gfx::Size& small_size, |
39 int small_corner_radius) override; | 40 int small_corner_radius) override; |
40 void SetInkDropCenter(const gfx::Point& center_point) override; | 41 void SetInkDropCenter(const gfx::Point& center_point) override; |
41 | 42 |
42 private: | 43 private: |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 // from the InkDropHost. | 84 // from the InkDropHost. |
84 scoped_ptr<ui::Layer> root_layer_; | 85 scoped_ptr<ui::Layer> root_layer_; |
85 | 86 |
86 // The current InkDropHover. Lazily created using CreateInkDropHover(); | 87 // The current InkDropHover. Lazily created using CreateInkDropHover(); |
87 scoped_ptr<InkDropHover> hover_; | 88 scoped_ptr<InkDropHover> hover_; |
88 | 89 |
89 // The current InkDropAnimation. Created on demand using | 90 // The current InkDropAnimation. Created on demand using |
90 // CreateInkDropAnimation(). | 91 // CreateInkDropAnimation(). |
91 scoped_ptr<InkDropAnimation> ink_drop_animation_; | 92 scoped_ptr<InkDropAnimation> ink_drop_animation_; |
92 | 93 |
| 94 // Tracks whether the InkDropAnimation can be destroyed when a |
| 95 // InkDropState::HIDDEN animation completes. |
| 96 bool can_destroy_after_hidden_animation_; |
| 97 |
93 DISALLOW_COPY_AND_ASSIGN(InkDropAnimationControllerImpl); | 98 DISALLOW_COPY_AND_ASSIGN(InkDropAnimationControllerImpl); |
94 }; | 99 }; |
95 | 100 |
96 } // namespace views | 101 } // namespace views |
97 | 102 |
98 #endif // UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_IMPL_H_ | 103 #endif // UI_VIEWS_ANIMATION_INK_DROP_ANIMATION_CONTROLLER_IMPL_H_ |
OLD | NEW |