diff options
| author | Syndamia <kamen@syndamia.com> | 2026-03-16 20:59:04 +0200 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2026-03-16 20:59:04 +0200 |
| commit | e6842e44159d7cc9b1c32dd2baae4df164fa81d2 (patch) | |
| tree | a8678020b6185311ca1c0c40b7e952c43af5d95d /AnimationInterpolate.h | |
| parent | 7731ed11aee7ad4f9c634ba38992fb282b777d5a (diff) | |
| download | ppm_graphics-e6842e44159d7cc9b1c32dd2baae4df164fa81d2.tar ppm_graphics-e6842e44159d7cc9b1c32dd2baae4df164fa81d2.tar.gz ppm_graphics-e6842e44159d7cc9b1c32dd2baae4df164fa81d2.zip | |
feat: Implement tree rotation animation
Diffstat (limited to 'AnimationInterpolate.h')
| -rw-r--r-- | AnimationInterpolate.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/AnimationInterpolate.h b/AnimationInterpolate.h index e9fcd57..c033525 100644 --- a/AnimationInterpolate.h +++ b/AnimationInterpolate.h @@ -4,14 +4,14 @@ #include "Animation.h" struct A_Interpolate { - PixelRenderer callback; - void* priv; - u32 startFrame; u32 endFrame; + + void* initialValueTemp; + size_t initialValueTempSize; + void* value; - void* initialState; - void* finalState; + void* goalValue; void (*interpolate)(void* value, const void* initialState, const void* finalState, double percentage); }; @@ -19,4 +19,7 @@ ARGB A_Interpolate(const Animation* anim, u32 frameIndex, ARGB pixel, i32 r, i32 void AO_LineInterpolate(void* valueLine, const void* initialLine, const void* finalLine, double percentage); +void AM_LinearInterpolate(void* valueLinear, const void* initialLinear, const void* finalLinear, double percentage); +void AM_SpinInterpolate(void* valueSpin, const void* initialSpin, const void* finalSpin, double percentage); + #endif /* _ANIMATION_INTERPOLATE */ |
