diff --git a/include/arc/graphics/sprite.h b/include/arc/graphics/sprite.h index ddccceb..fe71bf9 100644 --- a/include/arc/graphics/sprite.h +++ b/include/arc/graphics/sprite.h @@ -106,6 +106,15 @@ void ARC_Sprite_SetFrameIndex(ARC_Sprite *sprite, uint32_t index); */ void ARC_Sprite_IterateFrame(ARC_Sprite *sprite); +/** + * @brief gets ARC_Sprite's current frame + * + * @param sprite ARC_Sprite to get frame from + * + * @return index ARC_Sprite's current frame index + */ +uint32_t ARC_Sprite_GetFrameIndex(ARC_Sprite *sprite); + /** * @brief returns the current bounds based on the ARC_Sprite's frames * diff --git a/src/graphics/sdl/sprite.c b/src/graphics/sdl/sprite.c index d6efabd..ace0d0f 100644 --- a/src/graphics/sdl/sprite.c +++ b/src/graphics/sdl/sprite.c @@ -77,6 +77,10 @@ void ARC_Sprite_IterateFrame(ARC_Sprite *sprite){ } } +uint32_t ARC_Sprite_GetFrameIndex(ARC_Sprite *sprite){ + return *sprite->frameIndex; +} + ARC_Rect *ARC_Sprite_GetBounds(ARC_Sprite *sprite){ return (ARC_Rect *)sprite->frames->data + *sprite->frameIndex; }