From 23a040670ecb8662d30c1952ddae55557c3c5d80 Mon Sep 17 00:00:00 2001 From: Gabor Kiss-Vamosi Date: Tue, 26 Nov 2019 13:25:15 +0100 Subject: [PATCH] arc and preloader draw and design fixes --- src/lv_draw/lv_draw_arc.c | 1 + src/lv_draw/lv_draw_blend.c | 1 + src/lv_objx/lv_preload.c | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lv_draw/lv_draw_arc.c b/src/lv_draw/lv_draw_arc.c index f8008f935..7850b37ce 100644 --- a/src/lv_draw/lv_draw_arc.c +++ b/src/lv_draw/lv_draw_arc.c @@ -54,6 +54,7 @@ void lv_draw_arc(lv_coord_t center_x, lv_coord_t center_y, uint16_t radius, cons circle_style.body.opa = LV_OPA_TRANSP; circle_style.body.border.width = style->line.width; circle_style.body.border.color = style->line.color; + circle_style.body.border.opa = style->line.opa; lv_draw_mask_angle_param_t mask_angle_param; lv_draw_mask_angle_init(&mask_angle_param, center_x, center_y, start_angle, end_angle); diff --git a/src/lv_draw/lv_draw_blend.c b/src/lv_draw/lv_draw_blend.c index 90822ea10..1a0c0099b 100644 --- a/src/lv_draw/lv_draw_blend.c +++ b/src/lv_draw/lv_draw_blend.c @@ -326,6 +326,7 @@ static void fill_normal(const lv_area_t * disp_area, lv_color_t * disp_buf, con { if(mask_tmp[x] > LV_OPA_MAX) last_res_color = color; else if(mask_tmp[x] < LV_OPA_MIN) last_res_color = disp_buf_tmp[x]; + else if(disp_buf_tmp[x].full == color.full) last_res_color = color; else last_res_color = lv_color_mix(color, disp_buf_tmp[x], mask_tmp[x]); } last_mask = mask_tmp[x]; diff --git a/src/lv_objx/lv_preload.c b/src/lv_objx/lv_preload.c index d77dc1a51..4b9a5d6ed 100644 --- a/src/lv_objx/lv_preload.c +++ b/src/lv_objx/lv_preload.c @@ -359,7 +359,8 @@ void lv_preload_spinner_anim(void * ptr, lv_anim_value_t val) angle_start = angle_start % 360; angle_end = angle_end % 360; - lv_arc_set_angles(preload, angle_start, angle_end); + lv_arc_set_start_angle(preload, angle_start); + lv_arc_set_end_angle(preload, angle_end); } /********************** @@ -400,6 +401,7 @@ static lv_design_res_t lv_preload_design(lv_obj_t * preload, const lv_area_t * c bg_style.body.radius = LV_RADIUS_CIRCLE; bg_style.body.border.color = style->body.border.color; bg_style.body.border.width = style->body.border.width; + bg_style.body.border.opa = style->body.border.opa; lv_area_t bg_area; bg_area.x1 = x - r;