5#ifndef FLUTTER_IMPELLER_SCENE_ANIMATION_PROPERTY_RESOLVER_H_
6#define FLUTTER_IMPELLER_SCENE_ANIMATION_PROPERTY_RESOLVER_H_
12#include "flutter/fml/hash_combine.h"
13#include "flutter/fml/macros.h"
25class TranslationTimelineResolver;
26class RotationTimelineResolver;
27class ScaleTimelineResolver;
32 std::vector<Scalar>
times,
33 std::vector<Vector3> values);
36 std::vector<Scalar>
times,
37 std::vector<Quaternion> values);
40 std::vector<Scalar>
times,
41 std::vector<Vector3> values);
89 std::vector<Vector3> values_;
111 std::vector<Quaternion> values_;
132 std::vector<Vector3> values_;
static SkISize times(const SkISize &size, float factor)
static std::unique_ptr< RotationTimelineResolver > MakeRotationTimeline(std::vector< Scalar > times, std::vector< Quaternion > values)
static std::unique_ptr< ScaleTimelineResolver > MakeScaleTimeline(std::vector< Scalar > times, std::vector< Vector3 > values)
static std::unique_ptr< TranslationTimelineResolver > MakeTranslationTimeline(std::vector< Scalar > times, std::vector< Vector3 > values)
virtual SecondsF GetEndTime()=0
virtual ~PropertyResolver()
virtual void Apply(AnimationTransforms &target, SecondsF time, Scalar weight)=0
Resolve and apply the property value to a target node. This operation is additive; a given node prope...
void Apply(AnimationTransforms &target, SecondsF time, Scalar weight) override
Resolve and apply the property value to a target node. This operation is additive; a given node prope...
~RotationTimelineResolver()
void Apply(AnimationTransforms &target, SecondsF time, Scalar weight) override
Resolve and apply the property value to a target node. This operation is additive; a given node prope...
std::vector< Scalar > times_
virtual ~TimelineResolver()
TimelineKey GetTimelineKey(SecondsF time)
void Apply(AnimationTransforms &target, SecondsF time, Scalar weight) override
Resolve and apply the property value to a target node. This operation is additive; a given node prope...
~TranslationTimelineResolver()
std::chrono::duration< float > SecondsF
size_t index
The index of the closest previous keyframe.