1 /**
2  * @file lv_draw_basic.h
3  *
4  */
5 
6 #ifndef LV_DRAW_BASIC_H
7 #define LV_DRAW_BASIC_H
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*********************
14  *      INCLUDES
15  *********************/
16 #ifdef LV_CONF_INCLUDE_SIMPLE
17 #include "lv_conf.h"
18 #else
19 #include "../../lv_conf.h"
20 #endif
21 
22 #include "../lv_font/lv_font.h"
23 #include "../lv_misc/lv_color.h"
24 #include "../lv_misc/lv_area.h"
25 
26 /*********************
27  *      DEFINES
28  *********************/
29 
30 /**********************
31  *      TYPEDEFS
32  **********************/
33 
34 /**********************
35  * GLOBAL PROTOTYPES
36  **********************/
37 
38 void lv_draw_px(lv_coord_t x, lv_coord_t y, const lv_area_t * mask_p, lv_color_t color, lv_opa_t opa);
39 /**
40  * Fill an area in the Virtual Display Buffer
41  * @param cords_p coordinates of the area to fill
42  * @param mask_p fill only o this mask
43  * @param color fill color
44  * @param opa opacity of the area (0..255)
45  */
46 void lv_draw_fill(const lv_area_t * cords_p, const lv_area_t * mask_p, lv_color_t color, lv_opa_t opa);
47 
48 /**
49  * Draw a letter in the Virtual Display Buffer
50  * @param pos_p left-top coordinate of the latter
51  * @param mask_p the letter will be drawn only on this area
52  * @param font_p pointer to font
53  * @param letter a letter to draw
54  * @param color color of letter
55  * @param opa opacity of letter (0..255)
56  */
57 void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * mask_p, const lv_font_t * font_p, uint32_t letter,
58                     lv_color_t color, lv_opa_t opa);
59 
60 /**
61  * Draw a color map to the display (image)
62  * @param cords_p coordinates the color map
63  * @param mask_p the map will drawn only on this area  (truncated to VDB area)
64  * @param map_p pointer to a lv_color_t array
65  * @param opa opacity of the map
66  * @param chroma_keyed true: enable transparency of LV_IMG_LV_COLOR_TRANSP color pixels
67  * @param alpha_byte true: extra alpha byte is inserted for every pixel
68  * @param recolor mix the pixels with this color
69  * @param recolor_opa the intense of recoloring
70  */
71 void lv_draw_map(const lv_area_t * cords_p, const lv_area_t * mask_p, const uint8_t * map_p, lv_opa_t opa,
72                  bool chroma_key, bool alpha_byte, lv_color_t recolor, lv_opa_t recolor_opa);
73 
74 /**********************
75  *      MACROS
76  **********************/
77 
78 #ifdef __cplusplus
79 } /* extern "C" */
80 #endif
81 
82 #endif /*LV_DRAW_BASIC_H*/
83