10#include "tpcclibConfig.h"
21#define SVG_VIEWPORT_WIDTH 10000
23#define SVG_VIEWPORT_HEIGHT 10000
27#define MAX_TICK_LABEL_LEN 20
29#define MAX_SVG_LEGEND_LEN 30
35 const double begin,
const double end,
double *ticks,
int *tick_nr,
36 double *scale_factor,
int *tick_decimals,
int verbose
44typedef enum {RECTANGLE,CIRCLE,UPTRIANGLE,DOWNTRIANGLE,DIAMOND,
49typedef enum {BLACK,RED,BLUE,GREEN,PURPLE,OLIVE,AQUA,FUCHSIA,GRAY,LIME,MAROON,
124typedef struct svg_legend {
138typedef struct svg_legends {
153 const char *filename,
const double height,
const double width,
157 FILE *fp,
char *errmsg,
int verbose
160 const char *filename,
const char *XHTML_title,
char *errmsg,
int verbose
163 FILE *fp,
char *errmsg,
int verbose
166 FILE *fp,
const double height,
const double width,
struct svg_viewports *vp,
167 char *errmsg,
int verbose
170 FILE *fp,
char *errmsg,
int verbose
173 FILE *fp,
const char *svg_string,
char *errmsg,
int verbose
181 const int main_viewport_width,
const int main_viewport_height,
182 const int is_main_title,
const int is_yaxis_title,
const int is_xaxis_title,
183 const int is_label_area,
struct svg_viewports *vp,
int verbose
188 FILE *fp,
struct svg_viewports *vp,
char *errmsg,
int verbose
191 FILE *fp,
char *errmsg,
int verbose
194 FILE *fp,
struct svg_viewports *vp,
char *errmsg,
int verbose
197 FILE *fp,
char *errmsg,
int verbose
203 FILE *fp,
struct svg_viewports *vp,
char *errmsg,
int verbose
206 FILE *fp,
struct svg_viewports *vp,
char *errmsg,
int verbose
209 FILE *fp,
struct svg_viewports *vp,
char *errmsg,
int verbose
212 FILE *fp,
struct svg_viewports *vp,
const int plot_type,
const char *tac_id,
213 const char *tac_title,
double *x,
double *y,
const int data_nr,
215 char *errmsg,
int verbose
218 const double a1x,
const double a1y,
const double a2x,
const double a2y,
219 const double b1x,
const double b1y,
const double b2x,
const double b2y,
220 double *ix,
double *iy,
int verbose
223 const double x1,
const double y1,
const double x2,
const double y2,
225 double *nx1,
double *ny1,
double *nx2,
double *ny2,
int verbose
230 FILE *fp,
const char *main_title_text,
const char *sub_title_text,
235 char *errmsg,
int verbose
239 char *errmsg,
int verbose
256 const int color,
const char *text
260 char *errmsg,
int verbose
void svg_legend_empty(SVG_LEGENDS *legends)
int svg_write_xticks(FILE *fp, struct svg_viewports *vp, char *errmsg, int verbose)
#define MAX_TICK_LABEL_LEN
void strRmExpZeroes(char *str)
void svg_init_legends(SVG_LEGENDS *legends)
FILE * svg_xhtml_initiate(const char *filename, const char *XHTML_title, char *errmsg, int verbose)
int svg_xhtml_svg_open(FILE *fp, const double height, const double width, struct svg_viewports *vp, char *errmsg, int verbose)
int svg_create_xaxis_title(FILE *fp, const char *title_text, struct svg_viewports *vp, char *errmsg, int verbose)
#define MAX_SVG_LEGEND_LEN
char * svgColorName(const svgColor index)
int svg_create_main_title(FILE *fp, const char *main_title_text, const char *sub_title_text, struct svg_viewports *vp, char *errmsg, int verbose)
int svg_legend_add(SVG_LEGENDS *legends, const int plot_type, const int symbol_type, const svgSymbolFill symbol_fill, const int color, const char *text)
void svg_init_coord(struct svg_coord *p)
char * svgSymbolName(const svgSymbolType index)
int svg_xhtml_close(FILE *fp, char *errmsg, int verbose)
int svg_define_viewports(const int main_viewport_width, const int main_viewport_height, const int is_main_title, const int is_yaxis_title, const int is_xaxis_title, const int is_label_area, struct svg_viewports *vp, int verbose)
int svg_end_plot_viewport(FILE *fp, char *errmsg, int verbose)
int svg_start_coordinate_viewport(FILE *fp, struct svg_viewports *vp, char *errmsg, int verbose)
int svg_create_legends(FILE *fp, struct svg_viewports *vp, SVG_LEGENDS *legends, char *errmsg, int verbose)
void svg_init_viewports(struct svg_viewports *p)
FILE * svg_initiate(const char *filename, const double height, const double width, struct svg_viewports *vp, char *errmsg, int verbose)
void axis_check_range(double *begin, double *end, int verbose)
int svg_calculate_axes(struct svg_viewports *vp, int verbose)
int svg_write_axes(FILE *fp, struct svg_viewports *vp, char *errmsg, int verbose)
int svg_end_coordinate_viewport(FILE *fp, char *errmsg, int verbose)
int svg_define_symbols(FILE *fp, char *errmsg, int verbose)
int svg_start_plot_viewport(FILE *fp, struct svg_viewports *vp, char *errmsg, int verbose)
int get_line_intersection(const double a1x, const double a1y, const double a2x, const double a2y, const double b1x, const double b1y, const double b2x, const double b2y, double *ix, double *iy, int verbose)
int svg_write(FILE *fp, const char *svg_string, char *errmsg, int verbose)
int svg_create_yaxis_title(FILE *fp, const char *title_text, struct svg_viewports *vp, char *errmsg, int verbose)
int axis_tick_positions(const double begin, const double end, double *ticks, int *tick_nr, double *scale_factor, int *tick_decimals, int verbose)
int check_intersection_with_viewport(const double x1, const double y1, const double x2, const double y2, struct svg_viewport_pos *cavp, double *nx1, double *ny1, double *nx2, double *ny2, int verbose)
int svg_write_yticks(FILE *fp, struct svg_viewports *vp, char *errmsg, int verbose)
void svg_init_viewport_pos(struct svg_viewport_pos *p)
int svg_write_tac(FILE *fp, struct svg_viewports *vp, const int plot_type, const char *tac_id, const char *tac_title, double *x, double *y, const int data_nr, const char *color, const svgSymbolType symbol_type, const svgSymbolFill symbol_fill, char *errmsg, int verbose)
int svg_xhtml_svg_close(FILE *fp, char *errmsg, int verbose)
int svg_close(FILE *fp, char *errmsg, int verbose)
char * svg_str_encode(const char *s)
svgSymbolType symbol_type
svgSymbolFill symbol_fill
char tick_label[MAX_TICK_NR][MAX_TICK_LABEL_LEN+1]
struct svg_viewport_pos coordinate_area_viewport
struct svg_viewport_pos main_title_viewport
struct svg_viewport_pos label_area_viewport
struct svg_viewport_pos main_viewport
struct svg_viewport_pos yaxis_title_viewport
struct svg_viewport_pos plot_area_viewport
struct svg_viewport_pos xaxis_title_viewport