Code

make LPE parameters responsible for transformation (LPE cycles through its params...
authorjohanengelen <johanengelen@users.sourceforge.net>
Wed, 2 Jan 2008 18:20:02 +0000 (18:20 +0000)
committerjohanengelen <johanengelen@users.sourceforge.net>
Wed, 2 Jan 2008 18:20:02 +0000 (18:20 +0000)
src/live_effects/effect.cpp
src/live_effects/parameter/parameter.h
src/live_effects/parameter/path.h
src/live_effects/parameter/point.h

index 21c1d6719d4f119ef28a68c7c4f3f0f11b72f70e..0771edb4761b67fc1daa4b6861f1a88200d1dd3d 100644 (file)
@@ -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);
     }
 }
 
index 78d12ca6917ef22d2aeb3969f31fd23ad73ba34a..bd3fe906e03b903951db3509d8c5c744cb1d6395 100644 (file)
@@ -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;
index fc5a16a5b879b3f84ad72acf881710a495fcd9fb..696f27a873045bb55563814aab926d5a2679460e 100644 (file)
@@ -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;
 
index 25cdedb9dafb3e21995e711b0c5a988e87e945c1..72b3991e15efe98e5429458434a4e20b7aa9354b 100644 (file)
@@ -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&);