diff --git a/editor/base64/Base64.js b/editor/base64/Base64.js deleted file mode 100755 index 86ed8d47..00000000 --- a/editor/base64/Base64.js +++ /dev/null @@ -1,66 +0,0 @@ -// This code was written by Tyler Akins and has been placed in the -// public domain. It would be nice if you left this header intact. -// Base64 code from Tyler Akins -- http://rumkin.com - -var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; - -function encode64(input) { - var output = ""; - var chr1, chr2, chr3; - var enc1, enc2, enc3, enc4; - var i = 0; - - do { - chr1 = input.charCodeAt(i++); - chr2 = input.charCodeAt(i++); - chr3 = input.charCodeAt(i++); - - enc1 = chr1 >> 2; - enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); - enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); - enc4 = chr3 & 63; - - if (isNaN(chr2)) { - enc3 = enc4 = 64; - } else if (isNaN(chr3)) { - enc4 = 64; - } - - output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + - keyStr.charAt(enc3) + keyStr.charAt(enc4); - } while (i < input.length); - - return output; -} - -function decode64(input) { - var output = ""; - var chr1, chr2, chr3; - var enc1, enc2, enc3, enc4; - var i = 0; - - // remove all characters that are not A-Z, a-z, 0-9, +, /, or = - input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); - - do { - enc1 = keyStr.indexOf(input.charAt(i++)); - enc2 = keyStr.indexOf(input.charAt(i++)); - enc3 = keyStr.indexOf(input.charAt(i++)); - enc4 = keyStr.indexOf(input.charAt(i++)); - - chr1 = (enc1 << 2) | (enc2 >> 4); - chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); - chr3 = ((enc3 & 3) << 6) | enc4; - - output = output + String.fromCharCode(chr1); - - if (enc3 != 64) { - output = output + String.fromCharCode(chr2); - } - if (enc4 != 64) { - output = output + String.fromCharCode(chr3); - } - } while (i < input.length); - - return output; -} \ No newline at end of file diff --git a/editor/svg-editor.html b/editor/svg-editor.html index 2628c270..1b44fbe7 100644 --- a/editor/svg-editor.html +++ b/editor/svg-editor.html @@ -8,7 +8,6 @@ - SVG-edit demo diff --git a/editor/svgcanvas.js b/editor/svgcanvas.js index d29bf59c..034b56dc 100644 --- a/editor/svgcanvas.js +++ b/editor/svgcanvas.js @@ -12,7 +12,7 @@ function SvgCanvas(c) svgroot.setAttribute("width", 640); svgroot.setAttribute("height", 480); svgroot.setAttributeNS(null, "id", "svgroot"); - svgroot.setAttribute("xmlns", "http://www.w3.org/2000/svg"); + svgroot.setAttribute("xmlns", svgns); container.appendChild(svgroot); var d_attr = null; @@ -616,7 +616,7 @@ function SvgCanvas(c) this.saveHandler = function(svg) { //alert(svg); - window.open("data:image/svg+xml;base64," + encode64(svg)); + window.open("data:image/svg+xml;base64," + Utils.encode64(svg)); } this.selectNone = function() { @@ -624,3 +624,74 @@ function SvgCanvas(c) } } + +// Static class for various utility functions + +var Utils = {}; + +// This code was written by Tyler Akins and has been placed in the +// public domain. It would be nice if you left this header intact. +// Base64 code from Tyler Akins -- http://rumkin.com + +Utils.keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + +Utils.encode64 = function(input) { + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + + do { + chr1 = input.charCodeAt(i++); + chr2 = input.charCodeAt(i++); + chr3 = input.charCodeAt(i++); + + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + + output = output + Utils.keyStr.charAt(enc1) + Utils.keyStr.charAt(enc2) + + Utils.keyStr.charAt(enc3) + Utils.keyStr.charAt(enc4); + } while (i < input.length); + + return output; +} + +Utils.decode64 = function(input) { + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + + // remove all characters that are not A-Z, a-z, 0-9, +, /, or = + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + + do { + enc1 = Utils.keyStr.indexOf(input.charAt(i++)); + enc2 = Utils.keyStr.indexOf(input.charAt(i++)); + enc3 = Utils.keyStr.indexOf(input.charAt(i++)); + enc4 = Utils.keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 != 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 != 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + + return output; +}