1 #ifndef DIA_SVG_RENDERER_H
2 #define DIA_SVG_RENDERER_H
3 
4 #include "diatypes.h"
5 #include "diarenderer.h"
6 
7 G_BEGIN_DECLS
8 
9 #define DIA_TYPE_SVG_RENDERER           (dia_svg_renderer_get_type ())
10 #define DIA_SVG_RENDERER(obj)           (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_SVG_RENDERER, DiaSvgRenderer))
11 #define DIA_SVG_RENDERER_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST ((klass), DIA_TYPE_SVG_RENDERER, DiaSvgRendererClass))
12 #define DIA_IS_SVG_RENDERER(obj)        (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIA_TYPE_SVG_RENDERER))
13 #define DIA_SVG_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIA_TYPE_SVG_RENDERER, DiaSvgRendererClass))
14 
15 GType dia_svg_renderer_get_type (void) G_GNUC_CONST;
16 
17 struct _DiaSvgRenderer
18 {
19   DiaRenderer parent_instance;
20 
21   /*< protected >*/
22   char *filename;
23 
24   xmlDocPtr doc;
25   xmlNodePtr root;
26   xmlNsPtr svg_name_space;
27 
28   LineStyle saved_line_style;
29   real dash_length;
30   real dot_length;
31 
32   real linewidth;
33   const char *linecap;
34   const char *linejoin;
35   char *linestyle; /* not const -- must free */
36   real scale;  /* 1.0 for shape output, more for svg output,  */
37 };
38 
39 struct _DiaSvgRendererClass
40 {
41   DiaRendererClass parent_class;
42 
43   const gchar* (*get_draw_style) (DiaSvgRenderer*, Color*);
44   const gchar* (*get_fill_style) (DiaSvgRenderer*, Color*);
45 };
46 
47 G_END_DECLS
48 
49 #endif /* DIA_SVG_RENDERER_H */
50