X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=blobdiff_plain;f=src%2Frrd_gfx.h;h=809426905215dd1644e1b1ff5c7cedfe9c1bbf2f;hp=7426e9a23f2219882dbf1dcc16810e7a51537ea1;hb=0dc5d6d50c0d95ba4f04b656358b26518d4ce854;hpb=f439b204fb1481edd6a777a3b172ccd722b5b6ed diff --git a/src/rrd_gfx.h b/src/rrd_gfx.h index 7426e9a..8094269 100644 --- a/src/rrd_gfx.h +++ b/src/rrd_gfx.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.2rc5 Copyright by Tobi Oetiker, 1997-2005 + * RRDtool 1.2.9 Copyright by Tobi Oetiker, 1997-2005 **************************************************************************** * rrd_gfx.h generic graphics adapter library ****************************************************************************/ @@ -8,12 +8,22 @@ #define RRD_GFX_H #define LIBART_COMPILATION +#define y0 libart_y0 +#define y1 libart_y1 +#define gamma libart_gamma #include +#include +#include "art_rgba_svp.h" +#undef gamma +#undef y0 +#undef y1 + enum gfx_if_en {IF_PNG=0,IF_SVG,IF_EPS,IF_PDF}; enum gfx_en { GFX_LINE=0,GFX_AREA,GFX_TEXT }; enum gfx_h_align_en { GFX_H_NULL=0, GFX_H_LEFT, GFX_H_RIGHT, GFX_H_CENTER }; enum gfx_v_align_en { GFX_V_NULL=0, GFX_V_TOP, GFX_V_BOTTOM, GFX_V_CENTER }; +enum gfx_aa_type_en {AA_NORMAL=0,AA_LIGHT,AA_NONE}; typedef unsigned long gfx_color_t; typedef struct gfx_node_t { @@ -21,13 +31,12 @@ typedef struct gfx_node_t { gfx_color_t color; /* color of element 0xRRGGBBAA alpha 0xff is solid*/ double size; /* font size, line width */ double dash_on, dash_off; /* dash line fragments lengths */ - ArtVpath *path; /* path */ int closed_path; int points; int points_max; - ArtSVP *svp; /* svp */ char *filename; /* font or image filename */ char *text; + ArtVpath *path; /* path */ double x,y; /* position */ double angle; /* text angle */ enum gfx_h_align_en halign; /* text alignement */ @@ -44,6 +53,8 @@ typedef struct gfx_canvas_t enum gfx_if_en imgformat; /* image format */ int interlaced; /* will the graph be interlaced? */ double zoom; /* zoom for graph */ + double font_aa_threshold; /* no anti-aliasing for sizes <= */ + enum gfx_aa_type_en aa_type; /* anti-aliasing type (normal/light/none) */ } gfx_canvas_t; gfx_canvas_t *gfx_new_canvas (void); @@ -102,8 +113,9 @@ int gfx_destroy (gfx_canvas_t *canvas); int gfx_render_png (gfx_canvas_t *canvas, art_u32 width, art_u32 height, gfx_color_t background, FILE *fo); -double gfx_get_text_width_libart ( double start, char* font, double size, - double tabwidth, char* text, int rotation); +double gfx_get_text_width_libart ( gfx_canvas_t *canvas, double start, + char* font, double size, double tabwidth, + char* text, int rotation ); /* SVG support */ int gfx_render_svg (gfx_canvas_t *canvas,