SAVE button
DELETE button



git-svn-id: http://svg-edit.googlecode.com/svn/trunk@6 eee81c28-f429-11dd-99c0-75d572ba1ddd
master
Narendra Sisodiya 2009-02-07 16:02:18 +00:00
parent 196b2b47cf
commit f4c716e365
4 changed files with 55 additions and 40 deletions

View File

@ -39,7 +39,7 @@ function ApplyColorPicker(id , ini_col_hex , fun_var){
function return_str_to_html(str){ function return_str_to_html(str){
//alert("This is svg image in string format \n This will be posted to server \n " + str) alert("This is svg image in string format \n This will be posted to server \n " + str)
//posting the data to server //posting the data to server
//document.getElementById("hidden_svg_data").setAttribute("value", escape(str)); //document.getElementById("hidden_svg_data").setAttribute("value", escape(str));
@ -49,4 +49,3 @@ function return_str_to_html(str){
}); });
} }

View File

@ -1,7 +1,7 @@
<?xml version="1.0" standalone="no"?> <?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xml:space="preserve" id="svg_image" onload="Initialize(evt)" onmouseup="fun_mouseUP(evt)" onmousedown="fun_mouseDOWN(evt)" onmousemove="fun_mouseMOVE(evt)" width="100%" height="100%" version="1.1" <svg xml:space="preserve" id="svg_image" onload="Initialize(evt)" width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<script xlink:href="blanksvg.js" type="text/ecmascript"/> <script xlink:href="blanksvg.js" type="text/ecmascript"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 486 B

After

Width:  |  Height:  |  Size: 391 B

View File

