/****************************************************************************
- * RRDtool 1.1.x Copyright Tobias Oetiker, 1997 - 2001
+ * RRDtool 1.2.15 Copyright by Tobi Oetiker, 1997-2006
****************************************************************************
* rrd_gfx.h generic graphics adapter library
****************************************************************************/
#ifndef RRD_GFX_H
#define RRD_GFX_H
#define LIBART_COMPILATION
-#include <libart.h>
+
+#define y0 libart_y0
+#define y1 libart_y1
+#define gamma libart_gamma
+#include <libart_lgpl/libart.h>
+#include <libart_lgpl/art_rgba.h>
+#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 {
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 */
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);
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 ( gfx_canvas_t *canvas,
- 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,