#ifndef _ANIMATION_MOVE
#define _ANIMATION_MOVE

#include "Animation.h"

struct AM_Linear {
	PixelRenderer callback;
	void* priv;

	i32 startRow;
	i32 startCol;
	float dRow;
	float dCol;
	bool wrapCoordinates;
};

ARGB AM_Linear(const Animation* anim, u32 frameIndex, ARGB pixel, i32 r, i32 c, void* priv);

struct AM_Spin {
	PixelRenderer callback;
	void* priv;

	float theta;
	float dTheta;
	i32 centerRow;
	i32 centerCol;
};

ARGB AM_Spin(const Animation* anim, u32 frameIndex, ARGB pixel, i32 r, i32 c, void* priv);

#endif /* _ANIMATION_MOVE */
