#include #include #include #include #include /* #define PDF */ /* #define PS */ #define SVG /*#define PNG*/ int main(int argc, char *argv[]) { cairo_surface_t *surface; cairo_t *cr; #ifdef PDF surface = cairo_pdf_surface_create("foo.pdf", 612, 792); #endif #ifdef PS surface = cairo_ps_surface_create("foo.ps", 612, 792); #endif #ifdef SVG surface = cairo_svg_surface_create("foo.svg", 612, 792); #endif #ifdef PNG surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 800, 800); #endif cr = cairo_create(surface); cairo_set_antialias(cr, CAIRO_ANTIALIAS_BEST); cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE); /* NONE eliminates the problem for image surfaces */ cairo_set_source_rgb(cr, .5, .5, .5); cairo_move_to(cr, 100, 100); cairo_line_to(cr, 600, 600); cairo_line_to(cr, 100, 600); cairo_line_to(cr, 100, 100); cairo_fill(cr); cairo_move_to(cr, 100, 100); cairo_line_to(cr, 600, 600); cairo_line_to(cr, 600, 100); cairo_line_to(cr, 100, 100); cairo_fill(cr); #ifdef PNG cairo_surface_write_to_png(surface, "foo.png"); #endif cairo_destroy(cr); cairo_surface_destroy(surface); }