1 /** 2 * @file lv_draw_vglite.h 3 * 4 */ 5 6 /** 7 * Copyright 2023-2024 NXP 8 * 9 * SPDX-License-Identifier: MIT 10 */ 11 12 #ifndef LV_DRAW_VGLITE_H 13 #define LV_DRAW_VGLITE_H 14 15 #ifdef __cplusplus 16 extern "C" { 17 #endif 18 19 /********************* 20 * INCLUDES 21 *********************/ 22 23 #include "../../../lv_conf_internal.h" 24 25 #if LV_USE_DRAW_VGLITE 26 #include "../../lv_draw_private.h" 27 #include "../../../display/lv_display_private.h" 28 #include "../../../misc/lv_area_private.h" 29 30 #include "../../lv_draw_triangle.h" 31 #include "../../lv_draw_label.h" 32 #include "../../lv_draw_image.h" 33 #include "../../lv_draw_line.h" 34 #include "../../lv_draw_arc.h" 35 36 /********************* 37 * DEFINES 38 *********************/ 39 40 /********************** 41 * TYPEDEFS 42 **********************/ 43 44 typedef struct lv_draw_vglite_unit { 45 lv_draw_unit_t base_unit; 46 lv_draw_task_t * task_act; 47 #if LV_USE_OS 48 lv_thread_sync_t sync; 49 lv_thread_t thread; 50 volatile bool inited; 51 volatile bool exit_status; 52 #endif 53 #if LV_USE_VGLITE_DRAW_ASYNC 54 volatile bool wait_for_finish; 55 #endif 56 } lv_draw_vglite_unit_t; 57 58 /********************** 59 * GLOBAL PROTOTYPES 60 **********************/ 61 62 void lv_draw_buf_vglite_init_handlers(void); 63 64 void lv_draw_vglite_init(void); 65 66 void lv_draw_vglite_deinit(void); 67 68 void lv_draw_vglite_arc(lv_draw_unit_t * draw_unit, const lv_draw_arc_dsc_t * dsc, 69 const lv_area_t * coords); 70 71 void lv_draw_vglite_border(lv_draw_unit_t * draw_unit, const lv_draw_border_dsc_t * dsc, 72 const lv_area_t * coords); 73 74 void lv_draw_vglite_fill(lv_draw_unit_t * draw_unit, const lv_draw_fill_dsc_t * dsc, 75 const lv_area_t * coords); 76 77 void lv_draw_vglite_img(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * dsc, 78 const lv_area_t * coords); 79 80 void lv_draw_vglite_label(lv_draw_unit_t * draw_unit, const lv_draw_label_dsc_t * dsc, 81 const lv_area_t * coords); 82 83 void lv_draw_vglite_layer(lv_draw_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc, 84 const lv_area_t * coords); 85 86 void lv_draw_vglite_line(lv_draw_unit_t * draw_unit, const lv_draw_line_dsc_t * dsc); 87 88 void lv_draw_vglite_triangle(lv_draw_unit_t * draw_unit, const lv_draw_triangle_dsc_t * dsc); 89 90 /********************** 91 * MACROS 92 **********************/ 93 #endif /*LV_USE_DRAW_VGLITE*/ 94 95 #ifdef __cplusplus 96 } /*extern "C"*/ 97 #endif 98 99 #endif /*LV_DRAW_VGLITE_H*/ 100