diff --git a/src/libs/gif/lv_gif.c b/src/libs/gif/lv_gif.c index ca48f13fd1..920f77689b 100644 --- a/src/libs/gif/lv_gif.c +++ b/src/libs/gif/lv_gif.c @@ -137,6 +137,36 @@ void lv_gif_resume(lv_obj_t * obj) lv_timer_resume(gifobj->timer); } +bool lv_gif_is_loaded(lv_obj_t * obj) +{ + lv_gif_t * gifobj = (lv_gif_t *) obj; + + return (gifobj->gif != NULL); +} + +int32_t lv_gif_get_loop_count(lv_obj_t * obj) +{ + lv_gif_t * gifobj = (lv_gif_t *) obj; + + if(gifobj->gif == NULL) { + return -1; + } + + return gifobj->gif->loop_count; +} + +void lv_gif_set_loop_count(lv_obj_t * obj, int32_t count) +{ + lv_gif_t * gifobj = (lv_gif_t *) obj; + + if(gifobj->gif == NULL) { + LV_LOG_WARN("Gif resource not loaded correctly"); + return; + } + + gifobj->gif->loop_count = count; +} + /********************** * STATIC FUNCTIONS **********************/ diff --git a/src/libs/gif/lv_gif.h b/src/libs/gif/lv_gif.h index fc6323fa6e..cf1bee4794 100644 --- a/src/libs/gif/lv_gif.h +++ b/src/libs/gif/lv_gif.h @@ -72,6 +72,25 @@ void lv_gif_pause(lv_obj_t * obj); */ void lv_gif_resume(lv_obj_t * obj); +/** + * Checks if the GIF was loaded correctly. + * @param obj pointer to a gif obj + */ +bool lv_gif_is_loaded(lv_obj_t * obj); + +/** + * Get the loop count for the GIF. + * @param obj pointer to a gif obj + */ +int32_t lv_gif_get_loop_count(lv_obj_t * obj); + +/** + * Set the loop count for the GIF. + * @param obj pointer to a gif obj + * @param count the loop count to set + */ +void lv_gif_set_loop_count(lv_obj_t * obj, int32_t count); + /********************** * MACROS **********************/