| | |
| | | |
| | | if(!window.methodDraw) window.methodDraw = function($) { |
| | | var svgCanvas; |
| | | var loadSvgString; |
| | | var Editor = {}; |
| | | var is_ready = false; |
| | | curConfig = { |
| | |
| | | }, |
| | | uiStrings = Editor.uiStrings = { |
| | | common: { |
| | | "ok":"OK", |
| | | "cancel":"Cancel", |
| | | "key_up":"Up", |
| | | "key_down":"Down", |
| | | "key_backspace":"Backspace", |
| | | "key_del":"Del" |
| | | "ok":"确认", |
| | | "cancel":"取消", |
| | | "key_up":"上一步", |
| | | "key_down":"下一步", |
| | | "key_backspace":"返回", |
| | | "key_del":"删除" |
| | | |
| | | }, |
| | | // This is needed if the locale is English, since the locale strings are not read in that instance. |
| | |
| | | "noteTheseIssues": "Also note the following issues: ", |
| | | "unsavedChanges": "There are unsaved changes.", |
| | | "enterNewLinkURL": "Enter the new hyperlink URL", |
| | | "errorLoadingSVG": "错误: 无法读取SVG数据", |
| | | "errorLoadingSVG": "当前没有数据,请绘制SVG数据", |
| | | "URLloadFail": "Unable to load from URL", |
| | | "retrieving": 'Retrieving "%s" ...' |
| | | } |
| | |
| | | Editor.canvas = svgCanvas = new $.SvgCanvas(document.getElementById("svgcanvas"), curConfig); |
| | | Editor.show_save_warning = false; |
| | | Editor.paintBox = {fill: null, stroke:null, canvas:null}; |
| | | var palette = ["#444444", "#482816", "#422C10", "#3B2F0E", "#32320F", |
| | | "#293414", "#1F361B", "#153723", "#0C372C", |
| | | "#083734", "#0E353B", "#1A333F", "#273141", |
| | | "#332D40", "#3E2A3C", "#462735", "#4B252D", |
| | | "#4D2425", "#4C261D", "#666666", "#845335", "#7B572D", |
| | | "#6F5C2A", "#62612C", "#546433", "#46673D", |
| | | "#396849", "#306856", "#2D6862", "#33666C", |
| | | "#426373", "#535F75", "#645A73", "#74556D", |
| | | "#805064", "#884D58", "#8B4D4B", "#894F3F", |
| | | "#999999", "#C48157", "#B8874D", "#A98E49", "#97944B", |
| | | "#849854", "#729C62", "#619E73", "#559E84", |
| | | "#529D94", "#5B9BA2", "#6D97AB", "#8391AE", |
| | | "#9A8AAB", "#AF84A3", "#BF7E96", "#C97A86", |
| | | "#CE7975", "#CC7C65", "#BBBBBB", "#FFB27C", "#FABA6F", |
| | | "#E6C36A", "#CFCA6D", "#B8D078", "#A0D58A", |
| | | "#8CD79F", "#7DD8B5", "#7AD6CA", "#84D3DB", |
| | | "#9ACEE6", "#B6C7EA", "#D3BEE7", "#EDB6DC", |
| | | "#FFAFCC", "#FFAAB8", "#FFA9A2", "#FFAC8D", |
| | | "#DDDDDD", "#FFE7A2", "#FFF093", "#FFFA8D", "#FFFF91", |
| | | "#EEFF9F", "#D1FFB4", "#B9FFCE", "#A8FFE9", |
| | | "#A4FFFF", "#B1FFFF", "#CBFFFF", "#EDFFFF", |
| | | "#FFF5FF", "#FFEBFF", "#FFE2FF", "#FFDCEC", |
| | | "#FFDBD2", "#FFDFB8" |
| | | ], |
| | | var palette =[], |
| | | isMac = (navigator.platform.indexOf("Mac") >= 0), |
| | | isWebkit = (navigator.userAgent.indexOf("AppleWebKit") >= 0), |
| | | modKey = (isMac ? "meta+" : "ctrl+"), // ⌘ |
| | |
| | | if (is_background) picker = 'canvas' |
| | | // var opacity = (picker == 'stroke' ? $('#stroke_opacity') : $('#fill_opacity')); |
| | | var paint = Editor.paintBox[picker].paint; |
| | | |
| | | var title = (picker == 'stroke' ? 'Pick a Stroke Paint and Opacity' : 'Pick a Fill Paint and Opacity'); |
| | | var was_none = false; |
| | | var pos = is_background ? {'right': 175, 'top': 50} : {'left': 50, 'bottom': 50} |
| | | |
| | | $("#color_picker") |
| | | .draggable({cancel:'.jGraduate_tabs, .jGraduate_colPick, .jGraduate_gradPick, .jPicker', containment: 'window'}) |
| | | .removeAttr("style") |
| | | .css(pos) |
| | | .jGraduate( |
| | | { |
| | | paint: paint, |
| | | window: { pickerTitle: title }, |
| | | images: { clientPath: curConfig.jGraduatePath }, |
| | | newstop: 'inverse' |
| | | }, |
| | | function(p) { |
| | | paint = new $.jGraduate.Paint(p); |
| | | |
| | | Editor.paintBox[picker].setPaint(paint); |
| | | svgCanvas.setPaint(picker, paint); |
| | | |
| | | $('#color_picker').hide(); |
| | | }, |
| | | function(p) { |
| | | $('#color_picker').hide(); |
| | | }); |
| | | // $("#color_picker") |
| | | // .draggable({cancel:'.jGraduate_tabs, .jGraduate_colPick, .jGraduate_gradPick, .jPicker', containment: 'window'}) |
| | | // .removeAttr("style") |
| | | // .css(pos) |
| | | // .jGraduate( |
| | | // { |
| | | // paint: paint, |
| | | // window: { pickerTitle: title }, |
| | | // images: { clientPath: curConfig.jGraduatePath }, |
| | | // newstop: 'inverse' |
| | | // }, |
| | | // function(p) { |
| | | // paint = new $.jGraduate.Paint(p); |
| | | // |
| | | // Editor.paintBox[picker].setPaint(paint); |
| | | // svgCanvas.setPaint(picker, paint); |
| | | // |
| | | // $('#color_picker').hide(); |
| | | // }, |
| | | // function(p) { |
| | | // $('#color_picker').hide(); |
| | | // }); |
| | | }; |
| | | |
| | | var PaintBox = function(container, type) { |
| | |
| | | // set up gradients to be used for the buttons |
| | | var svgdocbox = new DOMParser().parseFromString( |
| | | '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150"><rect width="100%" height="100%"\ |
| | | fill="#' + cur.color + '" opacity="' + cur.opacity + '"/>\ |
| | | fill="none" opacity="' + cur.opacity + '"/>\ |
| | | <defs><linearGradient id="gradbox_"/></defs></svg>', 'text/xml'); |
| | | var docElem = svgdocbox.documentElement; |
| | | // docElem.setAttribute('viewBox', '0 0 150 150') |
| | | docElem = $(container)[0].appendChild(document.importNode(docElem, true)); |
| | | // docElem = $(container)[0].appendChild(document.importNode(docElem, true)); |
| | | if (type === 'canvas') docElem.setAttribute('width',60.5); |
| | | else docElem.setAttribute('width',"100%"); |
| | | |
| | |
| | | $('#resolution').change(function(){ |
| | | var w = $('#canvas_width')[0]; |
| | | var h = $('#canvas_height')[0]; |
| | | console.log(w,h,'www hhh') |
| | | console.log(w.value,h.value,'w.value ww h.value hh') |
| | | if(!this.selectedIndex) { |
| | | $('#resolution_label').html("Custom"); |
| | | $('#resolution_label').html("默认"); |
| | | w.removeAttribute("readonly"); |
| | | w.focus(); |
| | | w.select(); |
| | |
| | | if(success) { |
| | | callback(true); |
| | | } else { |
| | | $.alert(uiStrings.notification.errorLoadingSVG, function() { |
| | | callback(false); |
| | | }); |
| | | // $.alert(uiStrings.notification.errorLoadingSVG, function() { |
| | | // callback(false); |
| | | // }); |
| | | } |
| | | } |
| | | |
| | |
| | | is_ready = true; |
| | | var data = window.parent.document.getElementById("svgContentId").value |
| | | svgCanvas.clear() |
| | | if(data){ |
| | | // if(data){ |
| | | console.log(data,'data data') |
| | | window.methodDraw.loadSvgString(data) |
| | | window.methodDraw.updateCanvas() |
| | | } |
| | | // } |
| | | // alert(data+'inputValue') |
| | | }; |
| | | |