OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 CC_ANIMATION_SCROLLBAR_ANIMATION_CONTROLLER_LINEAR_FADE_H_ | 5 #ifndef CC_ANIMATION_SCROLLBAR_ANIMATION_CONTROLLER_LINEAR_FADE_H_ |
6 #define CC_ANIMATION_SCROLLBAR_ANIMATION_CONTROLLER_LINEAR_FADE_H_ | 6 #define CC_ANIMATION_SCROLLBAR_ANIMATION_CONTROLLER_LINEAR_FADE_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "cc/animation/scrollbar_animation_controller.h" | 9 #include "cc/animation/scrollbar_animation_controller.h" |
10 #include "cc/base/cc_export.h" | 10 #include "cc/base/cc_export.h" |
11 | 11 |
12 namespace cc { | 12 namespace cc { |
13 class LayerImpl; | 13 class LayerImpl; |
14 | 14 |
15 class CC_EXPORT ScrollbarAnimationControllerLinearFade | 15 class CC_EXPORT ScrollbarAnimationControllerLinearFade |
16 : public ScrollbarAnimationController { | 16 : public ScrollbarAnimationController { |
17 public: | 17 public: |
18 static scoped_ptr<ScrollbarAnimationControllerLinearFade> Create( | 18 static scoped_ptr<ScrollbarAnimationControllerLinearFade> Create( |
19 LayerImpl* scroll_layer, | 19 LayerImpl* scroll_layer, |
20 ScrollbarAnimationControllerClient* client, | 20 ScrollbarAnimationControllerClient* client, |
21 base::TimeDelta delay_before_starting, | 21 base::TimeDelta delay_before_starting, |
22 base::TimeDelta resize_delay_before_starting, | 22 base::TimeDelta resize_delay_before_starting, |
23 base::TimeDelta duration); | 23 base::TimeDelta duration); |
24 | 24 |
25 virtual ~ScrollbarAnimationControllerLinearFade(); | 25 ~ScrollbarAnimationControllerLinearFade() override; |
26 | 26 |
27 virtual void DidScrollUpdate(bool on_resize) override; | 27 void DidScrollUpdate(bool on_resize) override; |
28 | 28 |
29 protected: | 29 protected: |
30 ScrollbarAnimationControllerLinearFade( | 30 ScrollbarAnimationControllerLinearFade( |
31 LayerImpl* scroll_layer, | 31 LayerImpl* scroll_layer, |
32 ScrollbarAnimationControllerClient* client, | 32 ScrollbarAnimationControllerClient* client, |
33 base::TimeDelta delay_before_starting, | 33 base::TimeDelta delay_before_starting, |
34 base::TimeDelta resize_delay_before_starting, | 34 base::TimeDelta resize_delay_before_starting, |
35 base::TimeDelta duration); | 35 base::TimeDelta duration); |
36 | 36 |
37 virtual void RunAnimationFrame(float progress) override; | 37 void RunAnimationFrame(float progress) override; |
38 | 38 |
39 private: | 39 private: |
40 float OpacityAtTime(base::TimeTicks now) const; | 40 float OpacityAtTime(base::TimeTicks now) const; |
41 void ApplyOpacityToScrollbars(float opacity); | 41 void ApplyOpacityToScrollbars(float opacity); |
42 | 42 |
43 LayerImpl* scroll_layer_; | 43 LayerImpl* scroll_layer_; |
44 | 44 |
45 DISALLOW_COPY_AND_ASSIGN(ScrollbarAnimationControllerLinearFade); | 45 DISALLOW_COPY_AND_ASSIGN(ScrollbarAnimationControllerLinearFade); |
46 }; | 46 }; |
47 | 47 |
48 } // namespace cc | 48 } // namespace cc |
49 | 49 |
50 #endif // CC_ANIMATION_SCROLLBAR_ANIMATION_CONTROLLER_LINEAR_FADE_H_ | 50 #endif // CC_ANIMATION_SCROLLBAR_ANIMATION_CONTROLLER_LINEAR_FADE_H_ |
OLD | NEW |