refactor(chart): add 'series' keyword in value setters/getters for consistency
This commit is contained in:
@@ -435,16 +435,16 @@ static void chart_mode_observer_cb(lv_observer_t * observer, lv_subject_t * subj
|
||||
|
||||
switch(lv_subject_get_int(&subject_mode)) {
|
||||
case MODE_AVG_SPEED:
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 30);
|
||||
lv_chart_set_ext_y_array(chart, ser, avg_speed_values);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 30);
|
||||
lv_chart_set_series_ext_y_array(chart, ser, avg_speed_values);
|
||||
break;
|
||||
case MODE_TOP_SPEED:
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 50);
|
||||
lv_chart_set_ext_y_array(chart, ser, top_speed_values);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 50);
|
||||
lv_chart_set_series_ext_y_array(chart, ser, top_speed_values);
|
||||
break;
|
||||
case MODE_DISTANCE:
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 90);
|
||||
lv_chart_set_ext_y_array(chart, ser, distance_values);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 90);
|
||||
lv_chart_set_series_ext_y_array(chart, ser, distance_values);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -374,7 +374,7 @@ static void create_widget2(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
|
||||
lv_obj_set_style_pad_all(chart, 0, 0);
|
||||
lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1);
|
||||
lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 96);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 96);
|
||||
lv_chart_set_div_line_count(chart, 3, 0);
|
||||
lv_obj_set_style_line_opa(chart, LV_OPA_40, 0);
|
||||
lv_obj_set_style_line_color(chart, lv_color_black(), 0);
|
||||
@@ -382,7 +382,7 @@ static void create_widget2(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
|
||||
lv_obj_set_style_line_dash_gap(chart, 1, 0);
|
||||
lv_chart_series_t * ser = lv_chart_add_series(chart, lv_color_white(), LV_CHART_AXIS_PRIMARY_Y);
|
||||
static const int32_t chart_values[] = {45, 14, 78, 95, 45, 52, 78, 34, 63, 52, 38, 83, 63, 19, LV_CHART_POINT_NONE};
|
||||
lv_chart_set_ext_y_array(chart, ser, (int32_t *)chart_values);
|
||||
lv_chart_set_series_ext_y_array(chart, ser, (int32_t *)chart_values);
|
||||
lv_chart_set_point_count(chart, sizeof(chart_values) / sizeof(*chart_values));
|
||||
lv_chart_refresh(chart);
|
||||
|
||||
|
||||
@@ -460,7 +460,7 @@ static void create_widget2(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
|
||||
|
||||
lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1);
|
||||
lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 101);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 101);
|
||||
lv_chart_set_div_line_count(chart, 3, 0);
|
||||
lv_obj_set_style_line_opa(chart, LV_OPA_40, 0);
|
||||
lv_obj_set_style_line_color(chart, lv_color_black(), 0);
|
||||
@@ -468,7 +468,7 @@ static void create_widget2(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
|
||||
lv_obj_set_style_line_dash_gap(chart, 1, 0);
|
||||
lv_chart_series_t * ser = lv_chart_add_series(chart, lv_color_white(), LV_CHART_AXIS_PRIMARY_Y);
|
||||
static const int32_t chart_values[] = {45, 14, 45, 52, 69, 52, 63};
|
||||
lv_chart_set_ext_y_array(chart, ser, (int32_t *)chart_values);
|
||||
lv_chart_set_series_ext_y_array(chart, ser, (int32_t *)chart_values);
|
||||
lv_chart_set_point_count(chart, sizeof(chart_values) / sizeof(*chart_values));
|
||||
lv_chart_refresh(chart);
|
||||
|
||||
@@ -565,7 +565,7 @@ static void widget3_chart_selected_day_observer_cb(lv_observer_t * observer, lv_
|
||||
lv_obj_add_event_cb(chart, widget3_chart_free_anim_values, LV_EVENT_DELETE, NULL);
|
||||
|
||||
lv_chart_series_t * ser = lv_chart_get_series_next(chart, NULL);
|
||||
lv_chart_set_ext_y_array(chart, ser, anim_values->current);
|
||||
lv_chart_set_series_ext_y_array(chart, ser, anim_values->current);
|
||||
}
|
||||
|
||||
lv_memcpy(anim_values->start, anim_values->current, sizeof(anim_values->current));
|
||||
@@ -651,7 +651,7 @@ static void create_widget3(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
|
||||
lv_obj_set_style_pad_all(chart, 5, 0);
|
||||
lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1);
|
||||
lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, -125, 125);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, -125, 125);
|
||||
lv_chart_set_div_line_count(chart, 3, 0);
|
||||
lv_obj_set_style_line_opa(chart, LV_OPA_40, 0);
|
||||
lv_obj_set_style_line_color(chart, lv_color_black(), 0);
|
||||
|
||||
@@ -183,7 +183,7 @@ static void create_widget1(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
|
||||
lv_obj_set_style_pad_all(chart, 0, 0);
|
||||
lv_obj_set_grid_cell(chart, LV_GRID_ALIGN_STRETCH, 0, 1, LV_GRID_ALIGN_START, 0, 1);
|
||||
lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 109);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 109);
|
||||
lv_chart_set_div_line_count(chart, 3, 0);
|
||||
lv_obj_set_style_line_opa(chart, LV_OPA_40, 0);
|
||||
lv_obj_set_style_line_color(chart, lv_color_black(), 0);
|
||||
@@ -191,7 +191,7 @@ static void create_widget1(lv_demo_high_res_ctx_t * c, lv_obj_t * widgets)
|
||||
lv_obj_set_style_line_dash_gap(chart, 1, 0);
|
||||
lv_chart_series_t * ser = lv_chart_add_series(chart, lv_color_white(), LV_CHART_AXIS_PRIMARY_Y);
|
||||
static const int32_t chart_values[] = {14, 95, 52, 34, 52, 83, 19};
|
||||
lv_chart_set_ext_y_array(chart, ser, (int32_t *)chart_values);
|
||||
lv_chart_set_series_ext_y_array(chart, ser, (int32_t *)chart_values);
|
||||
lv_chart_set_point_count(chart, sizeof(chart_values) / sizeof(*chart_values));
|
||||
lv_chart_refresh(chart);
|
||||
|
||||
|
||||
@@ -1505,7 +1505,7 @@ static void chart_event_cb(lv_event_t * e)
|
||||
}
|
||||
|
||||
char buf[8];
|
||||
lv_snprintf(buf, sizeof(buf), "%"LV_PRId32, lv_chart_get_y_array(obj, (lv_chart_series_t *)ser)[base_dsc->id2]);
|
||||
lv_snprintf(buf, sizeof(buf), "%"LV_PRId32, lv_chart_get_series_y_array(obj, (lv_chart_series_t *)ser)[base_dsc->id2]);
|
||||
|
||||
lv_point_t text_size;
|
||||
lv_text_get_size(&text_size, buf, font_normal, 0, 0, LV_COORD_MAX, LV_TEXT_FLAG_NONE);
|
||||
|
||||
@@ -186,7 +186,7 @@ When adding a data series to a SCATTER chart, bit-wise OR your selected Y axis
|
||||
If you wish to have the chart use your own Y-value array instead of the one provided,
|
||||
you can do so with
|
||||
|
||||
:cpp:expr:`lv_chart_set_ext_y_array(chart, series, value_array)`.
|
||||
:cpp:expr:`lv_chart_set_series_ext_y_array(chart, series, value_array)`.
|
||||
|
||||
You are responsible for ensuring the array you provide contains at least
|
||||
``chart->point_cnt`` elements in it.
|
||||
@@ -204,13 +204,13 @@ allocated.
|
||||
for more information about these functions.
|
||||
|
||||
A pointer to the Y-value array of a series can be obtained with
|
||||
:cpp:expr:`lv_chart_get_y_array(chart, series)`. This is true whether you are using
|
||||
:cpp:expr:`lv_chart_get_series_y_array(chart, series)`. This is true whether you are using
|
||||
the provided Y-value array or provided your own.
|
||||
|
||||
For SCATTER-type charts,
|
||||
|
||||
- :cpp:expr:`lv_chart_set_ext_x_array(chart, series, value_array)` and
|
||||
- :cpp:expr:`lv_chart_get_x_array(chart, series)`
|
||||
- :cpp:expr:`lv_chart_set_series_ext_x_array(chart, series, value_array)` and
|
||||
- :cpp:expr:`lv_chart_get_series_x_array(chart, series)`
|
||||
|
||||
can be used as well.
|
||||
|
||||
@@ -221,7 +221,7 @@ You have several options to set the Y-values for a data series:
|
||||
|
||||
1. Set the values programmatically in the array like ``ser1->points[3] = 7`` and refresh the
|
||||
chart with :cpp:expr:`lv_chart_refresh(chart)`.
|
||||
2. Use :cpp:expr:`lv_chart_set_value_by_id(chart, series, id, value)` where ``id`` is
|
||||
2. Use :cpp:expr:`lv_chart_set_series_value_by_id(chart, series, id, value)` where ``id`` is
|
||||
the zero-based index of the point you wish to update.
|
||||
3. Use :cpp:expr:`lv_chart_set_next_value(chart, series, value)`.
|
||||
(See `Update modes`_ below.)
|
||||
@@ -232,7 +232,7 @@ that point, column, or scatter-point.
|
||||
|
||||
For SCATTER-type charts,
|
||||
|
||||
- :cpp:expr:`lv_chart_set_value_by_id2(chart, series, id, x_value, y_value)` and
|
||||
- :cpp:expr:`lv_chart_set_series_value_by_id2(chart, series, id, x_value, y_value)` and
|
||||
- :cpp:expr:`lv_chart_set_next_value2(chart, series, x_value, y_value)`
|
||||
|
||||
can be used as well.
|
||||
@@ -274,7 +274,7 @@ Vertical range
|
||||
--------------
|
||||
|
||||
You can specify the minimum and maximum values in Y-direction with
|
||||
:cpp:expr:`lv_chart_set_range(chart, axis, min, max)`. ``axis`` can be
|
||||
:cpp:expr:`lv_chart_set_axis_range(chart, axis, min, max)`. ``axis`` can be
|
||||
:cpp:enumerator:`LV_CHART_AXIS_PRIMARY_Y` (left Y axis) or
|
||||
:cpp:enumerator:`LV_CHART_AXIS_SECONDARY_Y` (right Y axis).
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ static void refer_chart_cubic_bezier(void)
|
||||
for(uint16_t i = 0; i <= CHART_POINTS_NUM; i ++) {
|
||||
uint32_t t = i * (1024 / CHART_POINTS_NUM);
|
||||
int32_t step = lv_bezier3(t, 0, ginfo.p1, ginfo.p2, 1024);
|
||||
lv_chart_set_value_by_id2(ginfo.chart, ginfo.ser1, i, t, step);
|
||||
lv_chart_set_series_value_by_id2(ginfo.chart, ginfo.ser1, i, t, step);
|
||||
}
|
||||
lv_chart_refresh(ginfo.chart);
|
||||
}
|
||||
@@ -156,8 +156,8 @@ static void page_obj_init(lv_obj_t * par)
|
||||
lv_obj_set_style_size(ginfo.chart, 0, 0, LV_PART_INDICATOR);
|
||||
lv_chart_set_type(ginfo.chart, LV_CHART_TYPE_SCATTER);
|
||||
ginfo.ser1 = lv_chart_add_series(ginfo.chart, lv_palette_main(LV_PALETTE_RED), LV_CHART_AXIS_PRIMARY_Y);
|
||||
lv_chart_set_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_Y, 0, 1024);
|
||||
lv_chart_set_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_X, 0, 1024);
|
||||
lv_chart_set_axis_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_Y, 0, 1024);
|
||||
lv_chart_set_axis_range(ginfo.chart, LV_CHART_AXIS_PRIMARY_X, 0, 1024);
|
||||
lv_chart_set_point_count(ginfo.chart, CHART_POINTS_NUM);
|
||||
lv_obj_set_grid_cell(ginfo.chart, LV_GRID_ALIGN_STRETCH, 0, 3, LV_GRID_ALIGN_STRETCH, 3, 1);
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ void lv_example_chart_1(void)
|
||||
/*Add two data series*/
|
||||
lv_chart_series_t * ser1 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_GREEN), LV_CHART_AXIS_PRIMARY_Y);
|
||||
lv_chart_series_t * ser2 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_RED), LV_CHART_AXIS_SECONDARY_Y);
|
||||
int32_t * ser2_y_points = lv_chart_get_y_array(chart, ser2);
|
||||
int32_t * ser2_y_points = lv_chart_get_series_y_array(chart, ser2);
|
||||
|
||||
uint32_t i;
|
||||
for(i = 0; i < 10; i++) {
|
||||
|
||||
@@ -24,8 +24,8 @@ void lv_example_chart_2(void)
|
||||
lv_obj_set_width(chart, lv_pct(100));
|
||||
lv_obj_set_flex_grow(chart, 1);
|
||||
lv_chart_set_type(chart, LV_CHART_TYPE_BAR);
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 100);
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_SECONDARY_Y, 0, 400);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 100);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_SECONDARY_Y, 0, 400);
|
||||
lv_chart_set_point_count(chart, 12);
|
||||
lv_obj_set_style_radius(chart, 0, 0);
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ static void event_cb(lv_event_t * e)
|
||||
lv_point_t p;
|
||||
lv_chart_get_point_pos_by_id(chart, ser, id, &p);
|
||||
|
||||
int32_t * y_array = lv_chart_get_y_array(chart, ser);
|
||||
int32_t * y_array = lv_chart_get_series_y_array(chart, ser);
|
||||
int32_t value = y_array[id];
|
||||
|
||||
/*Draw a rectangle above the clicked point*/
|
||||
|
||||
@@ -14,7 +14,7 @@ static void draw_event_cb(lv_event_t * e)
|
||||
lv_draw_fill_dsc_t * fill_dsc = lv_draw_task_get_fill_dsc(draw_task);
|
||||
if(fill_dsc) {
|
||||
lv_obj_t * chart = lv_event_get_target(e);
|
||||
int32_t * y_array = lv_chart_get_y_array(chart, lv_chart_get_series_next(chart, NULL));
|
||||
int32_t * y_array = lv_chart_get_series_y_array(chart, lv_chart_get_series_next(chart, NULL));
|
||||
int32_t v = y_array[base_dsc->id2];
|
||||
|
||||
uint32_t ratio = v * 255 / 100;
|
||||
|
||||
@@ -15,8 +15,8 @@ static void draw_event_cb(lv_event_t * e)
|
||||
rect_draw_dsc->bg_opa = (LV_OPA_COVER * base_dsc->id2) / (cnt - 1);
|
||||
|
||||
/*Make smaller values blue, higher values red*/
|
||||
int32_t * x_array = lv_chart_get_x_array(obj, ser);
|
||||
int32_t * y_array = lv_chart_get_y_array(obj, ser);
|
||||
int32_t * x_array = lv_chart_get_series_x_array(obj, ser);
|
||||
int32_t * y_array = lv_chart_get_series_y_array(obj, ser);
|
||||
/*dsc->id is the tells drawing order, but we need the ID of the point being drawn.*/
|
||||
uint32_t start_point = lv_chart_get_x_start_point(obj, ser);
|
||||
uint32_t p_act = (start_point + base_dsc->id2) % cnt; /*Consider start point to get the index of the array*/
|
||||
@@ -49,8 +49,8 @@ void lv_example_chart_7(void)
|
||||
|
||||
lv_chart_set_type(chart, LV_CHART_TYPE_SCATTER);
|
||||
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_X, 0, 200);
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 1000);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_X, 0, 200);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 1000);
|
||||
|
||||
lv_chart_set_point_count(chart, 50);
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ static void add_data(lv_timer_t * t)
|
||||
|
||||
uint16_t p = lv_chart_get_point_count(chart);
|
||||
uint16_t s = lv_chart_get_x_start_point(chart, ser);
|
||||
int32_t * a = lv_chart_get_y_array(chart, ser);
|
||||
int32_t * a = lv_chart_get_series_y_array(chart, ser);
|
||||
|
||||
a[(s + 1) % p] = LV_CHART_POINT_NONE;
|
||||
a[(s + 2) % p] = LV_CHART_POINT_NONE;
|
||||
|
||||
@@ -80,6 +80,12 @@ extern "C" {
|
||||
#define _lv_inv_area lv_inv_area
|
||||
#define lv_chart_set_all_value lv_chart_set_all_values
|
||||
#define lv_calendar_set_showed_date lv_calendar_set_month_shown
|
||||
#define lv_chart_set_range lv_chart_set_axis_range
|
||||
#define lv_chart_set_value_by_id lv_chart_set_series_value_by_id
|
||||
#define lv_chart_get_x_array lv_chart_get_series_x_array
|
||||
#define lv_chart_get_y_array lv_chart_get_series_y_array
|
||||
#define lv_chart_set_ext_x_array lv_chart_set_series_ext_x_array
|
||||
#define lv_chart_set_ext_y_array lv_chart_set_series_ext_y_array
|
||||
|
||||
#if defined(LV_FS_DEFAULT_DRIVE_LETTER)
|
||||
#warning LV_FS_DEFAULT_DRIVE_LETTER is deprecated. Rename to LV_FS_DEFAULT_DRIVER_LETTER
|
||||
|
||||
@@ -155,7 +155,7 @@ void lv_xml_chart_axis_apply(lv_xml_parser_state_t * state, const char ** attrs)
|
||||
if(lv_streq("range", name)) {
|
||||
int32_t min_val = lv_xml_atoi_split(&value, ' ');
|
||||
int32_t max_val = lv_xml_atoi_split(&value, ' ');
|
||||
lv_chart_set_range(chart, axis, min_val, max_val);
|
||||
lv_chart_set_axis_range(chart, axis, min_val, max_val);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,7 @@ void lv_chart_set_point_count(lv_obj_t * obj, uint32_t cnt)
|
||||
lv_chart_refresh(obj);
|
||||
}
|
||||
|
||||
void lv_chart_set_range(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min, int32_t max)
|
||||
void lv_chart_set_axis_range(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min, int32_t max)
|
||||
{
|
||||
LV_ASSERT_OBJ(obj, MY_CLASS);
|
||||
|
||||
@@ -493,6 +493,7 @@ void lv_chart_set_all_values(lv_obj_t * obj, lv_chart_series_t * ser, int32_t va
|
||||
lv_chart_refresh(obj);
|
||||
}
|
||||
|
||||
|
||||
void lv_chart_set_next_value(lv_obj_t * obj, lv_chart_series_t * ser, int32_t value)
|
||||
{
|
||||
LV_ASSERT_OBJ(obj, MY_CLASS);
|
||||
@@ -523,7 +524,25 @@ void lv_chart_set_next_value2(lv_obj_t * obj, lv_chart_series_t * ser, int32_t x
|
||||
invalidate_point(obj, ser->start_point);
|
||||
}
|
||||
|
||||
void lv_chart_set_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t value)
|
||||
void lv_chart_set_series_values(lv_obj_t * obj, lv_chart_series_t * ser, const int32_t values[], size_t values_cnt)
|
||||
{
|
||||
size_t i;
|
||||
for(i = 0; i < values_cnt; i++) {
|
||||
lv_chart_set_next_value(obj, ser, values[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void lv_chart_set_series_values2(lv_obj_t * obj, lv_chart_series_t * ser, const int32_t x_values[],
|
||||
const int32_t y_values[], size_t values_cnt)
|
||||
{
|
||||
size_t i;
|
||||
for(i = 0; i < values_cnt; i++) {
|
||||
lv_chart_set_next_value2(obj, ser, x_values[i], y_values[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void lv_chart_set_series_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t value)
|
||||
{
|
||||
LV_ASSERT_OBJ(obj, MY_CLASS);
|
||||
LV_ASSERT_NULL(ser);
|
||||
@@ -534,7 +553,7 @@ void lv_chart_set_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t
|
||||
invalidate_point(obj, id);
|
||||
}
|
||||
|
||||
void lv_chart_set_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t x_value,
|
||||
void lv_chart_set_series_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t x_value,
|
||||
int32_t y_value)
|
||||
{
|
||||
LV_ASSERT_OBJ(obj, MY_CLASS);
|
||||
@@ -552,7 +571,7 @@ void lv_chart_set_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t
|
||||
invalidate_point(obj, id);
|
||||
}
|
||||
|
||||
void lv_chart_set_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[])
|
||||
void lv_chart_set_series_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[])
|
||||
{
|
||||
LV_ASSERT_OBJ(obj, MY_CLASS);
|
||||
LV_ASSERT_NULL(ser);
|
||||
@@ -563,7 +582,7 @@ void lv_chart_set_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t a
|
||||
lv_obj_invalidate(obj);
|
||||
}
|
||||
|
||||
void lv_chart_set_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[])
|
||||
void lv_chart_set_series_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[])
|
||||
{
|
||||
LV_ASSERT_OBJ(obj, MY_CLASS);
|
||||
LV_ASSERT_NULL(ser);
|
||||
@@ -574,7 +593,7 @@ void lv_chart_set_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t a
|
||||
lv_obj_invalidate(obj);
|
||||
}
|
||||
|
||||
int32_t * lv_chart_get_y_array(const lv_obj_t * obj, lv_chart_series_t * ser)
|
||||
int32_t * lv_chart_get_series_y_array(const lv_obj_t * obj, lv_chart_series_t * ser)
|
||||
{
|
||||
LV_UNUSED(obj);
|
||||
LV_ASSERT_OBJ(obj, MY_CLASS);
|
||||
@@ -582,7 +601,7 @@ int32_t * lv_chart_get_y_array(const lv_obj_t * obj, lv_chart_series_t * ser)
|
||||
return ser->y_points;
|
||||
}
|
||||
|
||||
int32_t * lv_chart_get_x_array(const lv_obj_t * obj, lv_chart_series_t * ser)
|
||||
int32_t * lv_chart_get_series_x_array(const lv_obj_t * obj, lv_chart_series_t * ser)
|
||||
{
|
||||
LV_UNUSED(obj);
|
||||
LV_ASSERT_OBJ(obj, MY_CLASS);
|
||||
|
||||
@@ -92,7 +92,7 @@ void lv_chart_set_point_count(lv_obj_t * obj, uint32_t cnt);
|
||||
* @param min minimum value of the y axis
|
||||
* @param max maximum value of the y axis
|
||||
*/
|
||||
void lv_chart_set_range(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min, int32_t max);
|
||||
void lv_chart_set_axis_range(lv_obj_t * obj, lv_chart_axis_t axis, int32_t min, int32_t max);
|
||||
|
||||
/**
|
||||
* Set update mode of the chart object. Affects
|
||||
@@ -275,6 +275,26 @@ void lv_chart_set_next_value(lv_obj_t * obj, lv_chart_series_t * ser, int32_t va
|
||||
*/
|
||||
void lv_chart_set_next_value2(lv_obj_t * obj, lv_chart_series_t * ser, int32_t x_value, int32_t y_value);
|
||||
|
||||
/**
|
||||
* Same as `lv_chart_set_next_value` but set the values from an array
|
||||
* @param obj pointer to chart object
|
||||
* @param ser pointer to a data series on 'chart'
|
||||
* @param values the new values to set
|
||||
* @param values_cnt number of items in `values`
|
||||
*/
|
||||
void lv_chart_set_series_values(lv_obj_t * obj, lv_chart_series_t * ser, const int32_t values[], size_t values_cnt);
|
||||
|
||||
/**
|
||||
* Same as `lv_chart_set_next_value2` but set the values from an array
|
||||
* @param obj pointer to chart object
|
||||
* @param ser pointer to a data series on 'chart'
|
||||
* @param x_values the new values to set on the X axis
|
||||
* @param y_values the new values to set o nthe Y axis
|
||||
* @param values_cnt number of items in `x_values` and `y_values`
|
||||
*/
|
||||
void lv_chart_set_series_values2(lv_obj_t * obj, lv_chart_series_t * ser, const int32_t x_values[],
|
||||
const int32_t y_values[], size_t values_cnt);
|
||||
|
||||
/**
|
||||
* Set an individual point's y value of a chart's series directly based on its index
|
||||
* @param obj pointer to a chart object
|
||||
@@ -282,7 +302,7 @@ void lv_chart_set_next_value2(lv_obj_t * obj, lv_chart_series_t * ser, int32_t x
|
||||
* @param id the index of the x point in the array
|
||||
* @param value value to assign to array point
|
||||
*/
|
||||
void lv_chart_set_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t value);
|
||||
void lv_chart_set_series_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t value);
|
||||
|
||||
/**
|
||||
* Set an individual point's x and y value of a chart's series directly based on its index
|
||||
@@ -293,7 +313,7 @@ void lv_chart_set_value_by_id(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t
|
||||
* @param x_value the new X value of the next data
|
||||
* @param y_value the new Y value of the next data
|
||||
*/
|
||||
void lv_chart_set_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t x_value,
|
||||
void lv_chart_set_series_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t id, int32_t x_value,
|
||||
int32_t y_value);
|
||||
|
||||
/**
|
||||
@@ -303,7 +323,7 @@ void lv_chart_set_value_by_id2(lv_obj_t * obj, lv_chart_series_t * ser, uint32_t
|
||||
* @param ser pointer to a data series on 'chart'
|
||||
* @param array external array of points for chart
|
||||
*/
|
||||
void lv_chart_set_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]);
|
||||
void lv_chart_set_series_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]);
|
||||
|
||||
/**
|
||||
* Set an external array for the x data points to use for the chart
|
||||
@@ -312,7 +332,7 @@ void lv_chart_set_ext_y_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t a
|
||||
* @param ser pointer to a data series on 'chart'
|
||||
* @param array external array of points for chart
|
||||
*/
|
||||
void lv_chart_set_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]);
|
||||
void lv_chart_set_series_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t array[]);
|
||||
|
||||
/**
|
||||
* Get the array of y values of a series
|
||||
@@ -320,7 +340,7 @@ void lv_chart_set_ext_x_array(lv_obj_t * obj, lv_chart_series_t * ser, int32_t a
|
||||
* @param ser pointer to a data series on 'chart'
|
||||
* @return the array of values with 'point_count' elements
|
||||
*/
|
||||
int32_t * lv_chart_get_y_array(const lv_obj_t * obj, lv_chart_series_t * ser);
|
||||
int32_t * lv_chart_get_series_y_array(const lv_obj_t * obj, lv_chart_series_t * ser);
|
||||
|
||||
/**
|
||||
* Get the array of x values of a series
|
||||
@@ -328,7 +348,7 @@ int32_t * lv_chart_get_y_array(const lv_obj_t * obj, lv_chart_series_t * ser);
|
||||
* @param ser pointer to a data series on 'chart'
|
||||
* @return the array of values with 'point_count' elements
|
||||
*/
|
||||
int32_t * lv_chart_get_x_array(const lv_obj_t * obj, lv_chart_series_t * ser);
|
||||
int32_t * lv_chart_get_series_x_array(const lv_obj_t * obj, lv_chart_series_t * ser);
|
||||
|
||||
/**
|
||||
* Get the index of the currently pressed point. It's the same for every series.
|
||||
|
||||
@@ -178,7 +178,7 @@ def create_ui():
|
||||
|
||||
chart_y_array = [10, 25, 50, 40, 30, 35, 60, 65, 70, 75]
|
||||
|
||||
chart.set_ext_y_array(series, chart_y_array)
|
||||
chart.set_series_ext_y_array(series, chart_y_array)
|
||||
|
||||
# Add custom observer callback
|
||||
chart_type_subject.add_observer_obj(
|
||||
|
||||
@@ -77,7 +77,7 @@ static void create_ui(void)
|
||||
lv_chart_series_t * series = lv_chart_add_series(chart, c3, LV_CHART_AXIS_PRIMARY_X);
|
||||
|
||||
static int32_t chart_y_array[10] = {10, 25, 50, 40, 30, 35, 60, 65, 70, 75};
|
||||
lv_chart_set_ext_y_array(chart, series, chart_y_array);
|
||||
lv_chart_set_series_ext_y_array(chart, series, chart_y_array);
|
||||
|
||||
/*Add custom observer callback*/
|
||||
lv_subject_add_observer_obj(&chart_type_subject, chart_type_observer_cb, chart, NULL);
|
||||
|
||||
@@ -174,7 +174,7 @@ void test_draw_task_hooking(void)
|
||||
lv_chart_series_t * chart_set1 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_YELLOW), 0);
|
||||
lv_chart_series_t * chart_set2 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_GREEN), 0);
|
||||
lv_chart_series_t * chart_set3 = lv_chart_add_series(chart, lv_palette_main(LV_PALETTE_RED), 0);
|
||||
lv_chart_set_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 700);
|
||||
lv_chart_set_axis_range(chart, LV_CHART_AXIS_PRIMARY_Y, 0, 700);
|
||||
|
||||
int32_t points[21] = {0, 31, 59, 81, 95, 100, 95, 81, 59, 31, 0, -31, -59, -81, -95, -100, -95, -81, -59, -31, 0};
|
||||
|
||||
|
||||
@@ -39,13 +39,13 @@
|
||||
<param name="vdiv" type="int" help=""/>
|
||||
</prop>
|
||||
|
||||
<element name="series" type="custom:chart_series" access="add">
|
||||
<element name="series" type="lv_chart_series" access="add">
|
||||
<arg name="color" type="color" help=""/>
|
||||
<arg name="axis" type="enum:lv_chart_axis+" help="The axis"/>
|
||||
<prop name="values" type="int[count]" help="set values from an array"/>
|
||||
</element>
|
||||
|
||||
<element name="cursor" type="custom:chart_cursor" access="add">
|
||||
<element name="cursor" type="lv_chart_cursor" access="add">
|
||||
<arg name="color" type="color" arg="true"/>
|
||||
<arg name="dir" type="enum:lv_dir" arg="true"/>
|
||||
<prop name="pos" help="position of the cursor">
|
||||
|
||||
Reference in New Issue
Block a user