#ifndef _ANIMATION_MOVE
#define _ANIMATION_MOVE

#include "Animation.h"

struct AM_MoveLinear {
	PixelRenderer callback;
	void* priv;

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

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

struct AM_MoveSpin {
	PixelRenderer callback;
	void* priv;

	float theta;
	i32 centerRow;
	i32 centerCol;
};

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

#endif /* _ANIMATION_MOVE */
