Lines Matching refs:chart
83 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_type() local
84 if(chart->type == type) return; in lv_chart_set_type()
86 if(chart->type == LV_CHART_TYPE_SCATTER) { in lv_chart_set_type()
88 LV_LL_READ_BACK(&chart->series_ll, ser) { in lv_chart_set_type()
96 LV_LL_READ_BACK(&chart->series_ll, ser) { in lv_chart_set_type()
97 ser->x_points = lv_malloc(sizeof(int32_t) * chart->point_cnt); in lv_chart_set_type()
103 chart->type = type; in lv_chart_set_type()
112 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_point_count() local
113 if(chart->point_cnt == cnt) return; in lv_chart_set_point_count()
119 LV_LL_READ_BACK(&chart->series_ll, ser) { in lv_chart_set_point_count()
120 if(chart->type == LV_CHART_TYPE_SCATTER) { in lv_chart_set_point_count()
127 chart->point_cnt = cnt; in lv_chart_set_point_count()
138 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_range() local
141 chart->ymin[0] = min; in lv_chart_set_range()
142 chart->ymax[0] = max; in lv_chart_set_range()
145 chart->ymin[1] = min; in lv_chart_set_range()
146 chart->ymax[1] = max; in lv_chart_set_range()
149 chart->xmin[0] = min; in lv_chart_set_range()
150 chart->xmax[0] = max; in lv_chart_set_range()
153 chart->xmin[1] = min; in lv_chart_set_range()
154 chart->xmax[1] = max; in lv_chart_set_range()
168 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_update_mode() local
169 if(chart->update_mode == update_mode) return; in lv_chart_set_update_mode()
171 chart->update_mode = update_mode; in lv_chart_set_update_mode()
179 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_div_line_count() local
180 if(chart->hdiv_cnt == hdiv && chart->vdiv_cnt == vdiv) return; in lv_chart_set_div_line_count()
182 chart->hdiv_cnt = hdiv; in lv_chart_set_div_line_count()
183 chart->vdiv_cnt = vdiv; in lv_chart_set_div_line_count()
192 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_get_type() local
193 return chart->type; in lv_chart_get_type()
200 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_get_point_count() local
201 return chart->point_cnt; in lv_chart_get_point_count()
218 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_get_point_pos_by_id() local
219 if(id >= chart->point_cnt) { in lv_chart_get_point_pos_by_id()
229 if(chart->type == LV_CHART_TYPE_LINE) { in lv_chart_get_point_pos_by_id()
230 if(chart->point_cnt > 1) { in lv_chart_get_point_pos_by_id()
231 p_out->x = (w * id) / (chart->point_cnt - 1); in lv_chart_get_point_pos_by_id()
237 else if(chart->type == LV_CHART_TYPE_SCATTER) { in lv_chart_get_point_pos_by_id()
238 …p_out->x = lv_map(ser->x_points[id], chart->xmin[ser->x_axis_sec], chart->xmax[ser->x_axis_sec], 0… in lv_chart_get_point_pos_by_id()
240 else if(chart->type == LV_CHART_TYPE_BAR) { in lv_chart_get_point_pos_by_id()
241 uint32_t ser_cnt = lv_ll_get_len(&chart->series_ll); in lv_chart_get_point_pos_by_id()
247 int32_t block_w = (w - ((chart->point_cnt - 1) * block_gap)) / chart->point_cnt; in lv_chart_get_point_pos_by_id()
249 if(chart->point_cnt > 1) { in lv_chart_get_point_pos_by_id()
250 p_out->x = (int32_t)((int32_t)(w - block_w) * id) / (chart->point_cnt - 1); in lv_chart_get_point_pos_by_id()
258 LV_LL_READ(&chart->series_ll, ser_i) { in lv_chart_get_point_pos_by_id()
263 p_out->x = (int32_t)((int32_t)(w + block_gap) * id) / chart->point_cnt; in lv_chart_get_point_pos_by_id()
277 uint32_t start_point = chart->update_mode == LV_CHART_UPDATE_MODE_SHIFT ? ser->start_point : 0; in lv_chart_get_point_pos_by_id()
278 id = ((int32_t)start_point + id) % chart->point_cnt; in lv_chart_get_point_pos_by_id()
280 temp_y = (int32_t)((int32_t)ser->y_points[id] - chart->ymin[ser->y_axis_sec]) * h; in lv_chart_get_point_pos_by_id()
281 temp_y = temp_y / (chart->ymax[ser->y_axis_sec] - chart->ymin[ser->y_axis_sec]); in lv_chart_get_point_pos_by_id()
304 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_add_series() local
307 lv_chart_series_t * ser = lv_ll_ins_tail(&chart->series_ll); in lv_chart_add_series()
313 ser->y_points = lv_malloc(sizeof(int32_t) * chart->point_cnt); in lv_chart_add_series()
316 if(chart->type == LV_CHART_TYPE_SCATTER) { in lv_chart_add_series()
317 ser->x_points = lv_malloc(sizeof(int32_t) * chart->point_cnt); in lv_chart_add_series()
321 lv_ll_remove(&chart->series_ll, ser); in lv_chart_add_series()
336 lv_ll_remove(&chart->series_ll, ser); in lv_chart_add_series()
352 for(i = 0; i < chart->point_cnt; i++) { in lv_chart_add_series()
365 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_remove_series() local
369 lv_ll_remove(&chart->series_ll, series); in lv_chart_remove_series()
375 void lv_chart_hide_series(lv_obj_t * chart, lv_chart_series_t * series, bool hide) in lv_chart_hide_series() argument
377 LV_ASSERT_OBJ(chart, MY_CLASS); in lv_chart_hide_series()
381 lv_chart_refresh(chart); in lv_chart_hide_series()
384 void lv_chart_set_series_color(lv_obj_t * chart, lv_chart_series_t * series, lv_color_t color) in lv_chart_set_series_color() argument
386 LV_ASSERT_OBJ(chart, MY_CLASS); in lv_chart_set_series_color()
390 lv_chart_refresh(chart); in lv_chart_set_series_color()
393 lv_color_t lv_chart_get_series_color(lv_obj_t * chart, const lv_chart_series_t * series) in lv_chart_get_series_color() argument
395 LV_ASSERT_OBJ(chart, MY_CLASS); in lv_chart_get_series_color()
397 LV_UNUSED(chart); in lv_chart_get_series_color()
407 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_x_start_point() local
408 if(id >= chart->point_cnt) return; in lv_chart_set_x_start_point()
416 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_get_series_next() local
417 if(ser == NULL) return lv_ll_get_head(&chart->series_ll); in lv_chart_get_series_next()
418 else return lv_ll_get_next(&chart->series_ll, ser); in lv_chart_get_series_next()
429 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_add_cursor() local
430 lv_chart_cursor_t * cursor = lv_ll_ins_head(&chart->cursor_ll); in lv_chart_add_cursor()
443 void lv_chart_set_cursor_pos(lv_obj_t * chart, lv_chart_cursor_t * cursor, lv_point_t * pos) in lv_chart_set_cursor_pos() argument
446 LV_UNUSED(chart); in lv_chart_set_cursor_pos()
450 lv_chart_refresh(chart); in lv_chart_set_cursor_pos()
453 void lv_chart_set_cursor_point(lv_obj_t * chart, lv_chart_cursor_t * cursor, lv_chart_series_t * se… in lv_chart_set_cursor_point() argument
456 LV_UNUSED(chart); in lv_chart_set_cursor_point()
460 if(ser == NULL) ser = lv_chart_get_series_next(chart, NULL); in lv_chart_set_cursor_point()
462 lv_chart_refresh(chart); in lv_chart_set_cursor_point()
465 lv_point_t lv_chart_get_cursor_point(lv_obj_t * chart, lv_chart_cursor_t * cursor) in lv_chart_get_cursor_point() argument
468 LV_UNUSED(chart); in lv_chart_get_cursor_point()
482 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_all_values() local
484 for(i = 0; i < chart->point_cnt; i++) { in lv_chart_set_all_values()
496 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_next_value() local
499 ser->start_point = (ser->start_point + 1) % chart->point_cnt; in lv_chart_set_next_value()
508 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_next_value2() local
510 if(chart->type != LV_CHART_TYPE_SCATTER) { in lv_chart_set_next_value2()
517 ser->start_point = (ser->start_point + 1) % chart->point_cnt; in lv_chart_set_next_value2()
525 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_value_by_id() local
527 if(id >= chart->point_cnt) return; in lv_chart_set_value_by_id()
537 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_set_value_by_id2() local
539 if(chart->type != LV_CHART_TYPE_SCATTER) { in lv_chart_set_value_by_id2()
544 if(id >= chart->point_cnt) return; in lv_chart_set_value_by_id2()
590 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_get_pressed_point() local
591 return chart->pressed_point_id; in lv_chart_get_pressed_point()
596 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_get_first_point_center_offset() local
599 if(chart->type == LV_CHART_TYPE_BAR) { in lv_chart_get_first_point_center_offset()
604 int32_t block_w = (w + block_gap) / (chart->point_cnt); in lv_chart_get_first_point_center_offset()
621 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_constructor() local
623 lv_ll_init(&chart->series_ll, sizeof(lv_chart_series_t)); in lv_chart_constructor()
624 lv_ll_init(&chart->cursor_ll, sizeof(lv_chart_cursor_t)); in lv_chart_constructor()
626 chart->ymin[0] = 0; in lv_chart_constructor()
627 chart->xmin[0] = 0; in lv_chart_constructor()
628 chart->ymin[1] = 0; in lv_chart_constructor()
629 chart->xmin[1] = 0; in lv_chart_constructor()
630 chart->ymax[0] = 100; in lv_chart_constructor()
631 chart->xmax[0] = 100; in lv_chart_constructor()
632 chart->ymax[1] = 100; in lv_chart_constructor()
633 chart->xmax[1] = 100; in lv_chart_constructor()
635 chart->hdiv_cnt = LV_CHART_HDIV_DEF; in lv_chart_constructor()
636 chart->vdiv_cnt = LV_CHART_VDIV_DEF; in lv_chart_constructor()
637 chart->point_cnt = LV_CHART_POINT_CNT_DEF; in lv_chart_constructor()
638 chart->pressed_point_id = LV_CHART_POINT_NONE; in lv_chart_constructor()
639 chart->type = LV_CHART_TYPE_LINE; in lv_chart_constructor()
640 chart->update_mode = LV_CHART_UPDATE_MODE_SHIFT; in lv_chart_constructor()
650 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_destructor() local
652 while(chart->series_ll.head) { in lv_chart_destructor()
653 ser = lv_ll_get_head(&chart->series_ll); in lv_chart_destructor()
659 lv_ll_remove(&chart->series_ll, ser); in lv_chart_destructor()
662 lv_ll_clear(&chart->series_ll); in lv_chart_destructor()
665 while(chart->cursor_ll.head) { in lv_chart_destructor()
666 cur = lv_ll_get_head(&chart->cursor_ll); in lv_chart_destructor()
667 lv_ll_remove(&chart->cursor_ll, cur); in lv_chart_destructor()
670 lv_ll_clear(&chart->cursor_ll); in lv_chart_destructor()
688 lv_chart_t * chart = (lv_chart_t *)obj; in lv_chart_event() local
696 if(id != (uint32_t)chart->pressed_point_id) { in lv_chart_event()
698 invalidate_point(obj, chart->pressed_point_id); in lv_chart_event()
699 chart->pressed_point_id = id; in lv_chart_event()
704 invalidate_point(obj, chart->pressed_point_id); in lv_chart_event()
705 chart->pressed_point_id = LV_CHART_POINT_NONE; in lv_chart_event()
711 if(lv_ll_is_empty(&chart->series_ll) == false) { in lv_chart_event()
712 if(chart->type == LV_CHART_TYPE_LINE) draw_series_line(obj, layer); in lv_chart_event()
713 else if(chart->type == LV_CHART_TYPE_BAR) draw_series_bar(obj, layer); in lv_chart_event()
714 else if(chart->type == LV_CHART_TYPE_SCATTER) draw_series_scatter(obj, layer); in lv_chart_event()
723 lv_chart_t * chart = (lv_chart_t *)obj; in draw_div_lines() local
752 if(chart->hdiv_cnt != 0) { in draw_div_lines()
758 i_end = chart->hdiv_cnt; in draw_div_lines()
765 line_dsc.p1.y = (int32_t)((int32_t)h * i) / (chart->hdiv_cnt - 1); in draw_div_lines()
774 if(chart->vdiv_cnt != 0) { in draw_div_lines()
779 i_end = chart->vdiv_cnt; in draw_div_lines()
786 line_dsc.p1.x = (int32_t)((int32_t)w * i) / (chart->vdiv_cnt - 1); in draw_div_lines()
806 lv_chart_t * chart = (lv_chart_t *)obj; in draw_series_line() local
807 if(chart->point_cnt < 2) return; in draw_series_line()
841 bool crowded_mode = (int32_t)chart->point_cnt >= w; in draw_series_line()
843 line_dsc.base.id1 = lv_ll_get_len(&chart->series_ll) - 1; in draw_series_line()
846 LV_LL_READ_BACK(&chart->series_ll, ser) { in draw_series_line()
857 … int32_t start_point = chart->update_mode == LV_CHART_UPDATE_MODE_SHIFT ? ser->start_point : 0; in draw_series_line()
864 … int32_t y_tmp = (int32_t)((int32_t)ser->y_points[p_prev] - chart->ymin[ser->y_axis_sec]) * h; in draw_series_line()
865 y_tmp = y_tmp / (chart->ymax[ser->y_axis_sec] - chart->ymin[ser->y_axis_sec]); in draw_series_line()
871 for(i = 0; i < chart->point_cnt; i++) { in draw_series_line()
876 line_dsc.p2.x = (lv_value_precise_t)((w * i) / (chart->point_cnt - 1)) + x_ofs; in draw_series_line()
878 p_act = (start_point + i) % chart->point_cnt; in draw_series_line()
880 y_tmp = (int32_t)((int32_t)ser->y_points[p_act] - chart->ymin[ser->y_axis_sec]) * h; in draw_series_line()
881 y_tmp = y_tmp / (chart->ymax[ser->y_axis_sec] - chart->ymin[ser->y_axis_sec]); in draw_series_line()
933 if(!crowded_mode && i == chart->point_cnt) { in draw_series_line()
962 lv_chart_t * chart = (lv_chart_t *)obj; in draw_series_scatter() local
992 LV_LL_READ_BACK(&chart->series_ll, ser) { in draw_series_scatter()
997 … int32_t start_point = chart->update_mode == LV_CHART_UPDATE_MODE_SHIFT ? ser->start_point : 0; in draw_series_scatter()
1005 …line_dsc.p2.x = lv_map(ser->x_points[p_act], chart->xmin[ser->x_axis_sec], chart->xmax[ser->x_axis… in draw_series_scatter()
1008 …line_dsc.p2.y = lv_map(ser->y_points[p_act], chart->ymin[ser->y_axis_sec], chart->ymax[ser->y_axis… in draw_series_scatter()
1017 for(i = 0; i < chart->point_cnt; i++) { in draw_series_scatter()
1021 p_act = (start_point + i) % chart->point_cnt; in draw_series_scatter()
1023 …line_dsc.p2.y = lv_map(ser->y_points[p_act], chart->ymin[ser->y_axis_sec], chart->ymax[ser->y_axis… in draw_series_scatter()
1027 …line_dsc.p2.x = lv_map(ser->x_points[p_act], chart->xmin[ser->x_axis_sec], chart->xmax[ser->x_axis… in draw_series_scatter()
1056 if(i == chart->point_cnt) { in draw_series_scatter()
1084 lv_chart_t * chart = (lv_chart_t *)obj; in draw_series_bar() local
1094 uint32_t ser_cnt = lv_ll_get_len(&chart->series_ll); in draw_series_bar()
1099 int32_t block_w = (w - ((chart->point_cnt - 1) * block_gap)) / chart->point_cnt; in draw_series_bar()
1119 for(i = 0; i < chart->point_cnt; i++) { in draw_series_bar()
1121 if(chart->point_cnt <= 1) { in draw_series_bar()
1125 … x_act = (int32_t)((int32_t)(w - block_w) * i) / (chart->point_cnt - 1) + obj->coords.x1 + x_ofs; in draw_series_bar()
1132 LV_LL_READ(&chart->series_ll, ser) { in draw_series_bar()
1135 … int32_t start_point = chart->update_mode == LV_CHART_UPDATE_MODE_SHIFT ? ser->start_point : 0; in draw_series_bar()
1149 int32_t p_act = (start_point + i) % chart->point_cnt; in draw_series_bar()
1150 … y_tmp = (int32_t)((int32_t)ser->y_points[p_act] - chart->ymin[ser->y_axis_sec]) * h; in draw_series_bar()
1151 … y_tmp = y_tmp / (chart->ymax[ser->y_axis_sec] - chart->ymin[ser->y_axis_sec]); in draw_series_bar()
1167 lv_chart_t * chart = (lv_chart_t *)obj; in draw_cursors() local
1168 if(lv_ll_is_empty(&chart->cursor_ll)) return; in draw_cursors()
1195 LV_LL_READ_BACK(&chart->cursor_ll, cursor) { in draw_cursors()
1271 lv_chart_t * chart = (lv_chart_t *)obj; in get_index_from_x() local
1277 if(x > w) return chart->point_cnt - 1; in get_index_from_x()
1278 if(chart->type == LV_CHART_TYPE_LINE) return (x * (chart->point_cnt - 1) + w / 2) / w; in get_index_from_x()
1279 if(chart->type == LV_CHART_TYPE_BAR) return (x * chart->point_cnt) / w; in get_index_from_x()
1286 lv_chart_t * chart = (lv_chart_t *)obj; in invalidate_point() local
1287 if(i >= chart->point_cnt) return; in invalidate_point()
1293 if(chart->update_mode == LV_CHART_UPDATE_MODE_SHIFT) { in invalidate_point()
1298 if(chart->type == LV_CHART_TYPE_LINE) { in invalidate_point()
1310 if(i < chart->point_cnt - 1) { in invalidate_point()
1311 coords.x1 = ((w * i) / (chart->point_cnt - 1)) + x_ofs - line_width - point_w; in invalidate_point()
1312 coords.x2 = ((w * (i + 1)) / (chart->point_cnt - 1)) + x_ofs + line_width + point_w; in invalidate_point()
1317 coords.x1 = ((w * (i - 1)) / (chart->point_cnt - 1)) + x_ofs - line_width - point_w; in invalidate_point()
1318 coords.x2 = ((w * i) / (chart->point_cnt - 1)) + x_ofs + line_width + point_w; in invalidate_point()
1322 else if(chart->type == LV_CHART_TYPE_BAR) { in invalidate_point()
1327 int32_t block_w = (w + block_gap) / chart->point_cnt; in invalidate_point()
1350 lv_chart_t * chart = (lv_chart_t *) obj; in new_points_alloc() local
1351 uint32_t point_cnt_old = chart->point_cnt; in new_points_alloc()