From 79bf53d707e04e4988cac4d4e2105822b8463593 Mon Sep 17 00:00:00 2001 From: johanengelen Date: Fri, 4 Jul 2008 23:07:47 +0000 Subject: [PATCH] 2geomify calculation of number of markers on a path --- src/sp-shape.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/sp-shape.cpp b/src/sp-shape.cpp index c01f8535d..54f674f6b 100644 --- a/src/sp-shape.cpp +++ b/src/sp-shape.cpp @@ -1060,9 +1060,14 @@ sp_shape_has_markers (SPShape const *shape) int sp_shape_number_of_markers (SPShape *shape, int type) { - int n = 0; - for (NArtBpath const* bp = SP_CURVE_BPATH(shape->curve); bp->code != NR_END; bp++) { - if (sp_shape_marker_required (shape, type, bp)) { + Geom::PathVector const & pathv = shape->curve->get_pathvector(); + + guint n = shape->marker[SP_MARKER_LOC_START] ? pathv.size() : 0; + + for(Geom::PathVector::const_iterator path_it = pathv.begin(); path_it != pathv.end(); ++path_it) { + n += shape->marker[SP_MARKER_LOC_MID] ? path_it->size() : 0; + + if ( shape->marker[SP_MARKER_LOC_END] && !path_it->empty()) { n++; } } -- 2.30.2