LittlevGL  3.20.00.19
lv_gc.h
Go to the documentation of this file.
1 
6 #ifndef LV_GC_H
7 #define LV_GC_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  * INCLUDES
15  *********************/
16 
17 #ifdef LV_CONF_INCLUDE_SIMPLE
18 #include "lv_conf.h"
19 #else
20 #include "../../../lv_conf.h"
21 #endif
22 
23 #include <stdint.h>
24 #include <stdbool.h>
25 #include "lv_mem.h"
26 #include "lv_ll.h"
27 #include "../lv_draw/lv_img_cache.h"
28 
29 /*********************
30  * DEFINES
31  *********************/
32 
33 #define LV_GC_ROOTS(prefix) \
34  prefix lv_ll_t _lv_task_ll; /*Linked list to store the lv_tasks*/ \
35  prefix lv_ll_t _lv_disp_ll; /*Linked list of screens*/ \
36  prefix lv_ll_t _lv_indev_ll; /*Linked list of screens*/ \
37  prefix lv_ll_t _lv_drv_ll; \
38  prefix lv_ll_t _lv_file_ll; \
39  prefix lv_ll_t _lv_anim_ll; \
40  prefix lv_ll_t _lv_group_ll; \
41  prefix lv_ll_t _lv_img_defoder_ll; \
42  prefix lv_img_cache_entry_t * _lv_img_cache_array; \
43  prefix void * _lv_task_act; \
44  prefix void * _lv_draw_buf;
45 
46 #define LV_NO_PREFIX
47 #define LV_ROOTS LV_GC_ROOTS(LV_NO_PREFIX)
48 
49 #if LV_ENABLE_GC == 1
50 #if LV_MEM_CUSTOM != 1
51 #error "GC requires CUSTOM_MEM"
52 #endif /* LV_MEM_CUSTOM */
53 #else /* LV_ENABLE_GC */
54 #define LV_GC_ROOT(x) x
55 LV_GC_ROOTS(extern)
56 #endif /* LV_ENABLE_GC */
57 
58 /**********************
59  * TYPEDEFS
60  **********************/
61 
62 /**********************
63  * GLOBAL PROTOTYPES
64  **********************/
65 
66 /**********************
67  * MACROS
68  **********************/
69 
70 #ifdef __cplusplus
71 } /* extern "C" */
72 #endif
73 
74 #endif /*LV_GC_H*/
#define LV_GC_ROOTS(prefix)
Definition: lv_gc.h:33
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale