From 122bb4fc22dd37689adb0666afc7adcd58e1f6cf Mon Sep 17 00:00:00 2001 From: Alexis Deveria Date: Thu, 29 Apr 2010 15:30:56 +0000 Subject: [PATCH] Replaced removeUnusedGrads with a more generic removeUnusedDefElems to remove unused filters, markers, etc git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1554 eee81c28-f429-11dd-99c0-75d572ba1ddd --- editor/svgcanvas.js | 47 +++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/editor/svgcanvas.js b/editor/svgcanvas.js index d4861d0e..fe70a732 100644 --- a/editor/svgcanvas.js +++ b/editor/svgcanvas.js @@ -1526,41 +1526,41 @@ function BatchCommand(text) { }; var getUrlFromAttr = this.getUrlFromAttr; - var removeUnusedGrads = function() { + var removeUnusedDefElems = function() { var defs = svgcontent.getElementsByTagNameNS(svgns, "defs"); if(!defs || !defs.length) return 0; - var all_els = svgcontent.getElementsByTagNameNS(svgns, '*'), - grad_uses = [], + var defelem_uses = [], numRemoved = 0; + var attrs = ['fill', 'stroke', 'filter', 'marker-start', 'marker-mid', 'marker-end']; + var alen = attrs.length; - $.each(all_els, function(i, el) { - var fill = getUrlFromAttr(el.getAttribute('fill')); - if(fill) { - grad_uses.push(fill.substr(1)); - } - - var stroke = getUrlFromAttr(el.getAttribute('stroke')); - if (stroke) { - grad_uses.push(stroke.substr(1)); + var all_els = svgcontent.getElementsByTagNameNS(svgns, '*'); + var all_len = all_els.length; + + for(var i=0; i 0) {}; + while (removeUnusedDefElems() > 0) {}; + pathActions.clear(true); // Keep SVG-Edit comment on top @@ -9057,7 +9058,7 @@ function BatchCommand(text) { recalculateDimensions: recalculateDimensions, remapElement: remapElement, RemoveElementCommand: RemoveElementCommand, - removeUnusedGrads: removeUnusedGrads, + removeUnusedDefElems: removeUnusedDefElems, resetUndoStack: resetUndoStack, round: round, runExtensions: runExtensions,