1 #ifndef __INKSCAPE_EXTENSION_INTERNAL_PRINT_GNOME_H__
2 #define __INKSCAPE_EXTENSION_INTERNAL_PRINT_GNOME_H__
4 /*
5 * Gnome stuff
6 *
7 * Author:
8 * Lauris Kaplinski <lauris@kaplinski.com>
9 * Ted Gould <ted@gould.cx>
10 *
11 * Lauris: This code is in public domain
12 * Ted: This code is under the GNU GPL
13 */
15 #include <config.h>
17 #include <libgnomeprint/gnome-print.h>
19 #include "extension/implementation/implementation.h"
20 #include "extension/extension.h"
22 namespace Inkscape {
23 namespace Extension {
24 namespace Internal {
26 class PrintGNOME : public Inkscape::Extension::Implementation::Implementation {
27 GnomePrintContext * _gpc;
29 public:
30 PrintGNOME (void);
31 virtual ~PrintGNOME (void);
33 /* Print functions */
34 virtual unsigned int setup (Inkscape::Extension::Print * module);
35 virtual unsigned int set_preview (Inkscape::Extension::Print * module);
37 virtual unsigned int begin (Inkscape::Extension::Print * module, SPDocument *doc);
38 virtual unsigned int finish (Inkscape::Extension::Print * module);
40 /* Rendering methods */
41 virtual unsigned int bind (Inkscape::Extension::Print * module, const NRMatrix *transform, float opacity);
42 virtual unsigned int release (Inkscape::Extension::Print * module);
43 virtual unsigned int fill (Inkscape::Extension::Print * module, const NRBPath *bpath, const NRMatrix *ctm, const SPStyle *style,
44 const NRRect *pbox, const NRRect *dbox, const NRRect *bbox);
45 virtual unsigned int stroke (Inkscape::Extension::Print * module, const NRBPath *bpath, const NRMatrix *transform, const SPStyle *style,
46 const NRRect *pbox, const NRRect *dbox, const NRRect *bbox);
47 virtual unsigned int image (Inkscape::Extension::Print * module, unsigned char *px, unsigned int w, unsigned int h, unsigned int rs,
48 const NRMatrix *transform, const SPStyle *style);
49 virtual unsigned int comment(Inkscape::Extension::Print *module, const char * comment);
51 static void init (void);
52 };
54 } /* namespace Internal */
55 } /* namespace Extension */
56 } /* namespace Inkscape */
58 #endif /* __INKSCAPE_EXTENSION_INTERNAL_PRINT_GNOME_H__ */