X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_graph.h;h=8e28f63fec38544333b0e92e5b5596ab0d3116bb;hp=2b1c05be921676622129bf4e400f919a8a1c2502;hb=c502ca0c6ed02387134193d215f6af0b3e29afe1;hpb=8380c6e953a15347b40f2c5c4cc57c2daa8b8c63 diff --git a/src/rrd_graph.h b/src/rrd_graph.h index 2b1c05b..8e28f63 100644 --- a/src/rrd_graph.h +++ b/src/rrd_graph.h @@ -5,15 +5,25 @@ #define y1 cairo_y1 #define index cairo_index +/* this may configure __EXTENSIONS__ without which pango will fail to compile + so load this early */ +#include "../rrd_config.h" + #include #include #include #include + #include + #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 +38,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,15 +71,20 @@ 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 */ +enum text_prop_en { + TEXT_PROP_DEFAULT = 0, /* default settings */ TEXT_PROP_TITLE, /* properties for the title */ TEXT_PROP_AXIS, /* for the numbers next to the axis */ TEXT_PROP_UNIT, /* for the vertical unit description */ - TEXT_PROP_LEGEND, /* fot the legend below the graph */ + TEXT_PROP_LEGEND, /* for the legend below the graph */ + TEXT_PROP_WATERMARK, /* for the little text to the side of the graph */ 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 }; @@ -87,6 +103,7 @@ typedef struct gfx_color_t { typedef struct text_prop_t { double size; char font[1024]; + PangoFontDescription *font_desc; } text_prop_t; @@ -191,10 +208,16 @@ typedef struct image_desc_t { char title[210]; /* title for graph */ char watermark[110]; /* watermark for graph */ int draw_x_grid; /* no x-grid at all */ - int draw_y_grid; /* no x-grid at all */ + int draw_y_grid; /* no y-grid at all */ + unsigned int draw_3d_border; /* size of border in pixels, 0 for off */ + unsigned int dynamic_labels; /* pick the label shape according to the line drawn */ 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 ? */ @@ -210,10 +233,13 @@ typedef struct image_desc_t { char *imginfo; /* construct an