fix(chart): fix off-by-one error in chart widget (#4461)
Signed-off-by: W-Mai <1341398182@qq.com>
This commit is contained in:
@@ -575,7 +575,6 @@ static void analytics_create(lv_obj_t * parent)
|
||||
lv_chart_set_next_value(chart1, ser1, lv_rand(10, 80));
|
||||
lv_chart_set_next_value(chart1, ser1, lv_rand(10, 80));
|
||||
lv_chart_set_next_value(chart1, ser1, lv_rand(10, 80));
|
||||
lv_chart_set_next_value(chart1, ser1, lv_rand(10, 80));
|
||||
|
||||
lv_obj_t * chart2_cont = lv_obj_create(parent);
|
||||
lv_obj_add_flag(chart2_cont, LV_OBJ_FLAG_FLEX_IN_NEW_TRACK);
|
||||
@@ -628,7 +627,6 @@ static void analytics_create(lv_obj_t * parent)
|
||||
lv_chart_set_next_value(chart2, ser2, lv_rand(10, 80));
|
||||
lv_chart_set_next_value(chart2, ser2, lv_rand(10, 80));
|
||||
lv_chart_set_next_value(chart2, ser2, lv_rand(10, 80));
|
||||
lv_chart_set_next_value(chart2, ser2, lv_rand(10, 80));
|
||||
|
||||
ser3 = lv_chart_add_series(chart2, lv_theme_get_color_primary(chart1), LV_CHART_AXIS_PRIMARY_Y);
|
||||
lv_chart_set_next_value(chart2, ser3, lv_rand(10, 80));
|
||||
@@ -643,7 +641,6 @@ static void analytics_create(lv_obj_t * parent)
|
||||
lv_chart_set_next_value(chart2, ser3, lv_rand(10, 80));
|
||||
lv_chart_set_next_value(chart2, ser3, lv_rand(10, 80));
|
||||
lv_chart_set_next_value(chart2, ser3, lv_rand(10, 80));
|
||||
lv_chart_set_next_value(chart2, ser3, lv_rand(10, 80));
|
||||
|
||||
lv_meter_indicator_t * indic;
|
||||
meter1 = create_meter_box(parent, "Monthly Target", "Revenue: 63%", "Sales: 44%", "Costs: 58%");
|
||||
@@ -817,11 +814,6 @@ void shop_create(lv_obj_t * parent)
|
||||
lv_chart_set_next_value(chart3, ser4, lv_rand(60, 90));
|
||||
lv_chart_set_next_value(chart3, ser4, lv_rand(60, 90));
|
||||
lv_chart_set_next_value(chart3, ser4, lv_rand(60, 90));
|
||||
lv_chart_set_next_value(chart3, ser4, lv_rand(60, 90));
|
||||
lv_chart_set_next_value(chart3, ser4, lv_rand(60, 90));
|
||||
lv_chart_set_next_value(chart3, ser4, lv_rand(60, 90));
|
||||
lv_chart_set_next_value(chart3, ser4, lv_rand(60, 90));
|
||||
lv_chart_set_next_value(chart3, ser4, lv_rand(60, 90));
|
||||
|
||||
if(disp_size == DISP_LARGE) {
|
||||
static lv_coord_t grid1_col_dsc[] = {LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST};
|
||||
|
||||
@@ -892,7 +892,7 @@ static void draw_series_line(lv_obj_t * obj, lv_layer_t * layer)
|
||||
if(LV_MIN(point_w, point_h) > line_dsc.width / 2) line_dsc.raw_end = 1;
|
||||
if(line_dsc.width == 1) line_dsc.raw_end = 1;
|
||||
|
||||
/*If there are at least as much points as pixels then draw only vertical lines*/
|
||||
/*If there are at least as many points as pixels then draw only vertical lines*/
|
||||
bool crowded_mode = chart->point_cnt >= w ? true : false;
|
||||
|
||||
/*Go through all data lines*/
|
||||
@@ -969,7 +969,7 @@ static void draw_series_line(lv_obj_t * obj, lv_layer_t * layer)
|
||||
}
|
||||
|
||||
if(point_w && point_h && ser->y_points[p_prev] != LV_CHART_POINT_NONE) {
|
||||
point_dsc_default.base.id2 = i;
|
||||
point_dsc_default.base.id2 = i - 1;
|
||||
lv_draw_rect(layer, &point_dsc_default, &point_area);
|
||||
}
|
||||
}
|
||||
@@ -987,7 +987,7 @@ static void draw_series_line(lv_obj_t * obj, lv_layer_t * layer)
|
||||
point_area.x2 = line_dsc.p2.x + point_w;
|
||||
point_area.y1 = line_dsc.p2.y - point_h;
|
||||
point_area.y2 = line_dsc.p2.y + point_h;
|
||||
point_dsc_default.base.id2 = i;
|
||||
point_dsc_default.base.id2 = i - 1;
|
||||
lv_draw_rect(layer, &point_dsc_default, &point_area);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user