more leaks plugged and more *_OPTIONAL
[dia.git] / app / diapsrenderer.h
blobe9823b407650efbd76dd02f96ec1df8398dc79d4
1 #ifndef DIA_PS_RENDERER_H
2 #define DIA_PS_RENDERER_H
4 #include <stdio.h>
5 #include "color.h"
7 #include "diarenderer.h"
9 G_BEGIN_DECLS
11 #define DIA_TYPE_PS_RENDERER (dia_ps_renderer_get_type ())
12 #define DIA_PS_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_PS_RENDERER, DiaPsRenderer))
13 #define DIA_PS_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIA_TYPE_PS_RENDERER, DiaPsRendererClass))
14 #define DIA_IS_PS_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIA_TYPE_PS_RENDERER))
15 #define DIA_PS_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIA_TYPE_PS_RENDERER, DiaPsRendererClass))
17 GType dia_ps_renderer_get_type (void) G_GNUC_CONST;
19 typedef struct _DiaPsRenderer DiaPsRenderer;
20 typedef struct _DiaPsRendererClass DiaPsRendererClass;
22 struct _DiaPsRenderer
24 DiaRenderer parent_instance;
26 FILE *file;
28 gboolean is_eps;
29 guint pagenum;
31 Color lcolor;
32 real dash_length;
33 real dot_length;
34 LineStyle saved_line_style;
36 gchar *title;
37 gchar *paper;
38 gboolean is_portrait;
39 double scale;
40 Rectangle extent;
44 struct _DiaPsRendererClass
46 DiaRendererClass parent_class;
48 /* postscript specific renderer functions */
49 void (*begin_prolog) (DiaPsRenderer *renderer);
50 void (*dump_fonts) (DiaPsRenderer *renderer);
51 void (*end_prolog) (DiaPsRenderer *renderer);
54 void lazy_setcolor(DiaPsRenderer *renderer, Color *color);
56 G_END_DECLS
58 #endif /* DIA_PS_RENDERER_H */