@ -1,4 +1,5 @@
SVGDocument = null; SVGDocument = null;
SVGRoot = null;
var svgns = "http://www.w3.org/2000/svg"; var svgns = "http://www.w3.org/2000/svg";
var d_attr = "" ; var d_attr = "" ;
var signature_started = 0 ; var signature_started = 0 ;
@ -46,7 +47,14 @@ function SVGset_stroke_width(val){
function Initialize(LoadEvent) function Initialize(LoadEvent)
{ {
SVGDocument = LoadEvent.target.ownerDocument SVGDocument = LoadEvent.target.ownerDocument;
SVGRoot = SVGDocument.documentElement ;
var Attr={
"onmouseup":"fun_mouseUP(evt)",
"onmousedown":"fun_mouseDOWN(evt)",
"onmousemove":"fun_mouseMOVE(evt)"
}
assignAttr(SVGRoot,Attr);
} }
@ -54,7 +62,10 @@ SVGDocument = LoadEvent.target.ownerDocument
function fun_mouseUP(evt) function fun_mouseUP(evt)
{ {
signature_started = 0 ;
if (signature_started == 1 )
{
signature_started = 0 ;
switch (current_draw_element) switch (current_draw_element)
{ {
@ -73,7 +84,9 @@ signature_started = 0 ;
break break
case "freehandcircle": case "freehandcircle":
d_attr = 0 ; d_attr = 0 ;
path_num = path_num + 1 ;
var element = SVGDocument.getElementById("path_" + path_num);
element.parentNode.removeChild(element);
create_svg_element_by_json({ create_svg_element_by_json({
"element": "ellipse", "element": "ellipse",
@ -88,9 +101,11 @@ signature_started = 0 ;
"stroke-width": current_draw_element_stroke_width "stroke-width": current_draw_element_stroke_width
} }
}); });
ellipse_num = ellipse_num + 1 ;
break;
}//switch }//switch
}//if
}//function }//function
@ -193,7 +208,12 @@ function fun_mouseDOWN(evt)
"stroke-width": current_draw_element_stroke_width "stroke-width": current_draw_element_stroke_width
} }
}); });
break break
case "delete":
var T=evt.target
if(SVGRoot == evt.target ) return ;
T.parentNode.removeChild(T);
break;
}//switch }//switch
@ -270,6 +290,7 @@ function fun_mouseMOVE(evt)
}//function }//function
function min_of(a ,b){ function min_of(a ,b){
if (a < b ) { return a ;} if (a < b ) { return a ;}
else {return b ;} else {return b ;}
@ -283,28 +304,31 @@ function max_of(a ,b){
function create_svg_element_by_json(data) function create_svg_element_by_json(data)
{ {
var shape = SVGDocument.createElementNS(svgns, data.element); var shape = SVGDocument.createElementNS(svgns, data.element);
for (i in data.Attr) { assignAttr(shape, data.Attr);
shape.setAttributeNS(null, i, data.Attr[i]);
}
SVGDocument.documentElement.appendChild(shape); SVGDocument.documentElement.appendChild(shape);
}//function }//function
function assignAttr(Node,Attr){
for (i in Attr) {
Node.setAttributeNS(null, i, Attr[i]);
}
}//function
function SVGclear_svg() function SVGclear_svg()
{ {
for(var i=1; i<path_num; i++){ for(var i=1; i<path_num; i++){
var element = SVGDocument.getElementById("path_" + i); var element = SVGDocument.getElementById("path_" + i);
if(element != null ) { element.parentNode.removeChild(element); } if(element != null ) { element.parentNode.removeChild(element); }
} }
path_num = 1 ; path_num = 1 ;
} }
var out = "", indent=0;
function SvgToString(elem) function SvgToString(elem , indent)
{ {
out = "" ; var out = "" ;
if (elem) if (elem)
{ {
var attrs = elem.attributes; var attrs = elem.attributes;
@ -331,7 +355,7 @@ function create_svg_element_by_json(data)
for (i=0; i<childs.length; i++) for (i=0; i<childs.length; i++)
{ {
if (childs.item(i).nodeType == 1) // element node .. if (childs.item(i).nodeType == 1) // element node ..
SvgToString(childs.item(i)); out = out + SvgToString(childs.item(i) ,indent);
else if (childs.item(i).nodeType == 3) // text node .. else if (childs.item(i).nodeType == 3) // text node ..
{ {
for (j=0; j<indent; j++) out += " "; for (j=0; j<indent; j++) out += " ";
@ -351,20 +375,11 @@ function create_svg_element_by_json(data)
return out; return out;
} }
function SVGsubmit_svg(){ function SVGsubmit_svg(){
var str = "<?xml version=\"1.0\" standalone=\"no\"?> \
<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \
\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"> \n"
str = str + SvgToString(SVGRoot , 0);
top.return_str_to_html(str);
}
var str = "<?xml version=\"1.0\" standalone=\"no\"?> \
<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \
\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"> \n \<svg width=\"100%\" height=\"100%\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"> \n ";
for(var i=1; i<path_num; i++){
var element = SVGDocument.getElementById("path_" + i);
if(element != null ) { str = str + SvgToString(element);}
}
str = str + "</svg>"
top.return_str_to_html(str);
}

View File

@ -30,10 +30,11 @@
<input type="button" value="path" onclick="window.set_draw_mode('path')"> <input type="button" value="path" onclick="window.set_draw_mode('path')">
<input type="button" value="rect" onclick="window.set_draw_mode('rect')"> <input type="button" value="rect" onclick="window.set_draw_mode('rect')">
<input type="button" value="line" onclick="window.set_draw_mode('line')"> <input type="button" value="line" onclick="window.set_draw_mode('line')">
</br>
<input type="button" value="circle" onclick="window.set_draw_mode('ellipse')"> <input type="button" value="circle" onclick="window.set_draw_mode('ellipse')">
<input type="button" value="freehandcircle" onclick="window.set_draw_mode('freehandcircle')"> <input type="button" value="freehandcircle" onclick="window.set_draw_mode('freehandcircle')">
<input type="button" value="save" onclick="window.submit_svg()"> <input type="button" value="save" onclick="window.submit_svg()">
<input type="button" value="delete" onclick="window.set_draw_mode('delete')">
</br> </br>
Select Stroke Color Select Stroke Color