#ifndef _fencer_spritesheet_h
#define _fencer_spritesheet_h

#include "vmath.h"
#include <SDL2/SDL_render.h>

typedef enum AnimationType AnimationType;
enum AnimationType {
    ANIMTYPE_ONCE,
    ANIMTYPE_LOOP,
};

typedef struct Spritesheet Spritesheet;

extern Spritesheet* spritesheet_from_texture(const char* texture_name, IVector frame_resolution);
extern void spritesheet_destroy(Spritesheet* self);

extern SDL_Texture* spritesheet_get_texture(const Spritesheet* self);
extern SDL_Rect spritesheet_get_frame_rect(const Spritesheet* self, size_t index);

#endif // !_fencer_spritesheet_h