1 /** 2 * @file lv_draw_dave2d.h 3 * 4 */ 5 6 #ifndef LV_DRAW_DAVE2D_H 7 #define LV_DRAW_DAVE2D_H 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 /********************* 14 * INCLUDES 15 *********************/ 16 #include "../../../lv_conf_internal.h" 17 #if LV_USE_DRAW_DAVE2D 18 #include "../../lv_draw.h" 19 #include "../../lv_draw_private.h" 20 #include "hal_data.h" 21 #include "lv_draw_dave2d_utils.h" 22 #include "../../lv_draw_rect.h" 23 #include "../../lv_draw_line.h" 24 #include "../../lv_draw_arc.h" 25 #include "../../lv_draw_label.h" 26 #include "../../lv_draw_image.h" 27 #include "../../lv_draw_triangle.h" 28 #include "../../lv_draw_buf.h" 29 30 31 32 /********************* 33 * DEFINES 34 *********************/ 35 36 #define D2_RENDER_EACH_OPERATION (1) 37 38 /********************** 39 * TYPEDEFS 40 **********************/ 41 42 typedef struct { 43 lv_draw_unit_t base_unit; 44 lv_draw_task_t * task_act; 45 #if LV_USE_OS 46 lv_thread_sync_t sync; 47 lv_thread_t thread; 48 #endif 49 uint32_t idx; 50 d2_device * d2_handle; 51 d2_renderbuffer * renderbuffer; 52 #if LV_USE_OS 53 lv_mutex_t * pd2Mutex; 54 #endif 55 } lv_draw_dave2d_unit_t; 56 57 /********************** 58 * GLOBAL PROTOTYPES 59 **********************/ 60 61 void lv_draw_dave2d_init(void); 62 63 void lv_draw_dave2d_image(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc, 64 const lv_area_t * coords); 65 66 void lv_draw_dave2d_fill(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_fill_dsc_t * dsc, const lv_area_t * coords); 67 68 void lv_draw_dave2d_border(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_border_dsc_t * dsc, 69 const lv_area_t * coords); 70 71 void lv_draw_dave2d_box_shadow(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_box_shadow_dsc_t * dsc, 72 const lv_area_t * coords); 73 74 void lv_draw_dave2d_label(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_label_dsc_t * dsc, const lv_area_t * coords); 75 76 void lv_draw_dave2d_arc(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_arc_dsc_t * dsc, const lv_area_t * coords); 77 78 void lv_draw_dave2d_line(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_line_dsc_t * dsc); 79 80 void lv_draw_dave2d_layer(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_image_dsc_t * draw_dsc, 81 const lv_area_t * coords); 82 83 void lv_draw_dave2d_triangle(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_triangle_dsc_t * dsc); 84 85 void lv_draw_dave2d_mask_rect(lv_draw_dave2d_unit_t * draw_unit, const lv_draw_mask_rect_dsc_t * dsc, 86 const lv_area_t * coords); 87 88 void lv_draw_dave2d_transform(lv_draw_dave2d_unit_t * draw_unit, const lv_area_t * dest_area, const void * src_buf, 89 int32_t src_w, int32_t src_h, int32_t src_stride, 90 const lv_draw_image_dsc_t * draw_dsc, const lv_draw_image_sup_t * sup, lv_color_format_t cf, void * dest_buf); 91 92 /*********************** 93 * GLOBAL VARIABLES 94 ***********************/ 95 96 /********************** 97 * MACROS 98 **********************/ 99 100 #endif /*LV_USE_DRAW_DAVE2D*/ 101 102 #ifdef __cplusplus 103 } /*extern "C"*/ 104 #endif 105 106 #endif /*LV_USE_DRAW_DAVE2D*/ 107