| #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 |