]> www.fi.muni.cz Git - evince.git/blob - backend/ev-ps-exporter.h
36d2613ac0c6d242da66d525f91afb02df561fd8
[evince.git] / backend / ev-ps-exporter.h
1 /* this file is part of evince, a gnome document viewer
2  *
3  *  Copyright (C) 2004 Martin Kretzschmar
4  *
5  *  Author:
6  *    Martin Kretzschmar <martink@gnome.org>
7  *
8  * Evince is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * Evince is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
21  */
22
23 #ifndef EV_PS_EXPORTER_H
24 #define EV_PS_EXPORTER_H
25
26 #include <glib-object.h>
27
28 G_BEGIN_DECLS
29
30 #define EV_TYPE_PS_EXPORTER            (ev_ps_exporter_get_type ())
31 #define EV_PS_EXPORTER(o)              (G_TYPE_CHECK_INSTANCE_CAST ((o), EV_TYPE_PS_EXPORTER, EvPSExporter))
32 #define EV_PS_EXPORTER_IFACE(k)        (G_TYPE_CHECK_CLASS_CAST((k), EV_TYPE_PS_EXPORTER, EvPSExporterIface))
33 #define EV_IS_PS_EXPORTER(o)           (G_TYPE_CHECK_INSTANCE_TYPE ((o), EV_TYPE_PS_EXPORTER))
34 #define EV_IS_PS_EXPORTER_IFACE(k)     (G_TYPE_CHECK_CLASS_TYPE ((k), EV_TYPE_PS_EXPORTER))
35 #define EV_PS_EXPORTER_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), EV_TYPE_PS_EXPORTER, EvPSExporterIface))
36
37 typedef struct _EvPSExporter EvPSExporter;
38 typedef struct _EvPSExporterIface EvPSExporterIface;
39
40 struct _EvPSExporterIface {
41         GTypeInterface base_iface;
42
43         /* Methods  */
44         void            (* begin)       (EvPSExporter *exporter,
45                                          const char   *filename,
46                                          int           first_page,
47                                          int           last_page,
48                                          double        paper_width,
49                                          double        paper_height,
50                                          gboolean      duplex);
51         void            (* do_page)     (EvPSExporter *exporter,
52                                          int           page);
53         void            (* end)         (EvPSExporter *exporter);
54 };
55
56 GType   ev_ps_exporter_get_type (void);
57 void    ev_ps_exporter_begin    (EvPSExporter *exporter, const char *filename,
58                                  int first_page, int last_page,
59                                  double paper_width, double paper_height,
60                                  gboolean duplex);
61 void    ev_ps_exporter_do_page  (EvPSExporter *exporter, int page);
62 void    ev_ps_exporter_end      (EvPSExporter *exporter);
63
64 G_END_DECLS
65
66 #endif