summaryrefslogtreecommitdiffstats
path: root/src/live_effects/parameter
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2017-08-27 10:55:26 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2017-08-27 10:55:26 +0000
commitbbde5dbeeb06611e99f9fa7f73dafe3bf70df01c (patch)
tree8f2aba648ca0b2ae7519903c2270d56039e4a6a9 /src/live_effects/parameter
parentStarting with powerpencil (diff)
downloadinkscape-bbde5dbeeb06611e99f9fa7f73dafe3bf70df01c.tar.gz
inkscape-bbde5dbeeb06611e99f9fa7f73dafe3bf70df01c.zip
Working on preview over powerpencil
Diffstat (limited to 'src/live_effects/parameter')
-rw-r--r--src/live_effects/parameter/powerstrokepointarray.cpp4
-rw-r--r--src/live_effects/parameter/powerstrokepointarray.h3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/live_effects/parameter/powerstrokepointarray.cpp b/src/live_effects/parameter/powerstrokepointarray.cpp
index 25639b406..bc06e42ca 100644
--- a/src/live_effects/parameter/powerstrokepointarray.cpp
+++ b/src/live_effects/parameter/powerstrokepointarray.cpp
@@ -163,7 +163,7 @@ PowerStrokePointArrayParamKnotHolderEntity::knot_set(Geom::Point const &p, Geom:
Geom::Point const s = snap_knot_position(p, state);
double t = nearest_time(s, pwd2);
double offset = dot(s - pwd2.valueAt(t), n.valueAt(t));
- _pparam->_vector.at(_index) = Geom::Point(t, offset);
+ _pparam->_vector.at(_index) = Geom::Point(t, offset/_pparam->_scale_width);
if (_pparam->_vector.size() == 1 ) {
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setDouble("/live_effect/power_stroke/width", offset);
@@ -188,7 +188,7 @@ PowerStrokePointArrayParamKnotHolderEntity::knot_get() const
g_warning("Broken powerstroke point at %f, I won't try to add that", offset_point[X]);
return Geom::Point(infinity(), infinity());
}
- Point canvas_point = pwd2.valueAt(offset_point[X]) + offset_point[Y] * n.valueAt(offset_point[X]);
+ Point canvas_point = pwd2.valueAt(offset_point[X]) + (offset_point[Y] * _pparam->_scale_width) * n.valueAt(offset_point[X]);
return canvas_point;
}
diff --git a/src/live_effects/parameter/powerstrokepointarray.h b/src/live_effects/parameter/powerstrokepointarray.h
index a34163ca1..621d3b969 100644
--- a/src/live_effects/parameter/powerstrokepointarray.h
+++ b/src/live_effects/parameter/powerstrokepointarray.h
@@ -35,6 +35,7 @@ public:
void set_oncanvas_looks(SPKnotShapeType shape, SPKnotModeType mode, guint32 color);
+
float median_width();
virtual bool providesKnotHolderEntities() const { return true; }
@@ -46,6 +47,8 @@ public:
Geom::Piecewise<Geom::D2<Geom::SBasis> > const & get_pwd2_normal() const { return last_pwd2_normal; }
void recalculate_controlpoints_for_new_pwd2(Geom::Piecewise<Geom::D2<Geom::SBasis> > const & pwd2_in);
+ void set_scale_width(double scale_width){_scale_width = scale_width;};
+ double _scale_width;
friend class PowerStrokePointArrayParamKnotHolderEntity;
private: