sprite-animation/animation_player.h
2024-11-04 20:01:19 +00:00

27 lines
765 B
C

#pragma once
#include <stdint.h>
#include <stdbool.h>
#include <SDL2/SDL_render.h>
typedef struct anim_player AnimPlayer;
struct anim_player {
SDL_Texture *image;
uint32_t last_time;
uint32_t ms_speed;
uint32_t ms_duration;
uint32_t sprite_width;
uint32_t sprite_height;
uint16_t count;
uint16_t current;
bool loop;
bool finished;
};
AnimPlayer ap_init (SDL_Renderer *renderer, const char *filepath, uint32_t ms_speed, uint32_t sprite_width, uint32_t sprite_height, bool loop);
void ap_update (AnimPlayer *ap, uint32_t ticks);
void ap_draw (SDL_Renderer *renderer, const AnimPlayer *ap, const SDL_Rect *dst, bool x_flip);
void ap_reset (AnimPlayer *ap);
void ap_destroy(AnimPlayer *ap);