1 /**
2  * @file lv_draw_vg_lite_type.h
3  *
4  */
5 
6 #ifndef LV_DRAW_VG_LITE_TYPE_H
7 #define LV_DRAW_VG_LITE_TYPE_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 
17 #include "../../lv_conf_internal.h"
18 
19 #if LV_USE_DRAW_VG_LITE
20 
21 #include "../lv_draw_private.h"
22 #include "../../misc/lv_array.h"
23 
24 #if LV_USE_VG_LITE_THORVG
25 #include "../../others/vg_lite_tvg/vg_lite.h"
26 #else
27 #include <vg_lite.h>
28 #endif
29 
30 /*********************
31  *      DEFINES
32  *********************/
33 
34 /**********************
35  *      TYPEDEFS
36  **********************/
37 
38 struct _lv_vg_lite_pending_t;
39 
40 struct _lv_draw_vg_lite_unit_t {
41     lv_draw_unit_t base_unit;
42     lv_draw_task_t * task_act;
43 
44     struct _lv_vg_lite_pending_t * image_dsc_pending;
45 
46     lv_cache_t * grad_cache;
47     struct _lv_vg_lite_pending_t * grad_pending;
48 
49     lv_cache_t * stroke_cache;
50 
51     uint16_t flush_count;
52     uint16_t letter_count;
53     vg_lite_buffer_t target_buffer;
54     vg_lite_matrix_t global_matrix;
55     struct _lv_vg_lite_path_t * global_path;
56     bool path_in_use;
57 };
58 
59 /**********************
60  * GLOBAL PROTOTYPES
61  **********************/
62 
63 /**********************
64  *      MACROS
65  **********************/
66 
67 #endif /*LV_USE_DRAW_VG_LITE*/
68 
69 #ifdef __cplusplus
70 } /*extern "C"*/
71 #endif
72 
73 #endif /*LV_DRAW_VG_LITE_TYPE_H*/
74