Code

r16677@shi: ted | 2007-10-17 19:31:04 -0700
[inkscape.git] / src / extension / internal / bitmap / imagemagick.h
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;   
33         
34         Magick::Image** _images;
35         int _imageCount;
36         char** _caches;
37         unsigned* _cacheLengths;
38         
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);
44     
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);
50         
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__ */