acid-drop

- Hacking the planet from a LilyGo T-Deck using custom firmware
git clone git://git.acid.vegas/acid-drop.git
Log | Files | Refs | Archive | README | LICENSE

lv_draw_sw.h (2612B)

      1 /**
      2  * @file lv_draw_sw.h
      3  *
      4  */
      5 
      6 #ifndef LV_DRAW_SW_H
      7 #define LV_DRAW_SW_H
      8 
      9 #ifdef __cplusplus
     10 extern "C" {
     11 #endif
     12 
     13 /*********************
     14  *      INCLUDES
     15  *********************/
     16 #include "lv_draw_sw_blend.h"
     17 #include "../lv_draw.h"
     18 #include "../../misc/lv_area.h"
     19 #include "../../misc/lv_color.h"
     20 #include "../../hal/lv_hal_disp.h"
     21 
     22 /*********************
     23  *      DEFINES
     24  *********************/
     25 
     26 /**********************
     27  *      TYPEDEFS
     28  **********************/
     29 
     30 struct _lv_disp_drv_t;
     31 
     32 typedef struct {
     33     lv_draw_ctx_t base_draw;
     34 
     35     /** Fill an area of the destination buffer with a color*/
     36     void (*blend)(lv_draw_ctx_t * draw_ctx, const lv_draw_sw_blend_dsc_t * dsc);
     37 } lv_draw_sw_ctx_t;
     38 
     39 /**********************
     40  * GLOBAL PROTOTYPES
     41  **********************/
     42 
     43 void lv_draw_sw_init_ctx(struct _lv_disp_drv_t * drv, lv_draw_ctx_t * draw_ctx);
     44 void lv_draw_sw_deinit_ctx(struct _lv_disp_drv_t * drv, lv_draw_ctx_t * draw_ctx);
     45 
     46 void lv_draw_sw_wait_for_finish(lv_draw_ctx_t * draw_ctx);
     47 
     48 void lv_draw_sw_arc(lv_draw_ctx_t * draw_ctx, const lv_draw_arc_dsc_t * dsc, const lv_point_t * center, uint16_t radius,
     49                     uint16_t start_angle, uint16_t end_angle);
     50 
     51 void lv_draw_sw_rect(lv_draw_ctx_t * draw_ctx, const lv_draw_rect_dsc_t * dsc, const lv_area_t * coords);
     52 
     53 void lv_draw_sw_bg(lv_draw_ctx_t * draw_ctx, const lv_draw_rect_dsc_t * dsc, const lv_area_t * coords);
     54 void lv_draw_sw_letter(lv_draw_ctx_t * draw_ctx, const lv_draw_label_dsc_t * dsc, const lv_point_t * pos_p,
     55                        uint32_t letter);
     56 
     57 LV_ATTRIBUTE_FAST_MEM void lv_draw_sw_img_decoded(struct _lv_draw_ctx_t * draw_ctx, const lv_draw_img_dsc_t * draw_dsc,
     58                                                   const lv_area_t * coords, const uint8_t * src_buf, lv_img_cf_t cf);
     59 
     60 LV_ATTRIBUTE_FAST_MEM void lv_draw_sw_line(struct _lv_draw_ctx_t * draw_ctx, const lv_draw_line_dsc_t * dsc,
     61                                            const lv_point_t * point1, const lv_point_t * point2);
     62 
     63 void lv_draw_sw_polygon(struct _lv_draw_ctx_t * draw_ctx, const lv_draw_rect_dsc_t * draw_dsc,
     64                         const lv_point_t * points, uint16_t point_cnt);
     65 
     66 void lv_draw_sw_buffer_copy(lv_draw_ctx_t * draw_ctx,
     67                             void * dest_buf, lv_coord_t dest_stride, const lv_area_t * dest_area,
     68                             void * src_buf, lv_coord_t src_stride, const lv_area_t * src_area);
     69 /***********************
     70  * GLOBAL VARIABLES
     71  ***********************/
     72 
     73 /**********************
     74  *      MACROS
     75  **********************/
     76 
     77 #ifdef __cplusplus
     78 } /*extern "C"*/
     79 #endif
     80 
     81 #endif /*LV_DRAW_SW_H*/