X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_graph.h;h=f029fd1f3e14157f1d064b1963c6ada00f777ece;hb=896f660d222db6362e6171c68d33e8eecdc0d57a;hp=8b86e864667e67f3897625742ceb84cf45aed9e6;hpb=a12627275ff8487174cbb907a066f62a00b6ae44;p=rrdtool.git diff --git a/src/rrd_graph.h b/src/rrd_graph.h index 8b86e86..f029fd1 100644 --- a/src/rrd_graph.h +++ b/src/rrd_graph.h @@ -11,9 +11,18 @@ #include #include +#ifdef HAVE_LIBGEN_H +/* for basename */ +# include +#endif + #include "rrd_tool.h" #include "rrd_rpncalc.h" +#ifdef WIN32 +# include +# define MAXPATH MAX_PATH +#endif #define ALTYGRID 0x01 /* use alternative y grid algorithm */ #define ALTAUTOSCALE 0x02 /* use alternative algorithm to find lower and upper bounds */ @@ -28,6 +37,7 @@ #define FORCE_UNITS_SI 0x100 /* force use of SI units in Y axis (no effect in linear graph, SI instead of E in log graph) */ #define FULL_SIZE_MODE 0x200 /* -width and -height indicate the total size of the image */ +#define NO_RRDTOOL_TAG 0x400 /* disable the rrdtool tag */ enum tmt_en { TMT_SECOND = 0, TMT_MINUTE, TMT_HOUR, TMT_DAY, TMT_WEEK, TMT_MONTH, TMT_YEAR @@ -60,6 +70,7 @@ enum vdef_op_en { , VDEF_LSLSLOPE /* least squares line slope */ , VDEF_LSLINT /* least squares line y_intercept */ , VDEF_LSLCORREL /* least squares line correlation coefficient */ + , VDEF_PERCENTNAN /* Nth percentile ignoring NAN*/ }; enum text_prop_en { TEXT_PROP_DEFAULT = 0, /* default settings */ @@ -71,6 +82,8 @@ enum text_prop_en { TEXT_PROP_LAST }; +enum legend_pos{ NORTH = 0, WEST, SOUTH, EAST }; +enum legend_direction { TOP_DOWN = 0, BOTTOM_UP }; enum gfx_if_en { IF_PNG = 0, IF_SVG, IF_EPS, IF_PDF }; enum gfx_en { GFX_LINE = 0, GFX_AREA, GFX_TEXT }; @@ -198,6 +211,10 @@ typedef struct image_desc_t { double grid_dash_on, grid_dash_off; xlab_t xlab_user; /* user defined labeling for xaxis */ char xlab_form[210]; /* format for the label on the xaxis */ + double second_axis_scale; /* relative to the first axis (0 to disable) */ + double second_axis_shift; /* how much is it shifted vs the first axis */ + char second_axis_legend[210]; /* label to put on the seond axis */ + char second_axis_format[210]; /* format for the numbers on the scond axis */ double ygridstep; /* user defined step for y grid */ int ylabfact; /* every how many y grid shall a label be written ? */ @@ -218,6 +235,8 @@ typedef struct image_desc_t { reasonable probablility that the existing one is out of date */ int slopemode; /* connect the dots of the curve directly, not using a stair */ + enum legend_pos legendposition; /* the position of the legend: north, west, south or east */ + enum legend_direction legenddirection; /* The direction of the legend topdown or bottomup */ int logarithmic; /* scale the yaxis logarithmic */ double force_scale_min; /* Force a scale--min */ double force_scale_max; /* Force a scale--max */ @@ -225,7 +244,12 @@ typedef struct image_desc_t { /* status information */ int with_markup; long xorigin, yorigin; /* where is (0,0) of the graph */ + long xOriginTitle, yOriginTitle; /* where is the origin of the title */ + long xOriginLegendY, yOriginLegendY; /* where is the origin of the y legend */ + long xOriginLegendY2, yOriginLegendY2; /* where is the origin of the second y legend */ + long xOriginLegend, yOriginLegend; /* where is the origin of the legend */ long ximg, yimg; /* total size of the image */ + long legendwidth, legendheight; /* the calculated height and width of the legend */ size_t rendered_image_size; double zoom; double magfact; /* numerical magnitude */ @@ -316,7 +340,7 @@ int print_calc( image_desc_t *); int leg_place( image_desc_t *, - int *); + int); int calc_horizontal_grid( image_desc_t *); int draw_horizontal_grid(