summaryrefslogtreecommitdiff
path: root/AnimationRender/F_Interpolate.h
blob: e2ee4c56a80abb99b56c16c536a02c8bdfffd8be (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef F_INTERPOLATE
#define F_INTERPOLATE

#include "FrameCallback.h"
#include "../FrameRender/P_TransformCenter.h"
#include "../FrameRender/P_TransformRotate.h"

typedef void (*f_interpolate)(void* value, const void* start, const void* end, double progress);

typedef struct Interpolate {
	f_interpolate interpolate;
	void* value;
	const void* startValue;
	const void* endValue;
} Interpolate;

FrameCallback* Interpolate_setup(Interpolate obj);

void Interpolate_TransformCenter(TransformCenter* value, const TransformCenter* start, const TransformCenter* end, double progress);
void Interpolate_TransformRotate(TransformRotate* value, const TransformRotate* start, const TransformRotate* end, double progress);

#endif /* F_INTERPOLATE */