1 #ifndef __INKSCAPE_EXTENSION_INTERNAL_BITMAP_IMAGEMAGICK_H__
2 #define __INKSCAPE_EXTENSION_INTERNAL_BITMAP_IMAGEMAGICK_H__
4 /*
5 * Copyright (C) 2007 Authors:
6 * Christopher Brown <audiere@gmail.com>
7 * Ted Gould <ted@gould.cx>
8 *
9 * Released under GNU GPL, read the file 'COPYING' for more information
10 */
12 #include "extension/implementation/implementation.h"
13 #include "extension/extension-forward.h"
14 #include <Magick++.h>
16 namespace Inkscape {
17 namespace Extension {
18 namespace Internal {
19 namespace Bitmap {
21 class ImageMagickDocCache: public Inkscape::Extension::Implementation::ImplementationDocumentCache {
22 public:
23 ImageMagickDocCache(SPDocument * doc) : Inkscape::Extension::Implementation::ImplementationDocumentCache(doc) { };
24 ~ImageMagickDocCache ( ) { };
25 };
27 class ImageMagick : public Inkscape::Extension::Implementation::Implementation {
29 private:
30 bool _loaded;
32 Inkscape::XML::Node** _nodes;
34 Magick::Image** _images;
35 int _imageCount;
36 char** _caches;
37 unsigned* _cacheLengths;
39 const char** _originals;
40 public:
41 virtual void applyEffect(Magick::Image *image) { };
42 virtual void refreshParameters(Inkscape::Extension::Effect *module) { };
43 bool load(Inkscape::Extension::Extension *module);
45 /*void commitDocument(void);*/
46 /*void cancelDocument(void);*/
48 void readImage(char const *xlink, Magick::Image *image);
49 void effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View *document, Inkscape::Extension::Implementation::ImplementationDocumentCache * docCache);
51 Gtk::Widget* prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View * view, sigc::signal<void> * changeSignal, Inkscape::Extension::Implementation::ImplementationDocumentCache * docCache);
52 };
54 }; /* namespace Bitmap */
55 }; /* namespace Internal */
56 }; /* namespace Extension */
57 }; /* namespace Inkscape */
59 #endif /* __INKSCAPE_EXTENSION_INTERNAL_BITMAP_IMAGEMAGICK_H__ */