diff options
| author | Syndamia <kamen@syndamia.com> | 2026-03-28 22:36:57 +0200 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2026-03-28 22:36:57 +0200 |
| commit | 40f33359c7b47d99c3386948bbeead8409a1a902 (patch) | |
| tree | 6847f11c13b3eb87d0dadfab4fce68a2062fd09a /graphics.c | |
| parent | af9f6ae727a15b965789717047a52e6857a3bd8d (diff) | |
| download | ppm_graphics-40f33359c7b47d99c3386948bbeead8409a1a902.tar ppm_graphics-40f33359c7b47d99c3386948bbeead8409a1a902.tar.gz ppm_graphics-40f33359c7b47d99c3386948bbeead8409a1a902.zip | |
feat: Add rotation interpolation and add frame context reset on new frame
Diffstat (limited to 'graphics.c')
| -rw-r--r-- | graphics.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -63,6 +63,8 @@ main() { TransformCenter img1 = { .centerX = width / 8, .centerY = height * 3/5 }, img2 = { .centerX = height * 3/5, .centerY = width / 8 }; + + TransformRotate r1 = { .angle = M_PI / 8 }, r2 = { .angle = M_PI * 2 }; const FrameCallback* frameCallbacks[] = { Draw_setup((Draw){ .callbacks = (const PixelCallback**)callbacks, .sizeCallbacks = sizeCallbacks, @@ -75,6 +77,15 @@ main() { .value = callbacks[10]->callback_self, .interpolate = (f_interpolate)Interpolate_TransformCenter, }), + NULL, + FrameRange_setup((FrameRange){ + .startFrame = 0, .endFrame = 50, + }), + Interpolate_setup((Interpolate){ + .startValue = &r1, .endValue = &r2, + .value = callbacks[4]->callback_self, + .interpolate = (f_interpolate)Interpolate_TransformRotate, + }), }; u32 sizeFrameCallbacks = sizeof(frameCallbacks) / sizeof(*frameCallbacks); |
