This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository echart.
View the commit online.
commit b4c79610de4c24dfffafc111e6ba501bcedd7577
Author: Vincent Torri <[email protected]>
AuthorDate: Tue Jun 2 08:16:13 2026 +0200
formatting, change API
---
src/bin/echart_main.c | 285 +++++++++++++++++++++++++++++---------------------
src/lib/echart_line.c | 37 ++++---
src/lib/echart_line.h | 4 +-
3 files changed, 189 insertions(+), 137 deletions(-)
diff --git a/src/bin/echart_main.c b/src/bin/echart_main.c
index 40f5bb7..b1eaf95 100644
--- a/src/bin/echart_main.c
+++ b/src/bin/echart_main.c
@@ -13,9 +13,7 @@ EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *win;
- Evas_Object *o, *line;
- double *absciss;
- unsigned int num;
+ Evas_Object *o;
int w;
int h;
int wo;
@@ -50,7 +48,8 @@ elm_main(int argc, char **argv)
/* background */
o = elm_bg_add(win);
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_style_set(o, "grad_vert_focus_title_match");
+ /* elm_object_style_set(o, "grad_vert_focus_title_match"); */
+ elm_bg_color_set(o, 255, 255, 255);
elm_win_resize_object_add(win, o);
evas_object_show(o);
@@ -65,139 +64,183 @@ elm_main(int argc, char **argv)
/* line */
- num = 6;
- absciss = (double *)calloc(num, sizeof(double));
- absciss[0] = 1;
- absciss[1] = 2;
- absciss[2] = 4;
- absciss[3] = 5;
- absciss[4] = 7;
- absciss[5] = 8;
+ {
+ int num = 6;
+ /* double absciss[num]; */
+ double d[num];
- double d[6];
- d[0] = 1.5;
- d[1] = -1.5;
- d[2] = 2.3;
- d[3] = 7.9;
- d[4] = -4.2;
- d[5] = 8.4;
- xo = 0;
- yo = 0;
+ xo = 0;
+ yo = 0;
- o = line = echart_line_add(evas_object_evas_get(win));
- evas_object_move(o, xo, yo);
- evas_object_resize(o, wo, ho);
- echart_line_data_append(o, d, num);
- d[0] = 5.5;
- d[1] = 2.7;
- d[2] = -2.3;
- d[3] = 3.9;
- d[4] = 6.2;
- d[5] = -3.4;
- echart_line_data_append(o, d, num);
- echart_line_width_set(o, 3);
- evas_object_show(o);
+ /* absciss[0] = 1; */
+ /* absciss[1] = 2; */
+ /* absciss[2] = 4; */
+ /* absciss[3] = 5; */
+ /* absciss[4] = 7; */
+ /* absciss[5] = 8; */
- /* smooth line */
- d[0] = 1.5;
- d[1] = -1.5;
- d[2] = 2.3;
- d[3] = 7.9;
- d[4] = -4.2;
- d[5] = 8.4;
- xo = wo;
- yo = 0;
+ o = echart_line_add(evas_object_evas_get(win));
+ evas_object_move(o, xo, yo);
+ evas_object_resize(o, wo, ho);
- o = line = echart_line_add(evas_object_evas_get(win));
- echart_line_cubic_set(o, EINA_TRUE);
- evas_object_move(o, xo, yo);
- evas_object_resize(o, wo, ho);
- echart_line_data_append(o, d, num);
- d[0] = 5.5;
- d[1] = 2.7;
- d[2] = -2.3;
- d[3] = 3.9;
- d[4] = 6.2;
- d[5] = -3.4;
- echart_line_data_append(o, d, num);
- echart_line_width_set(o, 3);
- evas_object_show(o);
+ d[0] = 3.5;
+ d[1] = 2.5;
+ d[2] = 4.3;
+ d[3] = 7.9;
+ d[4] = 1.2;
+ d[5] = 8.4;
+ echart_line_data_append(o, d, num);
- /* grid abscissa */
- o = echart_grid_add(evas_object_evas_get(win));
- evas_object_move(o, xo, yo);
- evas_object_resize(o, wo, ho);
- echart_grid_set(o, 0, 1, 0.2);
- echart_grid_color_set(o, 0, 0, 0, 255);
- echart_grid_width_set(o, 1);
- evas_object_show(o);
+ d[0] = 9.5;
+ d[1] = 6.7;
+ d[2] = 2.3;
+ d[3] = 7.9;
+ d[4] = 10.2;
+ d[5] = 1.4;
+ echart_line_data_append(o, d, num);
- /* grid ordinate */
- o = echart_grid_ord_add(evas_object_evas_get(win));
- evas_object_move(o, xo, yo);
- evas_object_resize(o, wo, ho);
- echart_grid_set(o, -4.1, 8.4, (8.4 + 4.1) / 5);
- echart_grid_color_set(o, 0, 0, 0, 255);
- echart_grid_width_set(o, 1);
- evas_object_show(o);
+ echart_line_width_set(o, 3);
+ evas_object_show(o);
+ }
+
+ /* curved line */
+ {
+ int num = 6;
+ double d[num];
+
+ xo = wo;
+ yo = 0;
+
+ /* grid abscissa */
+ o = echart_grid_add(evas_object_evas_get(win));
+ evas_object_move(o, xo, yo);
+ evas_object_resize(o, wo, ho);
+ echart_grid_set(o, 0, 1, 0.2);
+ echart_grid_color_set(o, 0, 0, 0, 255);
+ echart_grid_width_set(o, 1);
+ evas_object_show(o);
+
+ /* grid ordinate */
+ o = echart_grid_ord_add(evas_object_evas_get(win));
+ evas_object_move(o, xo, yo);
+ evas_object_resize(o, wo, ho);
+ echart_grid_set(o, -4.1, 8.4, (8.4 + 4.1) / 5);
+ echart_grid_color_set(o, 0, 0, 0, 255);
+ echart_grid_width_set(o, 1);
+ evas_object_show(o);
+
+ o = echart_line_add(evas_object_evas_get(win));
+ echart_line_curved_set(o, EINA_TRUE);
+ evas_object_move(o, xo, yo);
+ evas_object_resize(o, wo, ho);
+
+ d[0] = 3.5;
+ d[1] = 2.5;
+ d[2] = 4.3;
+ d[3] = 7.9;
+ d[4] = 1.2;
+ d[5] = 8.4;
+ echart_line_data_append(o, d, num);
+
+ d[0] = 9.5;
+ d[1] = 6.7;
+ d[2] = 2.3;
+ d[3] = 7.9;
+ d[4] = 10.2;
+ d[5] = 1.4;
+ echart_line_data_append(o, d, num);
+
+ echart_line_width_set(o, 3);
+ evas_object_show(o);
+ }
/* vbar */
- int nd = 3;
+ {
+ int num = 3;
+ double d[num];
- xo = 2 * wo;
- yo = 0;
- o = echart_bar_add(evas_object_evas_get(win));
- evas_object_move(o, xo, yo);
- evas_object_resize(o, wo, ho);
- double v1[3] = { 3, 6, 4 };
- echart_bar_data_append(o, v1, nd);
- v1[0] = 6;
- v1[1] = 4;
- v1[2] = 3;
- echart_bar_data_append(o, v1, nd);
- evas_object_show(o);
+ xo = 2 * wo;
+ yo = 0;
- /* hbar */
- nd = 3;
+ o = echart_bar_add(evas_object_evas_get(win));
+ evas_object_move(o, xo, yo);
+ evas_object_resize(o, wo, ho);
- xo = 3 * wo;
- yo = 0;
- o = echart_bar_add(evas_object_evas_get(win));
- echart_bar_horizontal_set(o, 1);
- evas_object_move(o, xo, yo);
- evas_object_resize(o, wo, ho);
- v1[0] = 3;
- v1[1] = 6;
- v1[2] = 4;
- echart_bar_data_append(o, v1, nd);
- v1[0] = 6;
- v1[1] = 4;
- v1[2] = 3;
- echart_bar_data_append(o, v1, nd);
- evas_object_show(o);
+ d[0] = 3;
+ d[1] = 6;
+ d[2] = 4;
+ echart_bar_data_append(o, d, num);
+
+ d[0] = 6;
+ d[1] = 4;
+ d[2] = 3;
+ echart_bar_data_append(o, d, num);
+
+ evas_object_show(o);
+ }
+
+ /* hbar */{
+ int num = 3;
+ double d[num];
+
+ xo = 3 * wo;
+ yo = 0;
+
+ o = echart_bar_add(evas_object_evas_get(win));
+ echart_bar_horizontal_set(o, 1);
+ evas_object_move(o, xo, yo);
+ evas_object_resize(o, wo, ho);
+
+ d[0] = 3;
+ d[1] = 6;
+ d[2] = 4;
+ echart_bar_data_append(o, d, num);
+
+ d[0] = 6;
+ d[1] = 4;
+ d[2] = 3;
+ echart_bar_data_append(o, d, num);
+
+ evas_object_show(o);
+ }
/* pie */
- xo = 0;
- yo = ho;
+ {
+ int num = 5;
+ double d[num];
- o = echart_pie_add(evas_object_evas_get(win));
- evas_object_move(o, xo, yo);
- evas_object_resize(o, wo, yo);
- nd = 5;
- double v2[5] = { 11, 4, 2, 9, 7 };
- echart_pie_data_set(o, v2, nd);
- evas_object_show(o);
+ xo = 0;
+ yo = ho;
- xo = wo;
- yo = ho;
+ o = echart_pie_add(evas_object_evas_get(win));
+ evas_object_move(o, xo, yo);
+ evas_object_resize(o, wo, ho);
- o = echart_pie_add(evas_object_evas_get(win));
- evas_object_move(o, xo, yo);
- evas_object_resize(o, wo, yo);
- nd = 5;
- double v3[5] = { 45, 4, 2, 5, 10 };
- echart_pie_data_set(o, v3, nd);
- evas_object_show(o);
+ d[0] = 11;
+ d[1] = 4;
+ d[2] = 2;
+ d[3] = 9;
+ d[4] = 7;
+ echart_pie_data_set(o, d, num);
+
+ evas_object_show(o);
+
+ xo = wo;
+ yo = ho;
+
+ o = echart_pie_add(evas_object_evas_get(win));
+ evas_object_move(o, xo, yo);
+ evas_object_resize(o, wo, ho);
+
+ d[0] = 45;
+ d[1] = 4;
+ d[2] = 2;
+ d[3] = 5;
+ d[4] = 10;
+ echart_pie_data_set(o, d, num);
+
+ evas_object_show(o);
+ }
evas_object_resize(win, w, h);
evas_object_show(win);
diff --git a/src/lib/echart_line.c b/src/lib/echart_line.c
index 6db7fa4..0363a2f 100644
--- a/src/lib/echart_line.c
+++ b/src/lib/echart_line.c
@@ -13,8 +13,8 @@
* Local *
*============================================================================*/
-#define X_VG(x) (w) * ((x) - xmin) / (xmax - xmin)
-#define Y_VG(y) (h) * (sd->ymax - (y)) / (sd->ymax - sd->ymin)
+#define X_VG(x) (w - 1) * ((x) - xmin) / (xmax - xmin)
+#define Y_VG(y) (h - 1) * (sd->ymax - (y)) / (sd->ymax - sd->ymin)
typedef struct Data Data;
typedef struct Chart_Line Chart_Line;
@@ -43,7 +43,7 @@ struct Chart_Line
double width;
double ymin;
double ymax;
- unsigned int is_cubic : 1;
+ Eina_Bool is_curved : 1;
};
static Evas_Smart *_line_smart = NULL;
@@ -199,13 +199,13 @@ _line_smart_calculate(Evas_Object *obj)
d = sd->data[j].values;
line = sd->data[j].line;
- if (sd->is_cubic)
+ if (sd->is_curved)
dx = w / (sd->nbr_values - 1);
- evas_vg_shape_append_move_to(line, X_VG(a[0]), Y_VG(d[0]));
- for (int i = 1; i < sd->nbr_values; i++)
+ if (sd->is_curved)
{
- if (sd->is_cubic)
+ evas_vg_shape_append_move_to(line, X_VG(a[0]), Y_VG(d[0]));
+ for (int i = 1; i < sd->nbr_values; i++)
{
double x = X_VG(a[i]);
double y = Y_VG(d[i]);
@@ -215,8 +215,14 @@ _line_smart_calculate(Evas_Object *obj)
double cx2 = x - dx * 0.4;
evas_vg_shape_append_cubic_to(line, x, y, cx1, py, cx2, y);
}
- else
+ }
+ else
+ {
+ evas_vg_shape_append_move_to(line, X_VG(a[0]), Y_VG(d[0]));
+ for (int i = 1; i < sd->nbr_values; i++)
+ {
evas_vg_shape_append_line_to(line, X_VG(a[i]), Y_VG(d[i]));
+ }
}
evas_vg_shape_stroke_width_set(line, sd->width);
@@ -341,29 +347,31 @@ echart_line_data_append(Evas_Object *obj, double *values, int nbr_values)
evas_object_smart_changed(obj);
}
-ECH_API void echart_line_cubic_set(Evas_Object *obj, int on)
+ECH_API void
+echart_line_curved_set(Evas_Object *obj, Eina_Bool on)
{
Chart_Line *sd;
sd = evas_object_smart_data_get(obj);
EINA_SAFETY_ON_NULL_RETURN(sd);
- if (sd->is_cubic == !!on)
+ if (sd->is_curved == !!on)
return;
- sd->is_cubic = !!on;
+ sd->is_curved = !!on;
evas_object_smart_changed(obj);
}
-ECH_API int echart_line_cubic_get(Evas_Object *obj)
+ECH_API Eina_Bool
+echart_line_curved_get(Evas_Object *obj)
{
Chart_Line *sd;
sd = evas_object_smart_data_get(obj);
EINA_SAFETY_ON_NULL_RETURN_VAL(sd, 0);
- return sd->is_cubic;
+ return sd->is_curved;
}
ECH_API int
@@ -424,7 +432,8 @@ echart_line_width_set(Evas_Object *obj, double width)
evas_object_smart_changed(obj);
}
-ECH_API double echart_line_width_get(Evas_Object *obj)
+ECH_API double
+echart_line_width_get(Evas_Object *obj)
{
Chart_Line *sd;
diff --git a/src/lib/echart_line.h b/src/lib/echart_line.h
index df3e078..24a82b0 100644
--- a/src/lib/echart_line.h
+++ b/src/lib/echart_line.h
@@ -12,9 +12,9 @@ ECH_API Evas_Object *echart_line_add(Evas *evas);
ECH_API void echart_line_data_append(Evas_Object *obj, double *values, int nbr_values);
-ECH_API void echart_line_cubic_set(Evas_Object *obj, int on);
+ECH_API void echart_line_curved_set(Evas_Object *obj, Eina_Bool on);
-ECH_API int echart_line_cubic_get(Evas_Object *obj);
+ECH_API Eina_Bool echart_line_curved_get(Evas_Object *obj);
ECH_API int echart_line_nbr_series_get(Evas_Object *obj);
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.