#ifndef DIA_SVG_RENDERER_H #define DIA_SVG_RENDERER_H #include "diatypes.h" #include "diarenderer.h" G_BEGIN_DECLS #define DIA_TYPE_SVG_RENDERER (dia_svg_renderer_get_type ()) #define DIA_SVG_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_SVG_RENDERER, DiaSvgRenderer)) #define DIA_SVG_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIA_TYPE_SVG_RENDERER, DiaSvgRendererClass)) #define DIA_IS_SVG_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIA_TYPE_SVG_RENDERER)) #define DIA_SVG_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIA_TYPE_SVG_RENDERER, DiaSvgRendererClass)) GType dia_svg_renderer_get_type (void) G_GNUC_CONST; /*! * \brief Base class for SVG generation * * Used for Shape cration and one of the SVG exporters * * \extends _DiaRenderer */ struct _DiaSvgRenderer { DiaRenderer parent_instance; /*! \protected filename used for saving */ char *filename; xmlDocPtr doc; xmlNodePtr root; xmlNsPtr svg_name_space; real linewidth; const char *linecap; const char *linejoin; char *linestyle; /* not const -- must free */ real scale; /*!< scale=1.0 for shape output, more for svg output, */ /*! \private pattern set by set_pattern */ DiaPattern *active_pattern; /*! \private all patterns seen between begin_render and end_render */ GHashTable *patterns; }; struct _DiaSvgRendererClass { DiaRendererClass parent_class; const gchar* (*get_draw_style) (DiaSvgRenderer*, Color* fill, Color *stroke); }; G_END_DECLS #endif /* DIA_SVG_RENDERER_H */