summaryrefslogtreecommitdiffstats
path: root/src/live_effects
diff options
context:
space:
mode:
authorJohan B. C. Engelen <jbc.engelen@swissonline.ch>2007-09-15 21:45:42 +0000
committerjohanengelen <johanengelen@users.sourceforge.net>2007-09-15 21:45:42 +0000
commited19c2ad791c9b85fce4185646ee7220f1f42f6f (patch)
tree892aca1aaef76773fc97d34f569d554b774d779a /src/live_effects
parentfix typo: .( -> .set( (diff)
downloadinkscape-ed19c2ad791c9b85fce4185646ee7220f1f42f6f.tar.gz
inkscape-ed19c2ad791c9b85fce4185646ee7220f1f42f6f.zip
add verticalpattern checkbox to path-along-path and some parameters that are not yet used. fix ScalarParam bug
(bzr r3755)
Diffstat (limited to 'src/live_effects')
-rw-r--r--src/live_effects/lpe-skeletalstrokes.cpp14
-rw-r--r--src/live_effects/lpe-skeletalstrokes.h4
-rw-r--r--src/live_effects/parameter/parameter.cpp9
3 files changed, 20 insertions, 7 deletions
diff --git a/src/live_effects/lpe-skeletalstrokes.cpp b/src/live_effects/lpe-skeletalstrokes.cpp
index e1c54b4cf..31d4cfc2f 100644
--- a/src/live_effects/lpe-skeletalstrokes.cpp
+++ b/src/live_effects/lpe-skeletalstrokes.cpp
@@ -62,12 +62,20 @@ LPESkeletalStrokes::LPESkeletalStrokes(LivePathEffectObject *lpeobject) :
pattern(_("Pattern source"), _("Path to put along the skeleton path"), "pattern", &wr, this, "M0,0 L1,0"),
copytype(_("Pattern copies"), _("How many pattern copies to place along the skeleton path"), "copytype", SkelCopyTypeConverter, &wr, this, SSCT_SINGLE_STRETCHED),
prop_scale(_("Width"), _("Width of the pattern"), "prop_scale", &wr, this, 1),
- scale_y_rel(_("Width in units of length"), _("Scale the width of the pattern in units of its length"), "scale_y_rel", &wr, this, false)
+ scale_y_rel(_("Width in units of length"), _("Scale the width of the pattern in units of its length"), "scale_y_rel", &wr, this, false),
+ spacing(_("Spacing"), _("Space between copies of the pattern"), "spacing", &wr, this, 0),
+ normal_offset(_("Normal offset"), "", "normal_offset", &wr, this, 0),
+ tang_offset(_("Tangential offset"), "", "tang_offset", &wr, this, 0),
+ vertical_pattern(_("Pattern is vertical"), "", "vertical_pattern", &wr, this, false)
{
registerParameter( dynamic_cast<Parameter *>(&pattern) );
registerParameter( dynamic_cast<Parameter *>(&copytype) );
registerParameter( dynamic_cast<Parameter *>(&prop_scale) );
registerParameter( dynamic_cast<Parameter *>(&scale_y_rel) );
+// registerParameter( dynamic_cast<Parameter *>(&spacing) );
+// registerParameter( dynamic_cast<Parameter *>(&normal_offset) );
+// registerParameter( dynamic_cast<Parameter *>(&tang_offset) );
+ registerParameter( dynamic_cast<Parameter *>(&vertical_pattern) );
prop_scale.param_set_digits(3);
prop_scale.param_set_increments(0.01, 0.10);
@@ -94,8 +102,8 @@ LPESkeletalStrokes::doEffect (Geom::Piecewise<Geom::D2<Geom::SBasis> > & pwd2_in
n = force_continuity(remove_short_cuts(n,.1));
D2<Piecewise<SBasis> > patternd2 = make_cuts_independant(pattern);
- Piecewise<SBasis> x=Piecewise<SBasis>(patternd2[0]);
- Piecewise<SBasis> y=Piecewise<SBasis>(patternd2[1]);
+ Piecewise<SBasis> x = vertical_pattern.get_value() ? Piecewise<SBasis>(patternd2[1]) : Piecewise<SBasis>(patternd2[0]);
+ Piecewise<SBasis> y = vertical_pattern.get_value() ? Piecewise<SBasis>(patternd2[0]) : Piecewise<SBasis>(patternd2[1]);
Interval pattBnds = bounds_exact(x);
x -= pattBnds.min();
Interval pattBndsY = bounds_exact(y);
diff --git a/src/live_effects/lpe-skeletalstrokes.h b/src/live_effects/lpe-skeletalstrokes.h
index 1bd286680..919f09b8e 100644
--- a/src/live_effects/lpe-skeletalstrokes.h
+++ b/src/live_effects/lpe-skeletalstrokes.h
@@ -37,6 +37,10 @@ private:
EnumParam<SkelCopyType> copytype;
ScalarParam prop_scale;
BoolParam scale_y_rel;
+ ScalarParam spacing;
+ ScalarParam normal_offset;
+ ScalarParam tang_offset;
+ BoolParam vertical_pattern;
void on_pattern_pasted();
diff --git a/src/live_effects/parameter/parameter.cpp b/src/live_effects/parameter/parameter.cpp
index bb7ea4c9e..faed7c389 100644
--- a/src/live_effects/parameter/parameter.cpp
+++ b/src/live_effects/parameter/parameter.cpp
@@ -120,9 +120,12 @@ void
ScalarParam::param_make_integer(bool yes)
{
integer = yes;
+ digits = 0;
+ inc_step = 1;
+ inc_page = 10;
if (rsu) {
- rsu->getS()->setDigits(0);
- rsu->getS()->setIncrements(1, 10);
+ rsu->getS()->setDigits(digits);
+ rsu->getS()->setIncrements(inc_step, inc_page);
}
}
@@ -133,8 +136,6 @@ ScalarParam::param_getWidget()
rsu = new Inkscape::UI::Widget::RegisteredScalar();
rsu->init(param_label, param_tooltip, param_key, *param_wr, param_effect->getRepr(), param_effect->getSPDoc());
rsu->setValue(value);
- if (integer)
- param_make_integer();
rsu->getS()->setDigits(digits);
rsu->getS()->setIncrements(inc_step, inc_page);