1 /**
2  * @file lv_gif.h
3  *
4  */
5 
6 #ifndef LV_GIF_H
7 #define LV_GIF_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 
17 #include "../../../lvgl.h"
18 #if LV_USE_GIF
19 
20 #include "gifdec.h"
21 
22 /*********************
23  *      DEFINES
24  *********************/
25 
26 /**********************
27  *      TYPEDEFS
28  **********************/
29 
30 typedef struct {
31     lv_img_t img;
32     gd_GIF * gif;
33     lv_timer_t * timer;
34     lv_img_dsc_t imgdsc;
35     uint32_t last_call;
36 } lv_gif_t;
37 
38 extern const lv_obj_class_t lv_gif_class;
39 
40 /**********************
41  * GLOBAL PROTOTYPES
42  **********************/
43 
44 lv_obj_t * lv_gif_create(lv_obj_t * parent);
45 void lv_gif_set_src(lv_obj_t * obj, const void * src);
46 void lv_gif_restart(lv_obj_t * gif);
47 
48 /**********************
49  *      MACROS
50  **********************/
51 
52 #endif /*LV_USE_GIF*/
53 
54 #ifdef __cplusplus
55 } /* extern "C" */
56 #endif
57 
58 #endif /*LV_GIF_H*/
59