summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2015-04-06 15:21:52 +0000
committerJabiertxof <jtx@jtx.marker.es>2015-04-06 15:21:52 +0000
commit366d6cbc86d35a795154b310b4bd9a651b84008d (patch)
treec05c135aff9989b330039c61aeea8d3f7c23b7d8 /src
parentFix a bug in pathinfo (diff)
parentherpderp (diff)
downloadinkscape-366d6cbc86d35a795154b310b4bd9a651b84008d.tar.gz
inkscape-366d6cbc86d35a795154b310b4bd9a651b84008d.zip
update to trunk
(bzr r13645.1.75)
Diffstat (limited to 'src')
-rw-r--r--src/helper/geom-pathstroke.cpp4
-rw-r--r--src/live_effects/lpe-bspline.cpp6
-rw-r--r--src/live_effects/lpe-taperstroke.cpp4
3 files changed, 8 insertions, 6 deletions
diff --git a/src/helper/geom-pathstroke.cpp b/src/helper/geom-pathstroke.cpp
index 56200402b..eb0c432c6 100644
--- a/src/helper/geom-pathstroke.cpp
+++ b/src/helper/geom-pathstroke.cpp
@@ -411,7 +411,7 @@ void join_inside(Geom::Path& res, Geom::Curve const& outgoing)
bool decide(Geom::Curve const& incoming, Geom::Curve const& outgoing)
{
Geom::Point tang1 = Geom::unitTangentAt(reverse(incoming.toSBasis()), 0.);
- Geom::Point tang2 = outgoing.unitTangentAt(0.);
+ Geom::Point tang2 = outgoing.unitTangentAt(0.);
return (Geom::cross(tang1, tang2) < 0);
}
@@ -720,7 +720,7 @@ Geom::Path half_outline(Geom::Path const& input, double width, double miter, Lin
if (u == 0) {
res.append(temp);
} else {
- bool on_outside = decide(input[u], input[u-1]);
+ bool on_outside = decide(input[u-1], input[u]);
outline_helper(res, temp, width, on_outside, miter, join);
if (temp.size() > 0)
res.insert(res.end(), ++temp.begin(), temp.end());
diff --git a/src/live_effects/lpe-bspline.cpp b/src/live_effects/lpe-bspline.cpp
index dba501f42..5d5a6e616 100644
--- a/src/live_effects/lpe-bspline.cpp
+++ b/src/live_effects/lpe-bspline.cpp
@@ -74,13 +74,15 @@ void LPEBSpline::doEffect(SPCurve *curve)
}
// Make copy of old path as it is changed during processing
Geom::PathVector const original_pathv = curve->get_pathvector();
+
curve->reset();
for (Geom::PathVector::const_iterator path_it = original_pathv.begin();
path_it != original_pathv.end(); ++path_it) {
- if (path_it->empty())
+ if (path_it->empty()){
continue;
-
+ }
+ hp.push_back(*path_it);
Geom::Path::const_iterator curve_it1 = path_it->begin();
Geom::Path::const_iterator curve_it2 = ++(path_it->begin());
Geom::Path::const_iterator curve_endit = path_it->end_default();
diff --git a/src/live_effects/lpe-taperstroke.cpp b/src/live_effects/lpe-taperstroke.cpp
index bdd36df68..2c74af6d6 100644
--- a/src/live_effects/lpe-taperstroke.cpp
+++ b/src/live_effects/lpe-taperstroke.cpp
@@ -285,7 +285,7 @@ Geom::PathVector LPETaperStroke::doEffect_path(Geom::PathVector const& path_in)
// although this seems obvious, it can probably lead to bugs.
if (!metInMiddle) {
// append the outside outline of the path (goes with the direction of the path)
- throwaway_path = half_outline(pathv_out[1], -fabs(line_width)/2., miter_limit, static_cast<LineJoinType>(join_type.get_value()));
+ throwaway_path = half_outline(pathv_out[1], fabs(line_width)/2., miter_limit, static_cast<LineJoinType>(join_type.get_value()));
if (!zeroStart && real_path.size() >= 1 && throwaway_path.size() >= 1) {
if (!Geom::are_near(real_path.finalPoint(), throwaway_path.initialPoint())) {
real_path.appendNew<Geom::LineSegment>(throwaway_path.initialPoint());
@@ -317,7 +317,7 @@ Geom::PathVector LPETaperStroke::doEffect_path(Geom::PathVector const& path_in)
if (!metInMiddle) {
// append the inside outline of the path (against direction)
- throwaway_path = half_outline(pathv_out[1].reverse(), -fabs(line_width)/2., miter_limit, static_cast<LineJoinType>(join_type.get_value()));
+ throwaway_path = half_outline(pathv_out[1].reverse(), fabs(line_width)/2., miter_limit, static_cast<LineJoinType>(join_type.get_value()));
if (!Geom::are_near(real_path.finalPoint(), throwaway_path.initialPoint()) && real_path.size() >= 1) {
real_path.appendNew<Geom::LineSegment>(throwaway_path.initialPoint());