4
4
5
5
#pragma once
6
6
7
- #include < chrono>
8
7
#include < memory>
9
8
#include < string>
10
9
#include < vector>
11
10
12
11
#include " flutter/fml/hash_combine.h"
13
12
#include " flutter/fml/macros.h"
13
+ #include " impeller/base/timing.h"
14
14
#include " impeller/geometry/quaternion.h"
15
15
#include " impeller/geometry/scalar.h"
16
16
#include " impeller/geometry/vector.h"
@@ -39,24 +39,22 @@ class PropertyResolver {
39
39
40
40
virtual ~PropertyResolver ();
41
41
42
- virtual std::chrono::duration<Scalar> GetEndTime () = 0;
42
+ virtual SecondsF GetEndTime () = 0;
43
43
44
44
// / @brief Resolve and apply the property value to a target node. This
45
45
// / operation is additive; a given node property may be amended by
46
46
// / many different PropertyResolvers prior to rendering. For example,
47
47
// / an AnimationPlayer may blend multiple Animations together by
48
48
// / applying several AnimationClips.
49
- virtual void Apply (Node& target,
50
- std::chrono::duration<Scalar> time,
51
- Scalar weight) = 0;
49
+ virtual void Apply (Node& target, SecondsF time, Scalar weight) = 0;
52
50
};
53
51
54
52
class TimelineResolver : public PropertyResolver {
55
53
public:
56
54
virtual ~TimelineResolver ();
57
55
58
56
// |Resolver|
59
- std::chrono::duration<Scalar> GetEndTime ();
57
+ SecondsF GetEndTime ();
60
58
61
59
protected:
62
60
struct TimelineKey {
@@ -66,7 +64,7 @@ class TimelineResolver : public PropertyResolver {
66
64
// / and `timeline_index`. The range of this value should always be `0>N>=1`.
67
65
Scalar lerp = 1 ;
68
66
};
69
- TimelineKey GetTimelineKey (std::chrono::duration<Scalar> time);
67
+ TimelineKey GetTimelineKey (SecondsF time);
70
68
71
69
std::vector<Scalar> times_;
72
70
};
@@ -76,9 +74,7 @@ class TranslationTimelineResolver final : public TimelineResolver {
76
74
~TranslationTimelineResolver ();
77
75
78
76
// |Resolver|
79
- void Apply (Node& target,
80
- std::chrono::duration<Scalar> time,
81
- Scalar weight) override ;
77
+ void Apply (Node& target, SecondsF time, Scalar weight) override ;
82
78
83
79
private:
84
80
TranslationTimelineResolver ();
@@ -95,9 +91,7 @@ class RotationTimelineResolver final : public TimelineResolver {
95
91
~RotationTimelineResolver ();
96
92
97
93
// |Resolver|
98
- void Apply (Node& target,
99
- std::chrono::duration<Scalar> time,
100
- Scalar weight) override ;
94
+ void Apply (Node& target, SecondsF time, Scalar weight) override ;
101
95
102
96
private:
103
97
RotationTimelineResolver ();
@@ -114,9 +108,7 @@ class ScaleTimelineResolver final : public TimelineResolver {
114
108
~ScaleTimelineResolver ();
115
109
116
110
// |Resolver|
117
- void Apply (Node& target,
118
- std::chrono::duration<Scalar> time,
119
- Scalar weight) override ;
111
+ void Apply (Node& target, SecondsF time, Scalar weight) override ;
120
112
121
113
private:
122
114
ScaleTimelineResolver ();
0 commit comments