diff options
| author | Ted Gould <ted@gould.cx> | 2007-10-30 19:28:31 +0000 |
|---|---|---|
| committer | gouldtj <gouldtj@users.sourceforge.net> | 2007-10-30 19:28:31 +0000 |
| commit | cabb72a8c874cf939150e02af804a1c781cd0b17 (patch) | |
| tree | da8834a6d8e32e2c631f1b29b835c3ac76f72a59 /src/extension/internal/bitmap | |
| parent | r16676@shi: ted | 2007-10-12 21:09:50 -0700 (diff) | |
| download | inkscape-cabb72a8c874cf939150e02af804a1c781cd0b17.tar.gz inkscape-cabb72a8c874cf939150e02af804a1c781cd0b17.zip | |
r16677@shi: ted | 2007-10-17 19:31:04 -0700
Creating and adding interfaces for a document based cache that an effect can define. This removes the effect from
having to know if the document has changed, and keep track of that. This allows them to optimize their performance
when doing things like live effects.
(bzr r3977)
Diffstat (limited to 'src/extension/internal/bitmap')
| -rw-r--r-- | src/extension/internal/bitmap/imagemagick.cpp | 8 | ||||
| -rw-r--r-- | src/extension/internal/bitmap/imagemagick.h | 12 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/extension/internal/bitmap/imagemagick.cpp b/src/extension/internal/bitmap/imagemagick.cpp index a6c30a587..ddb7a0145 100644 --- a/src/extension/internal/bitmap/imagemagick.cpp +++ b/src/extension/internal/bitmap/imagemagick.cpp @@ -41,12 +41,13 @@ ImageMagick::load(Inkscape::Extension::Extension *module) return TRUE; } +/* void ImageMagick::commitDocument(void) { _loaded = FALSE; } -/*void +void ImageMagick::cancelDocument(void) { for (int i = 0; i < _imageCount; i++) { _nodes[i]->setAttribute("xlink:href", _originals[i], true); @@ -76,9 +77,10 @@ ImageMagick::readImage(const char *xlink, Magick::Image *image) } void -ImageMagick::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *document) +ImageMagick::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *document, Inkscape::Extension::Implementation::ImplementationDocumentCache * docCache) { refreshParameters(module); + _loaded = FALSE; if (!_loaded) { @@ -177,7 +179,7 @@ ImageMagick::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::Vi Uses AutoGUI for creating the GUI. */ Gtk::Widget * -ImageMagick::prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View * view, sigc::signal<void> * changeSignal) +ImageMagick::prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View * view, sigc::signal<void> * changeSignal, Inkscape::Extension::Implementation::ImplementationDocumentCache * docCache) { SPDocument * current_document = view->doc(); diff --git a/src/extension/internal/bitmap/imagemagick.h b/src/extension/internal/bitmap/imagemagick.h index 4afdcfbb4..3060ddd33 100644 --- a/src/extension/internal/bitmap/imagemagick.h +++ b/src/extension/internal/bitmap/imagemagick.h @@ -18,6 +18,12 @@ namespace Extension { namespace Internal { namespace Bitmap { +class ImageMagickDocCache: public Inkscape::Extension::Implementation::ImplementationDocumentCache { +public: + ImageMagickDocCache(SPDocument * doc) : Inkscape::Extension::Implementation::ImplementationDocumentCache(doc) { }; + ~ImageMagickDocCache ( ) { }; +}; + class ImageMagick : public Inkscape::Extension::Implementation::Implementation { private: @@ -36,13 +42,13 @@ public: virtual void refreshParameters(Inkscape::Extension::Effect *module) { }; bool load(Inkscape::Extension::Extension *module); - void commitDocument(void); + /*void commitDocument(void);*/ /*void cancelDocument(void);*/ void readImage(char const *xlink, Magick::Image *image); - void effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View *document); + void effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View *document, Inkscape::Extension::Implementation::ImplementationDocumentCache * docCache); - Gtk::Widget* prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View * view, sigc::signal<void> * changeSignal); + Gtk::Widget* prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View * view, sigc::signal<void> * changeSignal, Inkscape::Extension::Implementation::ImplementationDocumentCache * docCache); }; }; /* namespace Bitmap */ |
