double p3_y;
};
+struct graph_axis {
+ double start;
+ double step;
+ int xminor;
+ int subminor;
+ GString title;
+};
+
typedef struct _Graph {
GObject parent_instance;
/*Array of n_points sets of x,y coords*/
double maxy;
double miny;
graph_symbol symbol;
+ struct graph_axis *xaxis;
+ struct graph_axis *yaxis;
} Graph;
typedef struct _GraphClass {
int graph_add_point(Graph* graph, double x, double y, const GString *label);
int graph_add_graph_point(Graph* graph, struct graph_point *pt);
int graph_add_line(Graph* graph, double p0_x, double p0_y, double p1_x, double p1_y, double p2_x, double p2_y, double p3_x, double p3_y);
+int graph_add_graph_line(Graph* graph, struct graph_line *l);
void graph_add_linear_connectors(Graph* graph);
+/*Provide x0, x3; x1 and x2 will be set*/
+void graph_bezier_linear_to_cubic(double x0, double x3, double *x1, double *x2);
+/*Provide x0, x1, x2. x1 and x2 will be set appropriately.*/
+void graph_bezier_quadratic_to_cubic(double x0, double x3, double *x1, double *x2);
+
+
#endif /* !GRAPHCLASS_H_ */