49 #ifdef CAIRO_HAS_SVG_SURFACE
50 #include <cairo-svg.h>
52 #if CAIRO_HAS_PS_SURFACE
55 #ifdef CAIRO_HAS_PDF_SURFACE
56 #include <cairo-pdf.h>
70 #ifdef CAIRO_HAS_PNG_FUNCTIONS
71 static void png_get_image_size( cairo_surface_t *p_surface,
72 int &width,
int &height );
73 static void png_unpremultiply_data( png_structp png,
74 png_row_infop row_info,
76 static void write_to_png( cairo_surface_t *p_surface,
77 int width,
int height,
78 const char *filename );
81 virtual void build_plot(
void ) = 0;
112 void set_ranges(
double xmin,
double ymin,
double xmax,
double ymax );
114 #ifdef CAIRO_HAS_PNG_FUNCTIONS
119 void plot_png(
const std::string &filename );
122 #ifdef CAIRO_HAS_PS_SURFACE
127 void plot_eps(
const std::string &filename );
130 #ifdef CAIRO_HAS_PDF_SURFACE
135 void plot_pdf(
const std::string &filename );
138 #ifdef CAIRO_HAS_SVG_SURFACE
143 void plot_svg(
const std::string &filename );