/* Programmazione II - Esempio di codice Common definitions for graph service routines. (20000816 prelz@mi.infn.it) */ #ifndef GraphHelperH #define GraphHelperH typedef struct graph_s { int cx, cy; /* Center coordinates */ int xal, yal; /* Axis length in pixels */ double dx, dy; /* Scale for 1 pixel along x and y */ double xmax, xmin, ymax, ymin; /* Axis extremes */ char lx[20],ly[20]; /* Axis labels */ int nval; /* Number of values in the graph */ double *vx,*vy;/* Arrays of values */ int wid; /* ID of created window */ } graph; graph *graph_create_new(char *display, char *title, int xws, int yws, char *xlabel, char *ylabel); void graph_clear(graph *graph); void graph_clear_values(graph *graph); void graph_draw_axis(graph *graph); int graph_add_point(graph *graph, double x, double y); void graph_set_scale(graph *graph, double xmin, double xmax, double ymin, double ymax); void graph_plot(graph *graph, char *color); void graph_plot_last(graph *graph, char *color); int graph_add_and_plot(graph *graph, double x, double y, char *color); void graph_free(graph *graph); void graph_pick_values(graph *graph, double *rx, double *ry); #define WIN_BORDER 30 #endif /* ! defined GraphHelperH */