The OpenD Programming Language

1 /**
2  *
3  * License:
4  * $(TABLE
5  *   $(TR $(TD cairoD wrapper/bindings)
6  *     $(TD $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost License 1.0)))
7  *   $(TR $(TD $(LINK2 http://cgit.freedesktop.org/cairo/tree/COPYING, _cairo))
8  *     $(TD $(LINK2 http://cgit.freedesktop.org/cairo/tree/COPYING-LGPL-2.1, LGPL 2.1) /
9  *     $(LINK2 http://cgit.freedesktop.org/cairo/plain/COPYING-MPL-1.1, MPL 1.1)))
10  * )
11  * Authors:
12  * $(TABLE
13  *   $(TR $(TD Johannes Pfau) $(TD cairoD))
14  *   $(TR $(TD $(LINK2 http://cairographics.org, _cairo team)) $(TD _cairo))
15  * )
16  */
17 /*
18  * Distributed under the Boost Software License, Version 1.0.
19  *    (See accompanying file LICENSE_1_0.txt or copy at
20  *          http://www.boost.org/LICENSE_1_0.txt)
21  */
22 module cairo.c.svg;
23 
24 import cairo.c.cairo;
25 
26 static if(CAIRO_HAS_SVG_SURFACE)
27 {
28     extern(C):
29     /**
30      * cairo_svg_version_t is used to describe the version number of the SVG
31      * specification that a generated SVG file will conform to.
32      */
33     enum cairo_svg_version_t
34     {
35         ///The version 1.1 of the SVG specification.
36         CAIRO_SVG_VERSION_1_1,
37         ///The version 1.2 of the SVG specification.
38         CAIRO_SVG_VERSION_1_2
39     }
40     ///
41     cairo_surface_t*
42     cairo_svg_surface_create (const (char*) filename,
43                   double	width_in_points,
44                   double	height_in_points);
45     ///
46     cairo_surface_t*
47     cairo_svg_surface_create_for_stream (cairo_write_func_t	write_func,
48                          void*      closure,
49                          double		width_in_points,
50                          double		height_in_points);
51     ///
52     void
53     cairo_svg_surface_restrict_to_version (cairo_surface_t*    surface,
54                            cairo_svg_version_t  	 vers);
55     ///
56     void
57     cairo_svg_get_versions (immutable(cairo_svg_version_t*)* versions,
58                             int*                    num_versions);
59     ///
60     immutable(char)*
61     cairo_svg_version_to_string (cairo_svg_version_t vers);
62 }
63 else
64 {
65     //static assert(false, "Cairo was not compiled with support for the svg backend");
66 }