1
0
mirror of https://github.com/lvgl/lvgl.git synced 2025-01-14 06:42:58 +08:00

place some functions to faster memory

This commit is contained in:
Gabor Kiss-Vamosi 2020-04-29 08:38:59 +02:00
parent f9cde8e034
commit 817e1ce530
10 changed files with 48 additions and 48 deletions

View File

@ -31,7 +31,7 @@ static void fill_set_px(const lv_area_t * disp_area, lv_color_t * disp_buf, con
lv_color_t color, lv_opa_t opa, lv_color_t color, lv_opa_t opa,
const lv_opa_t * mask, lv_draw_mask_res_t mask_res); const lv_opa_t * mask, lv_draw_mask_res_t mask_res);
static void fill_normal(const lv_area_t * disp_area, lv_color_t * disp_buf, const lv_area_t * draw_area, LV_ATTRIBUTE_FAST_MEM static void fill_normal(const lv_area_t * disp_area, lv_color_t * disp_buf, const lv_area_t * draw_area,
lv_color_t color, lv_opa_t opa, lv_color_t color, lv_opa_t opa,
const lv_opa_t * mask, lv_draw_mask_res_t mask_res); const lv_opa_t * mask, lv_draw_mask_res_t mask_res);
@ -43,7 +43,7 @@ static void map_set_px(const lv_area_t * disp_area, lv_color_t * disp_buf, cons
const lv_area_t * map_area, const lv_color_t * map_buf, lv_opa_t opa, const lv_area_t * map_area, const lv_color_t * map_buf, lv_opa_t opa,
const lv_opa_t * mask, lv_draw_mask_res_t mask_res); const lv_opa_t * mask, lv_draw_mask_res_t mask_res);
static void map_normal(const lv_area_t * disp_area, lv_color_t * disp_buf, const lv_area_t * draw_area, LV_ATTRIBUTE_FAST_MEM static void map_normal(const lv_area_t * disp_area, lv_color_t * disp_buf, const lv_area_t * draw_area,
const lv_area_t * map_area, const lv_color_t * map_buf, lv_opa_t opa, const lv_area_t * map_area, const lv_color_t * map_buf, lv_opa_t opa,
const lv_opa_t * mask, lv_draw_mask_res_t mask_res); const lv_opa_t * mask, lv_draw_mask_res_t mask_res);
@ -115,7 +115,7 @@ mask_tmp_x++;
* @param opa * @param opa
* @param mode * @param mode
*/ */
void lv_blend_fill(const lv_area_t * clip_area, const lv_area_t * fill_area, LV_ATTRIBUTE_FAST_MEM void lv_blend_fill(const lv_area_t * clip_area, const lv_area_t * fill_area,
lv_color_t color, lv_opa_t * mask, lv_draw_mask_res_t mask_res, lv_opa_t opa, lv_color_t color, lv_opa_t * mask, lv_draw_mask_res_t mask_res, lv_opa_t opa,
lv_blend_mode_t mode) lv_blend_mode_t mode)
{ {
@ -169,7 +169,7 @@ void lv_blend_fill(const lv_area_t * clip_area, const lv_area_t * fill_area,
} }
void lv_blend_map(const lv_area_t * clip_area, const lv_area_t * map_area, const lv_color_t * map_buf, LV_ATTRIBUTE_FAST_MEM void lv_blend_map(const lv_area_t * clip_area, const lv_area_t * map_area, const lv_color_t * map_buf,
lv_opa_t * mask, lv_draw_mask_res_t mask_res, lv_opa_t * mask, lv_draw_mask_res_t mask_res,
lv_opa_t opa, lv_blend_mode_t mode) lv_opa_t opa, lv_blend_mode_t mode)
{ {
@ -262,7 +262,7 @@ static void fill_set_px(const lv_area_t * disp_area, lv_color_t * disp_buf, con
} }
} }
static void fill_normal(const lv_area_t * disp_area, lv_color_t * disp_buf, const lv_area_t * draw_area, LV_ATTRIBUTE_FAST_MEM static void fill_normal(const lv_area_t * disp_area, lv_color_t * disp_buf, const lv_area_t * draw_area,
lv_color_t color, lv_opa_t opa, lv_color_t color, lv_opa_t opa,
const lv_opa_t * mask, lv_draw_mask_res_t mask_res) const lv_opa_t * mask, lv_draw_mask_res_t mask_res)
{ {
@ -598,7 +598,7 @@ static void map_set_px(const lv_area_t * disp_area, lv_color_t * disp_buf, cons
} }
static void map_normal(const lv_area_t * disp_area, lv_color_t * disp_buf, const lv_area_t * draw_area, LV_ATTRIBUTE_FAST_MEM static void map_normal(const lv_area_t * disp_area, lv_color_t * disp_buf, const lv_area_t * draw_area,
const lv_area_t * map_area, const lv_color_t * map_buf, lv_opa_t opa, const lv_area_t * map_area, const lv_color_t * map_buf, lv_opa_t opa,
const lv_opa_t * mask, lv_draw_mask_res_t mask_res) const lv_opa_t * mask, lv_draw_mask_res_t mask_res)
{ {

View File

@ -36,11 +36,11 @@ typedef uint8_t lv_blend_mode_t;
* GLOBAL PROTOTYPES * GLOBAL PROTOTYPES
**********************/ **********************/
void lv_blend_fill(const lv_area_t * clip_area, const lv_area_t * fill_area, lv_color_t color, LV_ATTRIBUTE_FAST_MEM void lv_blend_fill(const lv_area_t * clip_area, const lv_area_t * fill_area, lv_color_t color,
lv_opa_t * mask, lv_draw_mask_res_t mask_res, lv_opa_t opa, lv_blend_mode_t mode); lv_opa_t * mask, lv_draw_mask_res_t mask_res, lv_opa_t opa, lv_blend_mode_t mode);
void lv_blend_map(const lv_area_t * clip_area, const lv_area_t * map_area, const lv_color_t * map_buf, LV_ATTRIBUTE_FAST_MEM void lv_blend_map(const lv_area_t * clip_area, const lv_area_t * map_area, const lv_color_t * map_buf,
lv_opa_t * mask, lv_draw_mask_res_t mask_res, lv_opa_t opa, lv_blend_mode_t mode); lv_opa_t * mask, lv_draw_mask_res_t mask_res, lv_opa_t opa, lv_blend_mode_t mode);
/********************** /**********************

View File

@ -25,10 +25,10 @@
/********************** /**********************
* STATIC PROTOTYPES * STATIC PROTOTYPES
**********************/ **********************/
static lv_res_t lv_img_draw_core(const lv_area_t * coords, const lv_area_t * mask, const void * src, LV_ATTRIBUTE_FAST_MEM static lv_res_t lv_img_draw_core(const lv_area_t * coords, const lv_area_t * mask, const void * src,
lv_draw_img_dsc_t * draw_dsc); lv_draw_img_dsc_t * draw_dsc);
static void lv_draw_map(const lv_area_t * map_area, const lv_area_t * clip_area, const uint8_t * map_p, LV_ATTRIBUTE_FAST_MEM static void lv_draw_map(const lv_area_t * map_area, const lv_area_t * clip_area, const uint8_t * map_p,
lv_draw_img_dsc_t * draw_dsc, lv_draw_img_dsc_t * draw_dsc,
bool chroma_key, bool alpha_byte); bool chroma_key, bool alpha_byte);
@ -228,7 +228,7 @@ lv_img_src_t lv_img_src_get_type(const void * src)
* STATIC FUNCTIONS * STATIC FUNCTIONS
**********************/ **********************/
static lv_res_t lv_img_draw_core(const lv_area_t * coords, const lv_area_t * mask, const void * src, LV_ATTRIBUTE_FAST_MEM static lv_res_t lv_img_draw_core(const lv_area_t * coords, const lv_area_t * mask, const void * src,
lv_draw_img_dsc_t * draw_dsc) lv_draw_img_dsc_t * draw_dsc)
{ {
if(draw_dsc->opa <= LV_OPA_MIN) return LV_RES_OK; if(draw_dsc->opa <= LV_OPA_MIN) return LV_RES_OK;
@ -333,7 +333,7 @@ static lv_res_t lv_img_draw_core(const lv_area_t * coords, const lv_area_t * mas
* @param zoom zoom factor * @param zoom zoom factor
* @param antialias anti-alias transformations (rotate, zoom) or not * @param antialias anti-alias transformations (rotate, zoom) or not
*/ */
static void lv_draw_map(const lv_area_t * map_area, const lv_area_t * clip_area, const uint8_t * map_p, LV_ATTRIBUTE_FAST_MEM static void lv_draw_map(const lv_area_t * map_area, const lv_area_t * clip_area, const uint8_t * map_p,
lv_draw_img_dsc_t * draw_dsc, bool chroma_key, bool alpha_byte) lv_draw_img_dsc_t * draw_dsc, bool chroma_key, bool alpha_byte)
{ {
/* Use the clip area as draw area*/ /* Use the clip area as draw area*/

View File

@ -32,9 +32,9 @@ typedef uint8_t cmd_state_t;
/********************** /**********************
* STATIC PROTOTYPES * STATIC PROTOTYPES
**********************/ **********************/
static void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * clip_area, const lv_font_t * font_p, LV_ATTRIBUTE_FAST_MEM static void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * clip_area, const lv_font_t * font_p,
uint32_t letter, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode); uint32_t letter, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode);
static void draw_letter_normal(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g, const lv_area_t * clip_area, LV_ATTRIBUTE_FAST_MEM static void draw_letter_normal(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g, const lv_area_t * clip_area,
const uint8_t * map_p, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode); const uint8_t * map_p, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode);
static void draw_letter_subpx(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g, const lv_area_t * clip_area, static void draw_letter_subpx(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g, const lv_area_t * clip_area,
const uint8_t * map_p, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode); const uint8_t * map_p, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode);
@ -87,7 +87,7 @@ const uint8_t _lv_bpp8_opa_table[256] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1
* GLOBAL FUNCTIONS * GLOBAL FUNCTIONS
**********************/ **********************/
void lv_draw_label_dsc_init(lv_draw_label_dsc_t * dsc) LV_ATTRIBUTE_FAST_MEM void lv_draw_label_dsc_init(lv_draw_label_dsc_t * dsc)
{ {
lv_memset_00(dsc, sizeof(lv_draw_label_dsc_t)); lv_memset_00(dsc, sizeof(lv_draw_label_dsc_t));
dsc->opa = LV_OPA_COVER; dsc->opa = LV_OPA_COVER;
@ -106,7 +106,7 @@ void lv_draw_label_dsc_init(lv_draw_label_dsc_t * dsc)
* @param dsc pointer to draw descriptor * @param dsc pointer to draw descriptor
* @param txt `\0` terminated text to write * @param txt `\0` terminated text to write
*/ */
void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, lv_draw_label_dsc_t * dsc, LV_ATTRIBUTE_FAST_MEM void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, lv_draw_label_dsc_t * dsc,
const char * txt, lv_draw_label_hint_t * hint) const char * txt, lv_draw_label_hint_t * hint)
{ {
@ -390,7 +390,7 @@ void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, lv_draw_lab
* @param color color of letter * @param color color of letter
* @param opa opacity of letter (0..255) * @param opa opacity of letter (0..255)
*/ */
static void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * clip_area, const lv_font_t * font_p, LV_ATTRIBUTE_FAST_MEM static void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * clip_area, const lv_font_t * font_p,
uint32_t letter, uint32_t letter,
lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode) lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode)
{ {
@ -443,7 +443,7 @@ static void lv_draw_letter(const lv_point_t * pos_p, const lv_area_t * clip_area
} }
static void draw_letter_normal(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g, const lv_area_t * clip_area, LV_ATTRIBUTE_FAST_MEM static void draw_letter_normal(lv_coord_t pos_x, lv_coord_t pos_y, lv_font_glyph_dsc_t * g, const lv_area_t * clip_area,
const uint8_t * map_p, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode) const uint8_t * map_p, lv_color_t color, lv_opa_t opa, lv_blend_mode_t blend_mode)
{ {
const uint8_t * bpp_opa_table_p; const uint8_t * bpp_opa_table_p;

View File

@ -64,7 +64,7 @@ typedef struct {
* GLOBAL PROTOTYPES * GLOBAL PROTOTYPES
**********************/ **********************/
void lv_draw_label_dsc_init(lv_draw_label_dsc_t * dsc); LV_ATTRIBUTE_FAST_MEM void lv_draw_label_dsc_init(lv_draw_label_dsc_t * dsc);
/** /**
* Write a text * Write a text
@ -73,7 +73,7 @@ void lv_draw_label_dsc_init(lv_draw_label_dsc_t * dsc);
* @param dsc pointer to draw descriptor * @param dsc pointer to draw descriptor
* @param txt `\0` terminated text to write * @param txt `\0` terminated text to write
*/ */
void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, lv_draw_label_dsc_t * dsc, LV_ATTRIBUTE_FAST_MEM void lv_draw_label(const lv_area_t * coords, const lv_area_t * mask, lv_draw_label_dsc_t * dsc,
const char * txt, lv_draw_label_hint_t * hint); const char * txt, lv_draw_label_hint_t * hint);
/*********************** /***********************

View File

@ -24,11 +24,11 @@
/********************** /**********************
* STATIC PROTOTYPES * STATIC PROTOTYPES
**********************/ **********************/
static void draw_line_skew(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, LV_ATTRIBUTE_FAST_MEM static void draw_line_skew(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip,
lv_draw_line_dsc_t * dsc); lv_draw_line_dsc_t * dsc);
static void draw_line_hor(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, LV_ATTRIBUTE_FAST_MEM static void draw_line_hor(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip,
lv_draw_line_dsc_t * dsc); lv_draw_line_dsc_t * dsc);
static void draw_line_ver(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, LV_ATTRIBUTE_FAST_MEM static void draw_line_ver(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip,
lv_draw_line_dsc_t * dsc); lv_draw_line_dsc_t * dsc);
/********************** /**********************
@ -43,7 +43,7 @@ static void draw_line_ver(const lv_point_t * point1, const lv_point_t * point2,
* GLOBAL FUNCTIONS * GLOBAL FUNCTIONS
**********************/ **********************/
void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc) LV_ATTRIBUTE_FAST_MEM void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc)
{ {
lv_memset_00(dsc, sizeof(lv_draw_line_dsc_t)); lv_memset_00(dsc, sizeof(lv_draw_line_dsc_t));
dsc->width = 1; dsc->width = 1;
@ -59,7 +59,7 @@ void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc)
* @param style pointer to a line's style * @param style pointer to a line's style
* @param opa_scale scale down all opacities by the factor * @param opa_scale scale down all opacities by the factor
*/ */
void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, LV_ATTRIBUTE_FAST_MEM void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip,
lv_draw_line_dsc_t * dsc) lv_draw_line_dsc_t * dsc)
{ {
if(dsc->width == 0) return; if(dsc->width == 0) return;
@ -115,7 +115,7 @@ void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv
* STATIC FUNCTIONS * STATIC FUNCTIONS
**********************/ **********************/
static void draw_line_hor(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, LV_ATTRIBUTE_FAST_MEM static void draw_line_hor(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip,
lv_draw_line_dsc_t * dsc) lv_draw_line_dsc_t * dsc)
{ {
lv_opa_t opa = dsc->opa; lv_opa_t opa = dsc->opa;
@ -215,7 +215,7 @@ static void draw_line_hor(const lv_point_t * point1, const lv_point_t * point2,
} }
static void draw_line_ver(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, LV_ATTRIBUTE_FAST_MEM static void draw_line_ver(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip,
lv_draw_line_dsc_t * dsc) lv_draw_line_dsc_t * dsc)
{ {
lv_opa_t opa = dsc->opa; lv_opa_t opa = dsc->opa;
@ -309,7 +309,7 @@ static void draw_line_ver(const lv_point_t * point1, const lv_point_t * point2,
} }
static void draw_line_skew(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip, LV_ATTRIBUTE_FAST_MEM static void draw_line_skew(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * clip,
lv_draw_line_dsc_t * dsc) lv_draw_line_dsc_t * dsc)
{ {
/*Keep the great y in p1*/ /*Keep the great y in p1*/

View File

@ -46,10 +46,10 @@ typedef struct {
* @param style pointer to a line's style * @param style pointer to a line's style
* @param opa_scale scale down all opacities by the factor * @param opa_scale scale down all opacities by the factor
*/ */
void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * mask, LV_ATTRIBUTE_FAST_MEM void lv_draw_line(const lv_point_t * point1, const lv_point_t * point2, const lv_area_t * mask,
lv_draw_line_dsc_t * dsc); lv_draw_line_dsc_t * dsc);
void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc); LV_ATTRIBUTE_FAST_MEM void lv_draw_line_dsc_init(lv_draw_line_dsc_t * dsc);
/********************** /**********************
* MACROS * MACROS

View File

@ -28,14 +28,14 @@
/********************** /**********************
* STATIC PROTOTYPES * STATIC PROTOTYPES
**********************/ **********************/
static void draw_bg(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc); LV_ATTRIBUTE_FAST_MEM static void draw_bg(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc);
static void draw_border(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc); LV_ATTRIBUTE_FAST_MEM static void draw_border(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc);
static void draw_outline(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc); static void draw_outline(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc);
static inline lv_color_t grad_get(lv_draw_rect_dsc_t * dsc, lv_coord_t s, lv_coord_t i); LV_ATTRIBUTE_FAST_MEM static inline lv_color_t grad_get(lv_draw_rect_dsc_t * dsc, lv_coord_t s, lv_coord_t i);
#if LV_USE_SHADOW #if LV_USE_SHADOW
static void draw_shadow(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc); LV_ATTRIBUTE_FAST_MEM static void draw_shadow(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc);
static void shadow_draw_corner_buf(const lv_area_t * coords, uint16_t * sh_buf, lv_coord_t s, lv_coord_t r); LV_ATTRIBUTE_FAST_MEM static void shadow_draw_corner_buf(const lv_area_t * coords, uint16_t * sh_buf, lv_coord_t s, lv_coord_t r);
static void shadow_blur_corner(lv_coord_t size, lv_coord_t sw, uint16_t * sh_ups_buf); LV_ATTRIBUTE_FAST_MEM static void shadow_blur_corner(lv_coord_t size, lv_coord_t sw, uint16_t * sh_ups_buf);
#endif #endif
static void draw_pattern(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc); static void draw_pattern(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc);
static void draw_value(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc); static void draw_value(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc);
@ -57,7 +57,7 @@ static int32_t sh_cache_r = -1;
* GLOBAL FUNCTIONS * GLOBAL FUNCTIONS
**********************/ **********************/
void lv_draw_rect_dsc_init(lv_draw_rect_dsc_t * dsc) LV_ATTRIBUTE_FAST_MEM void lv_draw_rect_dsc_init(lv_draw_rect_dsc_t * dsc)
{ {
lv_memset_00(dsc, sizeof(lv_draw_rect_dsc_t)); lv_memset_00(dsc, sizeof(lv_draw_rect_dsc_t));
dsc->bg_color = LV_COLOR_WHITE; dsc->bg_color = LV_COLOR_WHITE;
@ -137,7 +137,7 @@ void lv_draw_px(const lv_point_t * point, const lv_area_t * clip_area, const lv_
* STATIC FUNCTIONS * STATIC FUNCTIONS
**********************/ **********************/
static void draw_bg(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc) LV_ATTRIBUTE_FAST_MEM static void draw_bg(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc)
{ {
if(dsc->bg_opa <= LV_OPA_MIN) return; if(dsc->bg_opa <= LV_OPA_MIN) return;
@ -346,7 +346,7 @@ static void draw_bg(const lv_area_t * coords, const lv_area_t * clip, lv_draw_re
} }
static void draw_border(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc) LV_ATTRIBUTE_FAST_MEM static void draw_border(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc)
{ {
if(dsc->border_opa <= LV_OPA_MIN) return; if(dsc->border_opa <= LV_OPA_MIN) return;
if(dsc->border_width == 0) return; if(dsc->border_width == 0) return;
@ -559,7 +559,7 @@ static void draw_border(const lv_area_t * coords, const lv_area_t * clip, lv_dra
lv_mem_buf_release(mask_buf); lv_mem_buf_release(mask_buf);
} }
static inline lv_color_t grad_get(lv_draw_rect_dsc_t * dsc, lv_coord_t s, lv_coord_t i) LV_ATTRIBUTE_FAST_MEM static inline lv_color_t grad_get(lv_draw_rect_dsc_t * dsc, lv_coord_t s, lv_coord_t i)
{ {
int32_t min = (dsc->bg_main_color_stop * s) >> 8; int32_t min = (dsc->bg_main_color_stop * s) >> 8;
if(i <= min) return dsc->bg_color; if(i <= min) return dsc->bg_color;
@ -575,7 +575,7 @@ static inline lv_color_t grad_get(lv_draw_rect_dsc_t * dsc, lv_coord_t s, lv_coo
} }
#if LV_USE_SHADOW #if LV_USE_SHADOW
static void draw_shadow(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc) LV_ATTRIBUTE_FAST_MEM static void draw_shadow(const lv_area_t * coords, const lv_area_t * clip, lv_draw_rect_dsc_t * dsc)
{ {
/*Check whether the shadow is visible*/ /*Check whether the shadow is visible*/
if(dsc->shadow_width == 0) return; if(dsc->shadow_width == 0) return;
@ -1042,7 +1042,7 @@ static void draw_shadow(const lv_area_t * coords, const lv_area_t * clip, lv_dra
* @param sw shadow width * @param sw shadow width
* @param r radius * @param r radius
*/ */
static void shadow_draw_corner_buf(const lv_area_t * coords, uint16_t * sh_buf, lv_coord_t sw, lv_coord_t r) LV_ATTRIBUTE_FAST_MEM static void shadow_draw_corner_buf(const lv_area_t * coords, uint16_t * sh_buf, lv_coord_t sw, lv_coord_t r)
{ {
int32_t sw_ori = sw; int32_t sw_ori = sw;
int32_t size = sw_ori + r; int32_t size = sw_ori + r;
@ -1125,7 +1125,7 @@ static void shadow_draw_corner_buf(const lv_area_t * coords, uint16_t * sh_buf,
} }
static void shadow_blur_corner(lv_coord_t size, lv_coord_t sw, uint16_t * sh_ups_buf) LV_ATTRIBUTE_FAST_MEM static void shadow_blur_corner(lv_coord_t size, lv_coord_t sw, uint16_t * sh_ups_buf)
{ {
int32_t s_left = sw >> 1; int32_t s_left = sw >> 1;
int32_t s_right = (sw >> 1); int32_t s_right = (sw >> 1);

View File

@ -84,7 +84,7 @@ typedef struct {
* GLOBAL PROTOTYPES * GLOBAL PROTOTYPES
**********************/ **********************/
void lv_draw_rect_dsc_init(lv_draw_rect_dsc_t * dsc); LV_ATTRIBUTE_FAST_MEM void lv_draw_rect_dsc_init(lv_draw_rect_dsc_t * dsc);
/** /**
* Draw a rectangle * Draw a rectangle

View File

@ -433,7 +433,7 @@ static inline uint32_t lv_color_to32(lv_color_t color)
* @param mix The ratio of the colors. 0: full `c2`, 255: full `c1`, 127: half `c1` and half`c2` * @param mix The ratio of the colors. 0: full `c2`, 255: full `c1`, 127: half `c1` and half`c2`
* @return the mixed color * @return the mixed color
*/ */
static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix) LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix)
{ {
lv_color_t ret; lv_color_t ret;
#if LV_COLOR_DEPTH != 1 #if LV_COLOR_DEPTH != 1
@ -450,7 +450,7 @@ static inline lv_color_t lv_color_mix(lv_color_t c1, lv_color_t c2, uint8_t mix)
return ret; return ret;
} }
static inline void lv_color_premult(lv_color_t c, uint8_t mix, uint16_t * out) LV_ATTRIBUTE_FAST_MEM static inline void lv_color_premult(lv_color_t c, uint8_t mix, uint16_t * out)
{ {
#if LV_COLOR_DEPTH != 1 #if LV_COLOR_DEPTH != 1
out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix; out[0] = (uint16_t) LV_COLOR_GET_R(c) * mix;
@ -474,7 +474,7 @@ static inline void lv_color_premult(lv_color_t c, uint8_t mix, uint16_t * out)
* @return the mixed color * @return the mixed color
* @note 255 won't give clearly `c1`. * @note 255 won't give clearly `c1`.
*/ */
static inline lv_color_t lv_color_mix_premult(uint16_t * premult_c1, lv_color_t c2, uint8_t mix) LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix_premult(uint16_t * premult_c1, lv_color_t c2, uint8_t mix)
{ {
lv_color_t ret; lv_color_t ret;
#if LV_COLOR_DEPTH != 1 #if LV_COLOR_DEPTH != 1
@ -506,7 +506,7 @@ static inline lv_color_t lv_color_mix_premult(uint16_t * premult_c1, lv_color_t
* @param res_color the result color * @param res_color the result color
* @param res_opa the result opacity * @param res_opa the result opacity
*/ */
static inline void lv_color_mix_with_alpha(lv_color_t bg_color, lv_opa_t bg_opa, lv_color_t fg_color, lv_opa_t fg_opa, LV_ATTRIBUTE_FAST_MEM static inline void lv_color_mix_with_alpha(lv_color_t bg_color, lv_opa_t bg_opa, lv_color_t fg_color, lv_opa_t fg_opa,
lv_color_t * res_color, lv_opa_t * res_opa) lv_color_t * res_color, lv_opa_t * res_opa)
{ {
/* Pick the foreground if it's fully opaque or the Background is fully transparent*/ /* Pick the foreground if it's fully opaque or the Background is fully transparent*/