#ifndef _fencer_sprite_h #define _fencer_sprite_h #include "vmath.h" #include "transform.h" #include "spritesheet.h" #include <SDL2/SDL_render.h> #include <SDL2/SDL_rect.h> // Forward declaration of the private sprite struct typedef struct Sprite Sprite; extern Sprite* sprite_from_spritesheet(Spritesheet* sheet, size_t initial_frame); extern void sprite_destroy(Sprite* sprite); extern void sprite_draw(Sprite* self, Transform transform); extern Vector sprite_get_origin(Sprite* self); extern void sprite_set_origin(Sprite* self, Vector origin); extern size_t sprite_get_frame(const Sprite* self); extern void sprite_set_frame(Sprite* self, size_t size); extern Spritesheet* sprite_get_spritesheet(const Sprite* self); extern void sprite_set_spritesheet(Sprite* self, Spritesheet* spritesheet); #endif // !_fencer_sprite_h