1*86d7f5d3SJohn Marino #ifndef _PLOTTER_H_ 2*86d7f5d3SJohn Marino #define _PLOTTER_H_ 3*86d7f5d3SJohn Marino 4*86d7f5d3SJohn Marino typedef int plotid_t; 5*86d7f5d3SJohn Marino enum plot_type { 6*86d7f5d3SJohn Marino PLOT_TYPE_START, 7*86d7f5d3SJohn Marino PLOT_TYPE_HIST, 8*86d7f5d3SJohn Marino PLOT_TYPE_LINE, 9*86d7f5d3SJohn Marino PLOT_TYPE_END 10*86d7f5d3SJohn Marino }; 11*86d7f5d3SJohn Marino 12*86d7f5d3SJohn Marino struct plotter { 13*86d7f5d3SJohn Marino void *(*plot_init)(const char *); 14*86d7f5d3SJohn Marino plotid_t (*plot_new)(void *, enum plot_type, const char *); 15*86d7f5d3SJohn Marino int (*plot_histogram)(void *, plotid_t, double); 16*86d7f5d3SJohn Marino int (*plot_line)(void *, plotid_t, double, double); 17*86d7f5d3SJohn Marino int (*plot_finish)(void *); 18*86d7f5d3SJohn Marino }; 19*86d7f5d3SJohn Marino 20*86d7f5d3SJohn Marino struct plotter *plotter_factory(void); 21*86d7f5d3SJohn Marino 22*86d7f5d3SJohn Marino #endif /* _PLOTTER_H_ */ 23