-int xtr(image_desc_t *,time_t);
-double ytr(image_desc_t *, double);
-enum gf_en gf_conv(char *);
-enum gfx_if_en if_conv(char *);
-enum tmt_en tmt_conv(char *);
-enum grc_en grc_conv(char *);
-enum text_prop_en text_prop_conv(char *);
-int im_free(image_desc_t *);
-void auto_scale( image_desc_t *, double *, char **, double *);
-void si_unit( image_desc_t *);
-void expand_range(image_desc_t *);
-void apply_gridfit(image_desc_t *);
-void reduce_data( enum cf_en, unsigned long, time_t *, time_t *, unsigned long *, unsigned long *, rrd_value_t **);
-int data_fetch( image_desc_t *);
-long find_var(image_desc_t *, char *);
-long find_var_wrapper(void *arg1, char *key);
-long lcd(long *);
-int data_calc( image_desc_t *);
-int data_proc( image_desc_t *);
-time_t find_first_time( time_t, enum tmt_en, long);
-time_t find_next_time( time_t, enum tmt_en, long);
-int print_calc(image_desc_t *, char ***);
-int leg_place(image_desc_t *);
-int calc_horizontal_grid(image_desc_t *);
-int draw_horizontal_grid(image_desc_t *);
-int horizontal_log_grid(image_desc_t *);
-void vertical_grid(image_desc_t *);
-void axis_paint(image_desc_t *);
-void grid_paint(image_desc_t *);
-int lazy_check(image_desc_t *);
-int graph_paint(image_desc_t *, char ***);
-#ifdef WITH_PIECHART
-void pie_part(image_desc_t *, gfx_color_t, double, double, double, double, double);
-#endif
-int gdes_alloc(image_desc_t *);
-int scan_for_col(char *, int, char *);
-int rrd_graph(int, char **, char ***, int *, int *, FILE *, double *, double *);
-void rrd_graph_init(image_desc_t *);
-void rrd_graph_options(int, char **, image_desc_t *);
-void rrd_graph_script(int, char **, image_desc_t *, int);
-int rrd_graph_check_vname(image_desc_t *, char *, char *);
-int rrd_graph_color(image_desc_t *, char *, char *, int);
-int bad_format(char *);
-int vdef_parse(struct graph_desc_t *,char *);
-int vdef_calc(image_desc_t *, int);
-int vdef_percent_compar(const void *,const void *);
-int graph_size_location(image_desc_t *, int
-#ifdef WITH_PIECHART
- ,int
-#endif
-);
+int xtr(
+ image_desc_t *,
+ time_t);
+double ytr(
+ image_desc_t *,
+ double);
+enum gf_en gf_conv(
+ char *);
+enum gfx_if_en if_conv(
+ char *);
+enum tmt_en tmt_conv(
+ char *);
+enum grc_en grc_conv(
+ char *);
+enum text_prop_en text_prop_conv(
+ char *);
+int im_free(
+ image_desc_t *);
+void auto_scale(
+ image_desc_t *,
+ double *,
+ char **,
+ double *);
+void si_unit(
+ image_desc_t *);
+void expand_range(
+ image_desc_t *);
+void apply_gridfit(
+ image_desc_t *);
+void reduce_data(
+ enum cf_en,
+ unsigned long,
+ time_t *,
+ time_t *,
+ unsigned long *,
+ unsigned long *,
+ rrd_value_t **);
+int data_fetch(
+ image_desc_t *);
+long find_var(
+ image_desc_t *,
+ char *);
+long find_var_wrapper(
+ void *arg1,
+ char *key);
+long lcd(
+ long *);
+int data_calc(
+ image_desc_t *);
+int data_proc(
+ image_desc_t *);
+time_t find_first_time(
+ time_t,
+ enum tmt_en,
+ long);
+time_t find_next_time(
+ time_t,
+ enum tmt_en,
+ long);
+int print_calc(
+ image_desc_t *);
+int leg_place(
+ image_desc_t *,
+ int *);
+int calc_horizontal_grid(
+ image_desc_t *);
+int draw_horizontal_grid(
+ image_desc_t *);
+int horizontal_log_grid(
+ image_desc_t *);
+void vertical_grid(
+ image_desc_t *);
+void axis_paint(
+ image_desc_t *);
+void grid_paint(
+ image_desc_t *);
+int lazy_check(
+ image_desc_t *);
+int graph_paint(
+ image_desc_t *);
+
+int gdes_alloc(
+ image_desc_t *);
+int scan_for_col(
+ const char *const,
+ int,
+ char *const);
+void rrd_graph_init(
+ image_desc_t *);
+
+void rrd_graph_options(
+ int,
+ char **,
+ image_desc_t *);
+void rrd_graph_script(
+ int,
+ char **,
+ image_desc_t *,
+ int);
+int rrd_graph_color(
+ image_desc_t *,
+ char *,
+ char *,
+ int);
+int bad_format(
+ char *);
+int vdef_parse(
+ struct graph_desc_t *,
+ const char *const);
+int vdef_calc(
+ image_desc_t *,
+ int);
+int vdef_percent_compar(
+ const void *,
+ const void *);
+int graph_size_location(
+ image_desc_t *,
+ int);
+
+
+/* create a new line */
+void gfx_line(
+ image_desc_t *im,
+ double X0,
+ double Y0,
+ double X1,
+ double Y1,
+ double width,
+ gfx_color_t color);
+
+void gfx_dashed_line(
+ image_desc_t *im,
+ double X0,
+ double Y0,
+ double X1,
+ double Y1,
+ double width,
+ gfx_color_t color,
+ double dash_on,
+ double dash_off);
+
+/* create a new area */
+void gfx_new_area(
+ image_desc_t *im,
+ double X0,
+ double Y0,
+ double X1,
+ double Y1,
+ double X2,
+ double Y2,
+ gfx_color_t color);
+
+/* add a point to a line or to an area */
+void gfx_add_point(
+ image_desc_t *im,
+ double x,
+ double y);
+
+/* close current path so it ends at the same point as it started */
+void gfx_close_path(
+ image_desc_t *im);
+
+
+/* create a text node */
+void gfx_text(
+ image_desc_t *im,
+ double x,
+ double y,
+ gfx_color_t color,
+ PangoFontDescription *font_desc,
+ double tabwidth,
+ double angle,
+ enum gfx_h_align_en h_align,
+ enum gfx_v_align_en v_align,
+ const char *text);
+
+/* measure width of a text string */
+double gfx_get_text_width(
+ image_desc_t *im,
+ double start,
+ PangoFontDescription *font_desc,
+ double tabwidth,
+ char *text);
+
+
+/* convert color */
+gfx_color_t gfx_hex_to_col(
+ long unsigned int);
+
+void gfx_line_fit(
+ image_desc_t *im,
+ double *x,
+ double *y);
+
+void gfx_area_fit(
+ image_desc_t *im,
+ double *x,
+ double *y);