mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
draw label fix huge memory usage
This commit is contained in:
parent
eaeb362001
commit
d6db1ed511
@ -518,7 +518,7 @@ LV_ATTRIBUTE_FAST_MEM static void draw_letter_normal(lv_coord_t pos_x, lv_coord_
|
|||||||
uint32_t col_bit;
|
uint32_t col_bit;
|
||||||
col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */
|
col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */
|
||||||
|
|
||||||
uint32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? box_w * box_h : LV_HOR_RES_MAX;
|
uint32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : box_w * box_h;
|
||||||
lv_opa_t * mask_buf = lv_mem_buf_get(mask_buf_size);
|
lv_opa_t * mask_buf = lv_mem_buf_get(mask_buf_size);
|
||||||
int32_t mask_p = 0;
|
int32_t mask_p = 0;
|
||||||
|
|
||||||
@ -655,7 +655,7 @@ static void draw_letter_subpx(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_
|
|||||||
int32_t col_bit;
|
int32_t col_bit;
|
||||||
col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */
|
col_bit = bit_ofs & 0x7; /* "& 0x7" equals to "% 8" just faster */
|
||||||
|
|
||||||
int32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? g->box_w * g->box_h : LV_HOR_RES_MAX;
|
int32_t mask_buf_size = box_w * box_h > LV_HOR_RES_MAX ? LV_HOR_RES_MAX : g->box_w * g->box_h;
|
||||||
lv_opa_t * mask_buf = lv_mem_buf_get(mask_buf_size);
|
lv_opa_t * mask_buf = lv_mem_buf_get(mask_buf_size);
|
||||||
int32_t mask_p = 0;
|
int32_t mask_p = 0;
|
||||||
|
|
||||||
@ -742,6 +742,10 @@ static void draw_letter_subpx(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_
|
|||||||
res_color.ch.green_l = green & 0x7;
|
res_color.ch.green_l = green & 0x7;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if LV_COLOR_DEPTH == 32
|
||||||
|
res_color.ch.alpha = 0xff;
|
||||||
|
#endif
|
||||||
|
|
||||||
if(font_rgb[0] == 0 && font_rgb[1] == 0 && font_rgb[2] == 0) mask_buf[mask_p] = LV_OPA_TRANSP;
|
if(font_rgb[0] == 0 && font_rgb[1] == 0 && font_rgb[2] == 0) mask_buf[mask_p] = LV_OPA_TRANSP;
|
||||||
else mask_buf[mask_p] = LV_OPA_COVER;
|
else mask_buf[mask_p] = LV_OPA_COVER;
|
||||||
color_buf[mask_p] = res_color;
|
color_buf[mask_p] = res_color;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user