summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2008-01-02 18:20:02 +0000
committerjohanengelen <johanengelen@users.sourceforge.net>2008-01-02 18:20:02 +0000
commit6349eecd42acc56445f69ee32fcb3dd6d52c9751 (patch)
tree521c62e4d33be19ba812ca6dddb1a8f91897533f /src
parent+ Fix bug #179840, forking of LPEs (diff)
downloadinkscape-6349eecd42acc56445f69ee32fcb3dd6d52c9751.tar.gz
inkscape-6349eecd42acc56445f69ee32fcb3dd6d52c9751.zip
make LPE parameters responsible for transformation (LPE cycles through its params to apply transform)
(bzr r4368)
Diffstat (limited to 'src')
-rw-r--r--src/live_effects/effect.cpp1
-rw-r--r--src/live_effects/parameter/parameter.h2
-rw-r--r--src/live_effects/parameter/path.h2
-rw-r--r--src/live_effects/parameter/point.h2
4 files changed, 7 insertions, 0 deletions
diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp
index 21c1d6719..0771edb47 100644
--- a/src/live_effects/effect.cpp
+++ b/src/live_effects/effect.cpp
@@ -361,6 +361,7 @@ Effect::transform_multiply(Geom::Matrix const& postmul, bool set)
// cycle through all parameters. Most parameters will not need transformation, but path and point params do.
for (std::vector<Parameter *>::iterator it = param_vector.begin(); it != param_vector.end(); it++) {
Parameter * param = *it;
+ param->param_transform_multiply(postmul, set);
}
}
diff --git a/src/live_effects/parameter/parameter.h b/src/live_effects/parameter/parameter.h
index 78d12ca69..bd3fe906e 100644
--- a/src/live_effects/parameter/parameter.h
+++ b/src/live_effects/parameter/parameter.h
@@ -55,6 +55,8 @@ public:
virtual void param_editOncanvas(SPItem * /*item*/, SPDesktop * /*dt*/) {};
virtual void param_setup_notepath(Inkscape::NodePath::Path */*np*/) {};
+ virtual void param_transform_multiply(Geom::Matrix const& /*postmul*/, bool /*set*/) {};
+
Glib::ustring param_key;
Inkscape::UI::Widget::Registry * param_wr;
Glib::ustring param_label;
diff --git a/src/live_effects/parameter/path.h b/src/live_effects/parameter/path.h
index fc5a16a5b..696f27a87 100644
--- a/src/live_effects/parameter/path.h
+++ b/src/live_effects/parameter/path.h
@@ -49,6 +49,8 @@ public:
void param_editOncanvas(SPItem * item, SPDesktop * dt);
void param_setup_notepath(Inkscape::NodePath::Path *np);
+ virtual void param_transform_multiply(Geom::Matrix const& /*postmul*/, bool /*set*/) {};
+
sigc::signal <void> signal_path_pasted;
sigc::signal <void> signal_path_changed;
diff --git a/src/live_effects/parameter/point.h b/src/live_effects/parameter/point.h
index 25cdedb9d..72b3991e1 100644
--- a/src/live_effects/parameter/point.h
+++ b/src/live_effects/parameter/point.h
@@ -43,6 +43,8 @@ public:
void param_setValue(Geom::Point newpoint);
void param_set_default();
+ virtual void param_transform_multiply(Geom::Matrix const& /*postmul*/, bool /*set*/) {};
+
private:
PointParam(const PointParam&);
PointParam& operator=(const PointParam&);