summaryrefslogtreecommitdiff
path: root/AnimationInterpolate.h
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2026-03-15 12:23:21 +0200
committerSyndamia <kamen@syndamia.com>2026-03-15 12:23:21 +0200
commit2202e87c466803eeaddd974006aa9950d8e0d067 (patch)
tree55cac9843e5789ac6ff29345ecd4fc44775c6b31 /AnimationInterpolate.h
parent47e28b44615b9b068776f61b8741ea8692461c1d (diff)
downloadppm_graphics-2202e87c466803eeaddd974006aa9950d8e0d067.tar
ppm_graphics-2202e87c466803eeaddd974006aa9950d8e0d067.tar.gz
ppm_graphics-2202e87c466803eeaddd974006aa9950d8e0d067.zip
feat!: Split into separate filesHEADmaster
Diffstat (limited to 'AnimationInterpolate.h')
-rw-r--r--AnimationInterpolate.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/AnimationInterpolate.h b/AnimationInterpolate.h
new file mode 100644
index 0000000..e9fcd57
--- /dev/null
+++ b/AnimationInterpolate.h
@@ -0,0 +1,22 @@
+#ifndef _ANIMATION_INTERPOLATE
+#define _ANIMATION_INTERPOLATE
+
+#include "Animation.h"
+
+struct A_Interpolate {
+ PixelRenderer callback;
+ void* priv;
+
+ u32 startFrame;
+ u32 endFrame;
+ void* value;
+ void* initialState;
+ void* finalState;
+ void (*interpolate)(void* value, const void* initialState, const void* finalState, double percentage);
+};
+
+ARGB A_Interpolate(const Animation* anim, u32 frameIndex, ARGB pixel, i32 r, i32 c, void* priv);
+
+void AO_LineInterpolate(void* valueLine, const void* initialLine, const void* finalLine, double percentage);
+
+#endif /* _ANIMATION_INTERPOLATE */