cpicker: fix line indicator artifact

This commit is contained in:
Gabor Kiss-Vamosi
2019-09-26 07:23:23 +02:00
parent 6e9f10451d
commit 8dcb1ff21c

View File

@@ -1889,39 +1889,17 @@ static void lv_cpicker_invalidate(lv_obj_t * cpicker, bool all)
{
lv_area_t line_area;
lv_point_t p1, p2;
p1.x = ext->rect_gradient_area.x1 + ind_pos;
p1.y = ext->rect_gradient_area.y1;
p2.x = p1.x;
p2.y = ext->rect_gradient_area.y2;
line_area.x1 = p1.x;
line_area.y1 = p1.y;
line_area.x2 = p2.x;
line_area.y2 = p2.x;
line_area.x1 -= 2*ext->indicator.style->line.width;
line_area.y1 -= 2*ext->indicator.style->line.width;
line_area.x2 += 2*ext->indicator.style->line.width;
line_area.y2 += 2*ext->indicator.style->line.width;
/*Invalidate the current position*/
line_area.x1 = ext->rect_gradient_area.x1 + ind_pos - ext->indicator.style->line.width;
line_area.x2 = ext->rect_gradient_area.x1 + ind_pos + ext->indicator.style->line.width;
line_area.y1 = ext->rect_gradient_area.y1;
line_area.y2 = ext->rect_gradient_area.y2;
lv_inv_area(disp, &line_area);
/* invalidate last postion */
p1.x = ext->rect_gradient_area.x1 + prev_pos;
//p1.y = ext->rect_gradient_area.y1;
p2.x = p1.x;
//p2.y = ext->rect_gradient_area.y2;
line_area.x1 = p1.x;
line_area.y1 = p1.y;
line_area.x2 = p2.x;
line_area.y2 = p2.x;
line_area.x1 -= 2*ext->indicator.style->line.width;
line_area.y1 -= 2*ext->indicator.style->line.width;
line_area.x2 += 2*ext->indicator.style->line.width;
line_area.y2 += 2*ext->indicator.style->line.width;
/* Invalidate last position */
line_area.x1 = ext->rect_gradient_area.x1 + prev_pos - ext->indicator.style->line.width;
line_area.x2 = ext->rect_gradient_area.x1 + prev_pos + ext->indicator.style->line.width;
lv_inv_area(disp, &line_area);
break;