/*====================================================================* - Copyright (C) 2001 Leptonica. All rights reserved. - This software is distributed in the hope that it will be - useful, but with NO WARRANTY OF ANY KIND. - No author or distributor accepts responsibility to anyone for the - consequences of using this software, or for whether it serves any - particular purpose or works at all, unless he or she says so in - writing. Everyone is granted permission to copy, modify and - redistribute this source code, for commercial or non-commercial - purposes, with the following restrictions: (1) the origin of this - source code must not be misrepresented; (2) modified versions must - be plainly marked as such; and (3) this notice may not be removed - or altered from any source or modified source distribution. *====================================================================*/ #ifndef LEPTONICA_GPLOT_H #define LEPTONICA_GPLOT_H /* * gplot.h * * Data structures and parameters for generating gnuplot files */ #define GPLOT_VERSION_NUMBER 1 #define NUM_GPLOT_STYLES 5 enum GPLOT_STYLE { GPLOT_LINES = 0, GPLOT_POINTS = 1, GPLOT_IMPULSES = 2, GPLOT_LINESPOINTS = 3, GPLOT_DOTS = 4 }; #define NUM_GPLOT_OUTPUTS 6 enum GPLOT_OUTPUT { GPLOT_NONE = 0, GPLOT_PNG = 1, GPLOT_PS = 2, GPLOT_EPS = 3, GPLOT_X11 = 4, GPLOT_LATEX = 5 }; enum GPLOT_SCALING { GPLOT_LINEAR_SCALE = 0, /* default */ GPLOT_LOG_SCALE_X = 1, GPLOT_LOG_SCALE_Y = 2, GPLOT_LOG_SCALE_X_Y = 3 }; extern const char *gplotstylenames[]; /* used in gnuplot cmd file */ extern const char *gplotfilestyles[]; /* used in simple file input */ extern const char *gplotfileoutputs[]; /* used in simple file input */ struct GPlot { char *rootname; /* for cmd, data, output */ char *cmdname; /* command file name */ struct Sarray *cmddata; /* command file contents */ struct Sarray *datanames; /* data file names */ struct Sarray *plotdata; /* plot data (1 string/file) */ struct Sarray *plottitles; /* title for each individual plot */ struct Numa *plotstyles; /* plot style for individual plots */ l_int32 nplots; /* current number of plots */ char *outname; /* output file name */ l_int32 outformat; /* GPLOT_OUTPUT values */ l_int32 scaling; /* GPLOT_SCALING values */ char *title; /* optional */ char *xlabel; /* optional x axis label */ char *ylabel; /* optional y axis label */ }; typedef struct GPlot GPLOT; #endif /* LEPTONICA_GPLOT_H */