From a4ce97ec6835fb6ea8dfd3dbee11abe103b064e4 Mon Sep 17 00:00:00 2001 From: Tavmjong Bah Date: Thu, 30 Jan 2014 14:18:11 +0100 Subject: Correct positioning of custom markers. Fixes #230491. (bzr r12986) --- src/marker.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/marker.cpp') diff --git a/src/marker.cpp b/src/marker.cpp index d145aadaf..b9464186d 100644 --- a/src/marker.cpp +++ b/src/marker.cpp @@ -654,7 +654,7 @@ sp_marker_view_remove (SPMarker *marker, SPMarkerView *view, unsigned int destro delete view; } -const gchar *generate_marker(GSList *reprs, Geom::Rect bounds, SPDocument *document, Geom::Affine /*transform*/, Geom::Affine move) +const gchar *generate_marker(GSList *reprs, Geom::Rect bounds, SPDocument *document, Geom::Point center, Geom::Affine move) { Inkscape::XML::Document *xml_doc = document->getReprDoc(); Inkscape::XML::Node *defsrepr = document->getDefs()->getRepr(); @@ -668,6 +668,8 @@ const gchar *generate_marker(GSList *reprs, Geom::Rect bounds, SPDocument *docum sp_repr_set_svg_double(repr, "markerWidth", bounds.dimensions()[Geom::X]); sp_repr_set_svg_double(repr, "markerHeight", bounds.dimensions()[Geom::Y]); + sp_repr_set_svg_double(repr, "refX", center[Geom::X]); + sp_repr_set_svg_double(repr, "refY", center[Geom::Y]); repr->setAttribute("orient", "auto"); @@ -676,7 +678,7 @@ const gchar *generate_marker(GSList *reprs, Geom::Rect bounds, SPDocument *docum SPObject *mark_object = document->getObjectById(mark_id); for (GSList *i = reprs; i != NULL; i = i->next) { - Inkscape::XML::Node *node = (Inkscape::XML::Node *)(i->data); + Inkscape::XML::Node *node = (Inkscape::XML::Node *)(i->data); SPItem *copy = SP_ITEM(mark_object->appendChildRepr(node)); Geom::Affine dup_transform; -- cgit v1.2.3