Hoisting common code bits out of the mouseUp switch/case block

git-svn-id: http://svg-edit.googlecode.com/svn/trunk@42 eee81c28-f429-11dd-99c0-75d572ba1ddd
This commit is contained in:
Vidar Hokstad
2009-06-06 17:53:38 +00:00
parent 800c3f0090
commit d5ba10b166

View File

@@ -308,7 +308,7 @@ function SvgCanvas(doc)
started = false; started = false;
var element = svgdoc.getElementById(getId()); var element = svgdoc.getElementById(getId());
var keep = false;
switch (current_mode) switch (current_mode)
{ {
case "select": case "select":
@@ -320,57 +320,27 @@ function SvgCanvas(doc)
// element.getAttribute('y') // element.getAttribute('y')
// should scan elements which are in rect(x,y,width,height) and select them // should scan elements which are in rect(x,y,width,height) and select them
} }
element.parentNode.removeChild(element);
element = null;
break; break;
case "path": case "path":
d_attr = null; keep = true;
element.setAttribute("opacity", current_opacity);
obj_num++;
break; break;
case "line": case "line":
if (element.getAttribute('x1') == element.getAttribute('x2') && keep = (element.getAttribute('x1') != element.getAttribute('x2') ||
element.getAttribute('y1') == element.getAttribute('y2')) { element.getAttribute('y1') == element.getAttribute('y2'));
element.parentNode.removeChild(element);
element = null;
} else {
element.setAttribute("opacity", current_opacity);
obj_num++;
}
break; break;
case "square": case "square":
case "rect": case "rect":
if (element.getAttribute('width') == 0 && keep = (element.getAttribute('width') != 0 ||
element.getAttribute('height') == 0) { element.getAttribute('height') != 0);
element.parentNode.removeChild(element);
element = null;
} else {
element.setAttribute("opacity", current_opacity);
obj_num++;
}
break; break;
case "circle": case "circle":
if (element.getAttribute('r') == 0) { keep = (element.getAttribute('r') != 0);
element.parentNode.removeChild(element);
element = null;
} else {
element.setAttribute("opacity", current_opacity);
obj_num++;
}
break; break;
case "ellipse": case "ellipse":
if (element.getAttribute('rx') == 0 && keep = (element.getAttribute('rx') != 0 ||
element.getAttribute('ry') == 0) { element.getAttribute('ry') != 0);
element.parentNode.removeChild(element);
element = null;
} else {
element.setAttribute("opacity", current_opacity);
obj_num++;
}
break; break;
case "fhellipse": case "fhellipse":
d_attr = null;
element.parentNode.removeChild(element);
if ((freehand_max_x - freehand_min_x) > 0 && if ((freehand_max_x - freehand_min_x) > 0 &&
(freehand_max_y - freehand_min_y) > 0) { (freehand_max_y - freehand_min_y) > 0) {
addSvgElementFromJson({ addSvgElementFromJson({
@@ -390,12 +360,9 @@ function SvgCanvas(doc)
"fill-opacity": current_fill_opacity "fill-opacity": current_fill_opacity
} }
}); });
obj_num++;
} }
break; break;
case "fhrect": case "fhrect":
d_attr = null;
element.parentNode.removeChild(element);
if ((freehand_max_x - freehand_min_x) > 0 && if ((freehand_max_x - freehand_min_x) > 0 &&
(freehand_max_y - freehand_min_y) > 0) { (freehand_max_y - freehand_min_y) > 0) {
addSvgElementFromJson({ addSvgElementFromJson({
@@ -415,11 +382,16 @@ function SvgCanvas(doc)
"fill-opacity": current_fill_opacity "fill-opacity": current_fill_opacity
} }
}); });
obj_num++;
} }
break; break;
} }
if (element != null) { d_attr = null;
obj_num++;
if (!keep) {
element.parentNode.removeChild(element);
element = null;
} else if (element != null) {
element.setAttribute("opacity", current_opacity);
cleanupElement(element); cleanupElement(element);
} }
} }