1 /**
2  * @file lv_vg_lite_grad.h
3  *
4  */
5 
6 #ifndef LV_VG_LITE_GRAD_H
7 #define LV_VG_LITE_GRAD_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 
17 #include "../../lvgl.h"
18 
19 #if LV_USE_DRAW_VG_LITE && LV_USE_VECTOR_GRAPHIC
20 
21 #include "lv_vg_lite_utils.h"
22 
23 /*********************
24  *      DEFINES
25  *********************/
26 
27 /**********************
28  *      TYPEDEFS
29  **********************/
30 
31 /**********************
32  * GLOBAL PROTOTYPES
33  **********************/
34 
35 void lv_vg_lite_grad_init(struct _lv_draw_vg_lite_unit_t * u, uint32_t cache_cnt);
36 
37 void lv_vg_lite_grad_deinit(struct _lv_draw_vg_lite_unit_t * u);
38 
39 bool lv_vg_lite_draw_grad(
40     struct _lv_draw_vg_lite_unit_t * u,
41     vg_lite_buffer_t * buffer,
42     vg_lite_path_t * path,
43     const lv_vector_gradient_t * grad,
44     const vg_lite_matrix_t * grad_matrix,
45     const vg_lite_matrix_t * matrix,
46     vg_lite_fill_t fill,
47     vg_lite_blend_t blend);
48 
49 bool lv_vg_lite_draw_grad_helper(
50     struct _lv_draw_vg_lite_unit_t * u,
51     vg_lite_buffer_t * buffer,
52     vg_lite_path_t * path,
53     const lv_area_t * area,
54     const lv_grad_dsc_t * grad_dsc,
55     const vg_lite_matrix_t * matrix,
56     vg_lite_fill_t fill,
57     vg_lite_blend_t blend);
58 
59 /**********************
60  *      MACROS
61  **********************/
62 
63 #endif /*LV_USE_DRAW_VG_LITE && LV_USE_VECTOR_GRAPHIC*/
64 
65 #ifdef __cplusplus
66 } /*extern "C"*/
67 #endif
68 
69 #endif /*LV_VG_LITE_GRAD_H*/
70