* installer/win32/dia.nsi: Save diagrams by default in "My Pictures";
[dia.git] / app / diapsrenderer.h
blob546796acc88331b0c0f9ca389cab348e40988631
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 /* Distinguish between variants of postscript.
10 * EPS needs bounding box, EPSI also needs preview.
12 #define PSTYPE_PS 0
13 #define PSTYPE_EPS 1
14 #define PSTYPE_EPSI 2
16 G_BEGIN_DECLS
18 #define DIA_TYPE_PS_RENDERER (dia_ps_renderer_get_type ())
19 #define DIA_PS_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DIA_TYPE_PS_RENDERER, DiaPsRenderer))
20 #define DIA_PS_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DIA_TYPE_PS_RENDERER, DiaPsRendererClass))
21 #define DIA_IS_PS_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DIA_TYPE_PS_RENDERER))
22 #define DIA_PS_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DIA_TYPE_PS_RENDERER, DiaPsRendererClass))
24 GType dia_ps_renderer_get_type (void) G_GNUC_CONST;
26 typedef struct _DiaPsRenderer DiaPsRenderer;
27 typedef struct _DiaPsRendererClass DiaPsRendererClass;
29 struct _DiaPsRenderer
31 DiaRenderer parent_instance;
33 /** Need this if we're doing preview */
34 DiagramData *diagram;
36 FILE *file;
38 guint pstype;
39 guint pagenum;
41 Color lcolor;
42 real dash_length;
43 real dot_length;
44 LineStyle saved_line_style;
46 gchar *title;
47 gchar *paper;
48 gboolean is_portrait;
49 double scale;
50 Rectangle extent;
54 struct _DiaPsRendererClass
56 DiaRendererClass parent_class;
58 /* postscript specific renderer functions */
59 void (*begin_prolog) (DiaPsRenderer *renderer);
60 void (*dump_fonts) (DiaPsRenderer *renderer);
61 void (*end_prolog) (DiaPsRenderer *renderer);
64 void lazy_setcolor(DiaPsRenderer *renderer, Color *color);
66 G_END_DECLS
68 #endif /* DIA_PS_RENDERER_H */