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_TIMING_FUNCTION_H_ | 5 #ifndef CC_ANIMATION_TIMING_FUNCTION_H_ |
6 #define CC_ANIMATION_TIMING_FUNCTION_H_ | 6 #define CC_ANIMATION_TIMING_FUNCTION_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 double x2, | 62 double x2, |
63 double y2); | 63 double y2); |
64 | 64 |
65 gfx::CubicBezier bezier_; | 65 gfx::CubicBezier bezier_; |
66 EaseType ease_type_; | 66 EaseType ease_type_; |
67 | 67 |
68 private: | 68 private: |
69 DISALLOW_ASSIGN(CubicBezierTimingFunction); | 69 DISALLOW_ASSIGN(CubicBezierTimingFunction); |
70 }; | 70 }; |
71 | 71 |
72 class CC_EXPORT EaseTimingFunction { | |
73 public: | |
74 static std::unique_ptr<TimingFunction> Create(); | |
75 | |
76 private: | |
77 DISALLOW_IMPLICIT_CONSTRUCTORS(EaseTimingFunction); | |
78 }; | |
79 | |
80 class CC_EXPORT EaseInTimingFunction { | |
81 public: | |
82 static std::unique_ptr<TimingFunction> Create(); | |
83 | |
84 private: | |
85 DISALLOW_IMPLICIT_CONSTRUCTORS(EaseInTimingFunction); | |
86 }; | |
87 | |
88 class CC_EXPORT EaseOutTimingFunction { | |
89 public: | |
90 static std::unique_ptr<TimingFunction> Create(); | |
91 | |
92 private: | |
93 DISALLOW_IMPLICIT_CONSTRUCTORS(EaseOutTimingFunction); | |
94 }; | |
95 | |
96 class CC_EXPORT EaseInOutTimingFunction { | |
97 public: | |
98 static std::unique_ptr<TimingFunction> Create(); | |
99 | |
100 private: | |
101 DISALLOW_IMPLICIT_CONSTRUCTORS(EaseInOutTimingFunction); | |
102 }; | |
103 | |
104 class CC_EXPORT StepsTimingFunction : public TimingFunction { | 72 class CC_EXPORT StepsTimingFunction : public TimingFunction { |
105 public: | 73 public: |
106 // Web Animations specification, 3.12.4. Timing in discrete steps. | 74 // Web Animations specification, 3.12.4. Timing in discrete steps. |
107 enum class StepPosition { START, MIDDLE, END }; | 75 enum class StepPosition { START, MIDDLE, END }; |
108 | 76 |
109 static std::unique_ptr<StepsTimingFunction> Create( | 77 static std::unique_ptr<StepsTimingFunction> Create( |
110 int steps, | 78 int steps, |
111 StepPosition step_position); | 79 StepPosition step_position); |
112 ~StepsTimingFunction() override; | 80 ~StepsTimingFunction() override; |
113 | 81 |
(...skipping 10 matching lines...) Expand all Loading... |
124 private: | 92 private: |
125 int steps_; | 93 int steps_; |
126 float steps_start_offset_; | 94 float steps_start_offset_; |
127 | 95 |
128 DISALLOW_ASSIGN(StepsTimingFunction); | 96 DISALLOW_ASSIGN(StepsTimingFunction); |
129 }; | 97 }; |
130 | 98 |
131 } // namespace cc | 99 } // namespace cc |
132 | 100 |
133 #endif // CC_ANIMATION_TIMING_FUNCTION_H_ | 101 #endif // CC_ANIMATION_TIMING_FUNCTION_H_ |
OLD | NEW |