diff --git a/src/extension/implementation/implementation.h b/src/extension/implementation/implementation.h
index ba25135fd4387f960c0b17d5a679f24fb5b21b4e..caa4a89bd17b4ab5c5d656869dc6f045c81adca6 100644 (file)
/*
Author: Ted Gould <ted@gould.cx>
- Copyright (c) 2003-2005
+ Copyright (c) 2003-2005,2007
This code is licensed under the GNU GPL. See COPYING for details.
#include "extension/extension-forward.h"
#include "libnr/nr-forward.h"
#include "libnr/nr-point.h"
+#include "xml/node.h"
namespace Inkscape {
namespace Extension {
namespace Implementation {
+/** \brief A cache for the document and this implementation */
+class ImplementationDocumentCache {
+ /** \brief The document that this instance is working on */
+ Inkscape::UI::View::View * _view;
+public:
+ ImplementationDocumentCache (Inkscape::UI::View::View * view) :
+ _view(view)
+ {
+ return;
+ };
+ virtual ~ImplementationDocumentCache ( ) { return; };
+ Inkscape::UI::View::View const * view ( ) { return _view; };
+};
+
/**
* Base class for all implementations of modules. This is whether they are done systematically by
* having something like the scripting system, or they are implemented internally they all derive
virtual bool load(Inkscape::Extension::Extension *module);
virtual void unload(Inkscape::Extension::Extension *module);
+ virtual ImplementationDocumentCache * newDocCache (Inkscape::Extension::Extension * ext, Inkscape::UI::View::View * doc);
/** Verify any dependencies. */
virtual bool check(Inkscape::Extension::Extension *module);
+ virtual bool cancelProcessing (void);
+ virtual void commitDocument (void);
/* ----- Input functions ----- */
/** Find out information about the file. */
/* ----- Effect functions ----- */
/** Find out information about the file. */
- virtual Gtk::Widget * prefs_effect(Inkscape::Extension::Effect *module, Inkscape::UI::View::View * view);
- /* TODO: need to figure out what we need here */
-
+ virtual Gtk::Widget * prefs_effect(Inkscape::Extension::Effect *module,
+ Inkscape::UI::View::View * view,
+ sigc::signal<void> * changeSignal,
+ ImplementationDocumentCache * docCache);
virtual void effect(Inkscape::Extension::Effect *module,
- Inkscape::UI::View::View *document);
+ Inkscape::UI::View::View *document,
+ ImplementationDocumentCache * docCache);
/* ----- Print functions ----- */
virtual unsigned setup(Inkscape::Extension::Print *module);
SPDocument *doc);
virtual unsigned finish(Inkscape::Extension::Print *module);
virtual bool textToPath(Inkscape::Extension::Print *ext);
+ virtual bool fontEmbedded(Inkscape::Extension::Print * ext);
/* ----- Rendering methods ----- */
virtual unsigned bind(Inkscape::Extension::Print *module,
- NRMatrix const *transform,
+ NR::Matrix const *transform,
float opacity);
virtual unsigned release(Inkscape::Extension::Print *module);
virtual unsigned comment(Inkscape::Extension::Print *module, const char * comment);
virtual unsigned fill(Inkscape::Extension::Print *module,
NRBPath const *bpath,
- NRMatrix const *ctm,
+ NR::Matrix const *ctm,
SPStyle const *style,
NRRect const *pbox,
NRRect const *dbox,
NRRect const *bbox);
virtual unsigned stroke(Inkscape::Extension::Print *module,
NRBPath const *bpath,
- NRMatrix const *transform,
+ NR::Matrix const *transform,
SPStyle const *style,
NRRect const *pbox,
NRRect const *dbox,
unsigned int w,
unsigned int h,
unsigned int rs,
- NRMatrix const *transform,
+ NR::Matrix const *transform,
SPStyle const *style);
virtual unsigned text(Inkscape::Extension::Print *module,
char const *text,
virtual void processPath(Inkscape::XML::Node * node);
};
+
} /* namespace Implementation */
} /* namespace Extension */
} /* namespace Inkscape */