sprite documentation added as well as copy function
This commit is contained in:
parent
f337113932
commit
8d5190e405
4 changed files with 58 additions and 18 deletions
|
|
@ -8,8 +8,7 @@
|
|||
|
||||
struct ARC_Sprite {
|
||||
ARC_Spritesheet *spritesheet;
|
||||
ARC_Rect *frames;
|
||||
uint32_t *frameSize;
|
||||
ARC_Array *frames;
|
||||
uint32_t *frameIndex;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -10,18 +10,58 @@ extern "C" {
|
|||
#include "arc/math/rectangle.h"
|
||||
#include "arc/std/array.h"
|
||||
|
||||
/**
|
||||
* @brief a sprite type
|
||||
*
|
||||
* @note the actual type should be define by overriding for a graphics api
|
||||
*/
|
||||
typedef struct ARC_Sprite ARC_Sprite;
|
||||
|
||||
void ARC_Sprite_Create(ARC_Sprite **sprite, ARC_Spritesheet *spritesheet, ARC_Rect *bounds);
|
||||
/**
|
||||
* @brief creates ARC_Sprite type
|
||||
*
|
||||
* @param sprite ARC_Sprite that is being created
|
||||
* @param spritesheet ARC_Spritesheet that ARC_Sprite will be pulled from
|
||||
* @param bounds ARC_Array of bounds of sprite on spritesheet
|
||||
*/
|
||||
void ARC_Sprite_Create(ARC_Sprite **sprite, ARC_Spritesheet *spritesheet, ARC_Array *bounds);
|
||||
|
||||
/**
|
||||
* @brief destroys ARC_Sprite type
|
||||
*
|
||||
* @param sprite ARC_Sprite to destroy
|
||||
*/
|
||||
void ARC_Sprite_Destroy(ARC_Sprite *sprite);
|
||||
|
||||
/**
|
||||
* @brief copies ARC_Sprite to a new ARC_Sprite
|
||||
*
|
||||
* @param newSprite ARC_Sprite that is being copied to and created
|
||||
* @param oldSprite ARC_Sprite contents that are being copied
|
||||
*/
|
||||
void ARC_Sprite_Copy(ARC_Sprite **newSprite, ARC_Sprite *oldSprite);
|
||||
|
||||
/**
|
||||
* @brief renders ARC_Sprite type
|
||||
*
|
||||
* @param sprite ARC_Sprite that will be rendered
|
||||
* @param renderer ARC_Renderer that is handling rendering
|
||||
* @param renderBounds area of renderer that ARC_Sprite will be rendered to
|
||||
*/
|
||||
void ARC_Sprite_Render(ARC_Sprite *sprite, ARC_Renderer *renderer, ARC_Rect *renderBounds);
|
||||
|
||||
/**
|
||||
* @brief switches ARC_Sprite's frames to next for animation
|
||||
*
|
||||
* @param sprite ARC_Sprite that is having its frame updated
|
||||
*/
|
||||
void ARC_Sprite_IterateFrame(ARC_Sprite *sprite);
|
||||
|
||||
void ARC_Sprite_SetFrames(ARC_Sprite *sprite, ARC_Array *frames);
|
||||
|
||||
/**
|
||||
* @brief returns the current bounds based on the ARC_Sprite's frames
|
||||
*
|
||||
* @param sprite ARC_Sprite to get bounds from
|
||||
*/
|
||||
ARC_Rect *ARC_Sprite_GetBounds(ARC_Sprite *sprite);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue