OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 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 | 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_FLOOD_FILL_INK_DROP_ANIMATION_H_ | 5 #ifndef UI_VIEWS_ANIMATION_FLOOD_FILL_INK_DROP_ANIMATION_H_ |
6 #define UI_VIEWS_ANIMATION_FLOOD_FILL_INK_DROP_ANIMATION_H_ | 6 #define UI_VIEWS_ANIMATION_FLOOD_FILL_INK_DROP_ANIMATION_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 30 matching lines...) Expand all Loading... |
41 // {All InkDropStates} => HIDDEN | 41 // {All InkDropStates} => HIDDEN |
42 // HIDDEN => ACTION_PENDING | 42 // HIDDEN => ACTION_PENDING |
43 // HIDDEN, ACTION_PENDING => ACTION_TRIGGERED | 43 // HIDDEN, ACTION_PENDING => ACTION_TRIGGERED |
44 // ACTION_PENDING => ALTERNATE_ACTION_PENDING | 44 // ACTION_PENDING => ALTERNATE_ACTION_PENDING |
45 // ALTERNATE_ACTION_PENDING => ALTERNATE_ACTION_TRIGGERED | 45 // ALTERNATE_ACTION_PENDING => ALTERNATE_ACTION_TRIGGERED |
46 // {All InkDropStates} => ACTIVATED | 46 // {All InkDropStates} => ACTIVATED |
47 // {All InkDropStates} => DEACTIVATED | 47 // {All InkDropStates} => DEACTIVATED |
48 // | 48 // |
49 class VIEWS_EXPORT FloodFillInkDropAnimation : public InkDropAnimation { | 49 class VIEWS_EXPORT FloodFillInkDropAnimation : public InkDropAnimation { |
50 public: | 50 public: |
51 FloodFillInkDropAnimation(const gfx::Size& size, | 51 FloodFillInkDropAnimation(const gfx::Rect& clip_bounds, |
52 const gfx::Point& center_point, | 52 const gfx::Point& center_point, |
53 SkColor color); | 53 SkColor color); |
54 ~FloodFillInkDropAnimation() override; | 54 ~FloodFillInkDropAnimation() override; |
55 | 55 |
56 // InkDropAnimation: | 56 // InkDropAnimation: |
57 void SnapToActivated() override; | 57 void SnapToActivated() override; |
58 ui::Layer* GetRootLayer() override; | 58 ui::Layer* GetRootLayer() override; |
59 bool IsVisible() const override; | 59 bool IsVisible() const override; |
60 | 60 |
61 private: | 61 private: |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 gfx::Tween::Type tween, | 94 gfx::Tween::Type tween, |
95 ui::LayerAnimationObserver* observer); | 95 ui::LayerAnimationObserver* observer); |
96 | 96 |
97 // Returns the Transform to be applied to the |painted_layer_| for the given | 97 // Returns the Transform to be applied to the |painted_layer_| for the given |
98 // |target_radius|. | 98 // |target_radius|. |
99 gfx::Transform CalculateTransform(float target_radius) const; | 99 gfx::Transform CalculateTransform(float target_radius) const; |
100 | 100 |
101 // Returns the target Transform for when the ink drop is fully shown. | 101 // Returns the target Transform for when the ink drop is fully shown. |
102 gfx::Transform GetMaxSizeTargetTransform() const; | 102 gfx::Transform GetMaxSizeTargetTransform() const; |
103 | 103 |
104 // The clip Size. | 104 // The clip bounds. |
105 const gfx::Size size_; | 105 const gfx::Rect clip_bounds_; |
106 | 106 |
107 // The point where the Center of the ink drop's circle should be drawn. | 107 // The point where the Center of the ink drop's circle should be drawn. |
108 gfx::Point center_point_; | 108 gfx::Point center_point_; |
109 | 109 |
110 // The root layer that parents the animating layer. The root layer is used to | 110 // The root layer that parents the animating layer. The root layer is used to |
111 // manipulate opacity and clipping bounds, and it child is used to manipulate | 111 // manipulate opacity and clipping bounds, and it child is used to manipulate |
112 // the different shape of the ink drop. | 112 // the different shape of the ink drop. |
113 ui::Layer root_layer_; | 113 ui::Layer root_layer_; |
114 | 114 |
115 // ui::LayerDelegate to paint the |painted_layer_|. | 115 // ui::LayerDelegate to paint the |painted_layer_|. |
116 CircleLayerDelegate circle_layer_delegate_; | 116 CircleLayerDelegate circle_layer_delegate_; |
117 | 117 |
118 // Child ui::Layer of |root_layer_|. Used to manipulate the different size | 118 // Child ui::Layer of |root_layer_|. Used to manipulate the different size |
119 // and shape of the ink drop. | 119 // and shape of the ink drop. |
120 ui::Layer painted_layer_; | 120 ui::Layer painted_layer_; |
121 | 121 |
122 // The current ink drop state. | 122 // The current ink drop state. |
123 InkDropState ink_drop_state_; | 123 InkDropState ink_drop_state_; |
124 | 124 |
125 DISALLOW_COPY_AND_ASSIGN(FloodFillInkDropAnimation); | 125 DISALLOW_COPY_AND_ASSIGN(FloodFillInkDropAnimation); |
126 }; | 126 }; |
127 | 127 |
128 } // namespace views | 128 } // namespace views |
129 | 129 |
130 #endif // UI_VIEWS_ANIMATION_FLOOD_FILL_INK_DROP_ANIMATION_H_ | 130 #endif // UI_VIEWS_ANIMATION_FLOOD_FILL_INK_DROP_ANIMATION_H_ |
OLD | NEW |