-#define LIBART_COMPILATION
-
-#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 {
- enum gfx_en type; /* type of graph element */
- 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 */
- int closed_path;
- int points;
- int points_max;
- 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_v_align_en valign; /* text alignement */
- double tabwidth;
- struct gfx_node_t *next;
-} gfx_node_t;
-
-
-typedef struct gfx_canvas_t
-{
- struct gfx_node_t *firstnode;
- struct gfx_node_t *lastnode;
- 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);