diff options
author | Carl Worth <cworth@cworth.org> | 2006-02-13 16:47:41 -0800 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2006-02-13 16:47:41 -0800 |
commit | 73c2eada0d0c80763f0a953cce7fc144f7931fa1 (patch) | |
tree | d455caf8febf6e9eb1eed134e5fc80acd26b2f6f /doc/tutorial/src/cairo-tutorial-pdf.h | |
parent | 01dd527ef3cb3205e33ffec90a11fda11f0e281a (diff) | |
parent | b9861b3e877776c5fe5b8b30fe76ced8ff846923 (diff) |
Remove pixman from SNAPSHOT_0_6_0SNAPSHOT_0_6_0
Diffstat (limited to 'doc/tutorial/src/cairo-tutorial-pdf.h')
-rw-r--r-- | doc/tutorial/src/cairo-tutorial-pdf.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/doc/tutorial/src/cairo-tutorial-pdf.h b/doc/tutorial/src/cairo-tutorial-pdf.h new file mode 100644 index 000000000..563ea763e --- /dev/null +++ b/doc/tutorial/src/cairo-tutorial-pdf.h @@ -0,0 +1,74 @@ +/* cairo-tutorial-png.h - a tutorial framework for cairo to write a PNG image + * + * Copyright © 2005, Carl Worth + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include <cairo.h> +#include <cairo-pdf.h> + +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <string.h> + +#ifndef WIDTH +#define WIDTH 400 +#endif + +#ifndef HEIGHT +#define HEIGHT 400 +#endif + +static void +draw (cairo_t *cr); + +int +main (int argc, char **argv) +{ + cairo_surface_t *surface; + cairo_t *cr; + char *filename, *dash; + + filename = strdup (argv[0]); + assert (filename != NULL); + + dash = strrchr (filename, '-'); + + if (strcmp (dash, "-pdf") == 0) { + *dash = '.'; + } else { + char *new_filename; + new_filename = malloc (strlen (filename) + 5); + sprintf (new_filename, "%s.pdf", filename); + free (filename); + filename = new_filename; + } + + surface = cairo_pdf_surface_create (filename, WIDTH, HEIGHT); + + cr = cairo_create (surface); + + draw (cr); + + cairo_show_page (cr); + + cairo_surface_destroy (surface); + cairo_destroy (cr); + + free (filename); + + return 0; +} |