30 lines
1.1 KiB
C
30 lines
1.1 KiB
C
#ifndef _fencer_animation_sprite_h
|
|
#define _fencer_animation_sprite_h
|
|
|
|
#include "sprite.h"
|
|
#include "spritesheet.h"
|
|
|
|
typedef enum AnimationSpriteLoopMode {
|
|
LoopMode_Stop,
|
|
LoopMode_Hide,
|
|
LoopMode_Loop,
|
|
LoopMode_PingPong,
|
|
} AnimationSpriteLoopMode;
|
|
|
|
typedef struct AnimationSprite AnimationSprite;
|
|
|
|
extern AnimationSprite* animation_sprite_new(Sprite* target_sprite, Spritesheet* sheet, float framerate, AnimationSpriteLoopMode loop_mode);
|
|
extern void animation_sprite_destroy(AnimationSprite* self);
|
|
|
|
extern void animation_sprite_play_from(AnimationSprite* self, float normalized_time);
|
|
extern void animation_sprite_draw(AnimationSprite* self, Transform* transform);
|
|
|
|
extern float animation_sprite_get_length(AnimationSprite* self);
|
|
extern void animation_sprite_set_framerate(AnimationSprite* self, float framerate);
|
|
extern float animation_sprite_get_framerate(const AnimationSprite* self);
|
|
extern Sprite* animation_sprite_get_sprite(AnimationSprite* self);
|
|
extern float animation_sprite_get_time(AnimationSprite* self);
|
|
extern float animation_sprite_get_time_normalized(AnimationSprite* self);
|
|
|
|
#endif // !_fencer_animation_sprite_h
|