blob: af0a7caa2c92c82186bfa64373c7c0fdc0ceacd4 [file] [log] [blame]
#ifndef _RIVE_KEY_FRAME_INTERPOLATOR_HPP_
#define _RIVE_KEY_FRAME_INTERPOLATOR_HPP_
#include "rive/generated/animation/keyframe_interpolator_base.hpp"
#include <stdio.h>
namespace rive
{
class InterpolatorHost
{
public:
virtual ~InterpolatorHost() {}
virtual bool overridesKeyedInterpolation(int propertyKey) = 0;
static InterpolatorHost* from(Core* component);
};
class KeyFrameInterpolator : public KeyFrameInterpolatorBase
{
public:
/// Convert a linear interpolation value to an eased one.
virtual float transformValue(float valueFrom,
float valueTo,
float factor) = 0;
/// Convert a linear interpolation factor to an eased one.
virtual float transform(float factor) const = 0;
StatusCode import(ImportStack& importStack) override;
virtual void initialize(){};
};
} // namespace rive
#endif