fencer/src/sprite.h
2023-10-01 15:22:17 +02:00

28 lines
833 B
C

#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