31 lines
742 B
C
31 lines
742 B
C
#ifndef ARC_GRAPHICS_SPRITE_H_
|
|
#define ARC_GRAPHICS_SPRITE_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include "arc/graphics/renderer.h"
|
|
#include "arc/graphics/spritesheet.h"
|
|
#include "arc/math/rectangle.h"
|
|
#include "arc/std/array.h"
|
|
|
|
typedef struct ARC_Sprite ARC_Sprite;
|
|
|
|
void ARC_Sprite_Create(ARC_Sprite **sprite, ARC_Spritesheet *spritesheet, ARC_Rect *bounds);
|
|
|
|
void ARC_Sprite_Destroy(ARC_Sprite *sprite);
|
|
|
|
void ARC_Sprite_Render(ARC_Sprite *sprite, ARC_Renderer *renderer, ARC_Rect *renderBounds);
|
|
|
|
void ARC_Sprite_IterateFrame(ARC_Sprite *sprite);
|
|
|
|
void ARC_Sprite_SetFrames(ARC_Sprite *sprite, ARC_Array *frames);
|
|
|
|
ARC_Rect *ARC_Sprite_GetBounds(ARC_Sprite *sprite);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif // !ARC_GRAPHICS_SPRITE_H_
|