|
|
|
|
@@ -12,8 +12,7 @@
|
|
|
|
|
|
|
|
|
|
(function() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(!window.svgEditor) window.svgEditor = function() {
|
|
|
|
|
if(!window.svgEditor) window.svgEditor = function($) {
|
|
|
|
|
var svgCanvas;
|
|
|
|
|
var Editor = {};
|
|
|
|
|
var is_ready = false;
|
|
|
|
|
@@ -42,7 +41,11 @@
|
|
|
|
|
color: '000000', // solid black
|
|
|
|
|
opacity: 1
|
|
|
|
|
},
|
|
|
|
|
initOpacity: 1
|
|
|
|
|
initOpacity: 1,
|
|
|
|
|
imgPath: 'images/',
|
|
|
|
|
langPath: 'locale/',
|
|
|
|
|
initTool: 'zoom',
|
|
|
|
|
wireframe: false
|
|
|
|
|
},
|
|
|
|
|
uiStrings = {
|
|
|
|
|
'invalidAttrValGiven':'Invalid value given',
|
|
|
|
|
@@ -68,6 +71,8 @@
|
|
|
|
|
|
|
|
|
|
var curPrefs = {}; //$.extend({}, defaultPrefs);
|
|
|
|
|
|
|
|
|
|
Editor.curConfig = curConfig;
|
|
|
|
|
|
|
|
|
|
// Store and retrieve preferences
|
|
|
|
|
$.pref = function(key, val) {
|
|
|
|
|
if(val) curPrefs[key] = val;
|
|
|
|
|
@@ -141,10 +146,9 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Editor.init = function() {
|
|
|
|
|
|
|
|
|
|
(function() {
|
|
|
|
|
// Load config/data from URL if given
|
|
|
|
|
var urldata = $.deparam.querystring();
|
|
|
|
|
var urldata = $.deparam.querystring(true);
|
|
|
|
|
if(!$.isEmptyObject(urldata)) {
|
|
|
|
|
if(urldata.dimensions) {
|
|
|
|
|
urldata.dimensions = urldata.dimensions.split(',');
|
|
|
|
|
@@ -154,6 +158,10 @@
|
|
|
|
|
urldata.bkgd_color = '#' + urldata.bkgd_color;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(urldata.bkgd_color) {
|
|
|
|
|
urldata.bkgd_color = '#' + urldata.bkgd_color;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
svgEditor.setConfig(urldata);
|
|
|
|
|
|
|
|
|
|
var src = urldata.source;
|
|
|
|
|
@@ -172,6 +180,163 @@
|
|
|
|
|
}
|
|
|
|
|
})();
|
|
|
|
|
|
|
|
|
|
$.svgIcons(curConfig.imgPath + 'svg_edit_icons.svg', {
|
|
|
|
|
w:24, h:24,
|
|
|
|
|
id_match: false,
|
|
|
|
|
no_img: true,
|
|
|
|
|
fallback_path: curConfig.imgPath,
|
|
|
|
|
fallback:{
|
|
|
|
|
'new_image':'clear.png',
|
|
|
|
|
'save':'save.png',
|
|
|
|
|
'open':'open.png',
|
|
|
|
|
'source':'source.png',
|
|
|
|
|
'docprops':'document-properties.png',
|
|
|
|
|
'wireframe':'wireframe.png',
|
|
|
|
|
|
|
|
|
|
'undo':'undo.png',
|
|
|
|
|
'redo':'redo.png',
|
|
|
|
|
|
|
|
|
|
'select':'select.png',
|
|
|
|
|
'select_node':'select_node.png',
|
|
|
|
|
'pencil':'fhpath.png',
|
|
|
|
|
'pen':'line.png',
|
|
|
|
|
'square':'square.png',
|
|
|
|
|
'rect':'rect.png',
|
|
|
|
|
'fh_rect':'freehand-square.png',
|
|
|
|
|
'circle':'circle.png',
|
|
|
|
|
'ellipse':'ellipse.png',
|
|
|
|
|
'fh_ellipse':'freehand-circle.png',
|
|
|
|
|
'path':'path.png',
|
|
|
|
|
'text':'text.png',
|
|
|
|
|
'image':'image.png',
|
|
|
|
|
'zoom':'zoom.png',
|
|
|
|
|
|
|
|
|
|
'clone':'clone.png',
|
|
|
|
|
'delete':'delete.png',
|
|
|
|
|
'group':'shape_group.png',
|
|
|
|
|
'ungroup':'shape_ungroup.png',
|
|
|
|
|
'move_top':'move_top.png',
|
|
|
|
|
'move_bottom':'move_bottom.png',
|
|
|
|
|
'to_path':'to_path.png',
|
|
|
|
|
'link_controls':'link_controls.png',
|
|
|
|
|
'reorient':'reorient.png',
|
|
|
|
|
|
|
|
|
|
'align_left':'align-left.png',
|
|
|
|
|
'align_center':'align-center',
|
|
|
|
|
'align_right':'align-right',
|
|
|
|
|
'align_top':'align-top',
|
|
|
|
|
'align_middle':'align-middle',
|
|
|
|
|
'align_bottom':'align-bottom',
|
|
|
|
|
|
|
|
|
|
'go_up':'go-up.png',
|
|
|
|
|
'go_down':'go-down.png',
|
|
|
|
|
|
|
|
|
|
'ok':'save.png',
|
|
|
|
|
'cancel':'cancel.png',
|
|
|
|
|
|
|
|
|
|
'arrow_right':'flyouth.png',
|
|
|
|
|
'arrow_down':'dropdown.gif'
|
|
|
|
|
},
|
|
|
|
|
placement: {
|
|
|
|
|
'#logo':'logo',
|
|
|
|
|
|
|
|
|
|
'#tool_clear div,#layer_new':'new_image',
|
|
|
|
|
'#tool_save div':'save',
|
|
|
|
|
'#tool_open div div':'open',
|
|
|
|
|
'#tool_import div div':'import',
|
|
|
|
|
'#tool_source':'source',
|
|
|
|
|
'#tool_docprops > div':'docprops',
|
|
|
|
|
'#tool_wireframe':'wireframe',
|
|
|
|
|
|
|
|
|
|
'#tool_undo':'undo',
|
|
|
|
|
'#tool_redo':'redo',
|
|
|
|
|
|
|
|
|
|
'#tool_select':'select',
|
|
|
|
|
'#tool_fhpath':'pencil',
|
|
|
|
|
'#tool_line':'pen',
|
|
|
|
|
'#tool_rect,#tools_rect_show':'rect',
|
|
|
|
|
'#tool_square':'square',
|
|
|
|
|
'#tool_fhrect':'fh_rect',
|
|
|
|
|
'#tool_ellipse,#tools_ellipse_show':'ellipse',
|
|
|
|
|
'#tool_circle':'circle',
|
|
|
|
|
'#tool_fhellipse':'fh_ellipse',
|
|
|
|
|
'#tool_path':'path',
|
|
|
|
|
'#tool_text,#layer_rename':'text',
|
|
|
|
|
'#tool_image':'image',
|
|
|
|
|
'#tool_zoom':'zoom',
|
|
|
|
|
|
|
|
|
|
'#tool_clone,#tool_clone_multi,#tool_node_clone':'clone',
|
|
|
|
|
'#layer_delete,#tool_delete,#tool_delete_multi,#tool_node_delete':'delete',
|
|
|
|
|
'#tool_add_subpath':'add_subpath',
|
|
|
|
|
'#tool_move_top':'move_top',
|
|
|
|
|
'#tool_move_bottom':'move_bottom',
|
|
|
|
|
'#tool_topath':'to_path',
|
|
|
|
|
'#tool_node_link':'link_controls',
|
|
|
|
|
'#tool_reorient':'reorient',
|
|
|
|
|
'#tool_group':'group',
|
|
|
|
|
'#tool_ungroup':'ungroup',
|
|
|
|
|
|
|
|
|
|
'#tool_alignleft':'align_left',
|
|
|
|
|
'#tool_aligncenter':'align_center',
|
|
|
|
|
'#tool_alignright':'align_right',
|
|
|
|
|
'#tool_aligntop':'align_top',
|
|
|
|
|
'#tool_alignmiddle':'align_middle',
|
|
|
|
|
'#tool_alignbottom':'align_bottom',
|
|
|
|
|
|
|
|
|
|
'#url_notice':'warning',
|
|
|
|
|
|
|
|
|
|
'#layer_up':'go_up',
|
|
|
|
|
'#layer_down':'go_down',
|
|
|
|
|
'#layerlist td.layervis':'eye',
|
|
|
|
|
|
|
|
|
|
'#tool_source_save,#tool_docprops_save':'ok',
|
|
|
|
|
'#tool_source_cancel,#tool_docprops_cancel':'cancel',
|
|
|
|
|
|
|
|
|
|
'.flyout_arrow_horiz':'arrow_right',
|
|
|
|
|
'.dropdown button, #main_button .dropdown':'arrow_down',
|
|
|
|
|
'#palette .palette_item:first, #fill_bg, #stroke_bg':'no_color'
|
|
|
|
|
},
|
|
|
|
|
resize: {
|
|
|
|
|
'#logo .svg_icon': 32,
|
|
|
|
|
'.flyout_arrow_horiz .svg_icon': 5,
|
|
|
|
|
'.layer_button .svg_icon, #layerlist td.layervis .svg_icon': 14,
|
|
|
|
|
'.dropdown button .svg_icon': 7,
|
|
|
|
|
'#main_button .dropdown .svg_icon': 9,
|
|
|
|
|
'.palette_item:first .svg_icon, #fill_bg .svg_icon, #stroke_bg .svg_icon': 16,
|
|
|
|
|
'.toolbar_button button .svg_icon':16
|
|
|
|
|
},
|
|
|
|
|
callback: function(icons) {
|
|
|
|
|
$('.toolbar_button button > svg, .toolbar_button button > img').each(function() {
|
|
|
|
|
$(this).parent().prepend(this);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Use small icons by default if not all left tools are visible
|
|
|
|
|
var tleft = $('#tools_left');
|
|
|
|
|
var min_height = tleft.offset().top + tleft.outerHeight();
|
|
|
|
|
var size = $.pref('iconsize');
|
|
|
|
|
if(size && size != 'm') {
|
|
|
|
|
svgEditor.setIconSize(size);
|
|
|
|
|
} else if($(window).height() < min_height) {
|
|
|
|
|
// Make smaller
|
|
|
|
|
svgEditor.setIconSize('s');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Look for any missing flyout icons from plugins
|
|
|
|
|
$('.tools_flyout').each(function() {
|
|
|
|
|
var shower = $('#' + this.id + '_show');
|
|
|
|
|
var sel = shower.attr('data-curopt');
|
|
|
|
|
// Check if there's an icon here
|
|
|
|
|
if(!shower.children('svg, img').length) {
|
|
|
|
|
var clone = $(sel).children().clone();
|
|
|
|
|
clone[0].removeAttribute('style'); //Needed for Opera
|
|
|
|
|
shower.append(clone);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
svgEditor.runCallbacks();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Editor.canvas = svgCanvas = new $.SvgCanvas(document.getElementById("svgcanvas"), curConfig);
|
|
|
|
|
|
|
|
|
|
var palette = ["#000000","#202020","#404040","#606060","#808080","#a0a0a0","#c0c0c0","#e0e0e0","#ffffff","#800000","#ff0000","#808000","#ffff00","#008000","#00ff00","#008080","#00ffff","#000080","#0000ff","#800080","#ff00ff","#2b0000","#550000","#800000","#aa0000","#d40000","#ff0000","#ff2a2a","#ff5555","#ff8080","#ffaaaa","#ffd5d5","#280b0b","#501616","#782121","#a02c2c","#c83737","#d35f5f","#de8787","#e9afaf","#f4d7d7","#241c1c","#483737","#6c5353","#916f6f","#ac9393","#c8b7b7","#e3dbdb","#2b1100","#552200","#803300","#aa4400","#d45500","#ff6600","#ff7f2a","#ff9955","#ffb380","#ffccaa","#ffe6d5","#28170b","#502d16","#784421","#a05a2c","#c87137","#d38d5f","#deaa87","#e9c6af","#f4e3d7","#241f1c","#483e37","#6c5d53","#917c6f","#ac9d93","#c8beb7","#e3dedb","#2b2200","#554400","#806600","#aa8800","#d4aa00","#ffcc00","#ffd42a","#ffdd55","#ffe680","#ffeeaa","#fff6d5","#28220b","#504416","#786721","#a0892c","#c8ab37","#d3bc5f","#decd87","#e9ddaf","#f4eed7","#24221c","#484537","#6c6753","#918a6f","#aca793","#c8c4b7","#e3e2db","#222b00","#445500","#668000","#88aa00","#aad400","#ccff00","#d4ff2a","#ddff55","#e5ff80","#eeffaa","#f6ffd5","#22280b","#445016","#677821","#89a02c","#abc837","#bcd35f","#cdde87","#dde9af","#eef4d7","#22241c","#454837","#676c53","#8a916f","#a7ac93","#c4c8b7","#e2e3db","#112b00","#225500","#338000","#44aa00","#55d400","#66ff00","#7fff2a","#99ff55","#b3ff80","#ccffaa","#e5ffd5","#17280b","#2d5016","#447821","#5aa02c","#71c837","#8dd35f","#aade87","#c6e9af","#e3f4d7","#1f241c","#3e4837","#5d6c53","#7c916f","#9dac93","#bec8b7","#dee3db","#002b00","#005500","#008000","#00aa00","#00d400","#00ff00","#2aff2a","#55ff55","#80ff80","#aaffaa","#d5ffd5","#0b280b","#165016","#217821","#2ca02c","#37c837","#5fd35f","#87de87","#afe9af","#d7f4d7","#1c241c","#374837","#536c53","#6f916f","#93ac93","#b7c8b7","#dbe3db","#002b11","#005522","#008033","#00aa44","#00d455","#00ff66","#2aff80","#55ff99","#80ffb3","#aaffcc","#d5ffe6","#0b2817","#16502d","#217844","#2ca05a","#37c871","#5fd38d","#87deaa","#afe9c6","#d7f4e3","#1c241f","#37483e","#536c5d","#6f917c","#93ac9d","#b7c8be","#dbe3de","#002b22","#005544","#008066","#00aa88","#00d4aa","#00ffcc","#2affd5","#55ffdd","#80ffe6","#aaffee","#d5fff6","#0b2822","#165044","#217867","#2ca089","#37c8ab","#5fd3bc","#87decd","#afe9dd","#d7f4ee","#1c2422","#374845","#536c67","#6f918a","#93aca7","#b7c8c4","#dbe3e2","#00222b","#004455","#006680","#0088aa","#00aad4","#00ccff","#2ad4ff","#55ddff","#80e5ff","#aaeeff","#d5f6ff","#0b2228","#164450","#216778","#2c89a0","#37abc8","#5fbcd3","#87cdde","#afdde9","#d7eef4","#1c2224","#374548","#53676c","#6f8a91","#93a7ac","#b7c4c8","#dbe2e3","#00112b","#002255","#003380","#0044aa","#0055d4","#0066ff","#2a7fff","#5599ff","#80b3ff","#aaccff","#d5e5ff","#0b1728","#162d50","#214478","#2c5aa0","#3771c8","#5f8dd3","#87aade","#afc6e9","#d7e3f4","#1c1f24","#373e48","#535d6c","#6f7c91","#939dac","#b7bec8","#dbdee3","#00002b","#000055","#000080","#0000aa","#0000d4","#0000ff","#2a2aff","#5555ff","#8080ff","#aaaaff","#d5d5ff","#0b0b28","#161650","#212178","#2c2ca0","#3737c8","#5f5fd3","#8787de","#afafe9","#d7d7f4","#1c1c24","#373748","#53536c","#6f6f91","#9393ac","#b7b7c8","#dbdbe3","#11002b","#220055","#330080","#4400aa","#5500d4","#6600ff","#7f2aff","#9955ff","#b380ff","#ccaaff","#e5d5ff","#170b28","#2d1650","#442178","#5a2ca0","#7137c8","#8d5fd3","#aa87de","#c6afe9","#e3d7f4","#1f1c24","#3e3748","#5d536c","#7c6f91","#9d93ac","#beb7c8","#dedbe3","#22002b","#440055","#660080","#8800aa","#aa00d4","#cc00ff","#d42aff","#dd55ff","#e580ff","#eeaaff","#f6d5ff","#220b28","#441650","#672178","#892ca0","#ab37c8","#bc5fd3","#cd87de","#ddafe9","#eed7f4","#221c24","#453748","#67536c","#8a6f91","#a793ac","#c4b7c8","#e2dbe3","#2b0022","#550044","#800066","#aa0088","#d400aa","#ff00cc","#ff2ad4","#ff55dd","#ff80e5","#ffaaee","#ffd5f6","#280b22","#501644","#782167","#a02c89","#c837ab","#d35fbc","#de87cd","#e9afdd","#f4d7ee","#241c22","#483745","#6c5367","#916f8a","#ac93a7","#c8b7c4","#e3dbe2","#2b0011","#550022","#800033","#aa0044","#d40055","#ff0066","#ff2a7f","#ff5599","#ff80b2","#ffaacc","#ffd5e5","#280b17","#50162d","#782144","#a02c5a","#c83771","#d35f8d","#de87aa","#e9afc6","#f4d7e3","#241c1f","#48373e","#6c535d","#916f7c","#ac939d","#c8b7be","#e3dbde"],
|
|
|
|
|
@@ -179,7 +344,7 @@
|
|
|
|
|
isMac = false, //(navigator.platform.indexOf("Mac") != -1);
|
|
|
|
|
modKey = "", //(isMac ? "meta+" : "ctrl+");
|
|
|
|
|
path = svgCanvas.pathActions,
|
|
|
|
|
default_img_url = "images/logo.png",
|
|
|
|
|
default_img_url = curConfig.imgPath + "logo.png",
|
|
|
|
|
workarea = $("#workarea");
|
|
|
|
|
|
|
|
|
|
// This sets up alternative dialog boxes. They mostly work the same way as
|
|
|
|
|
@@ -424,6 +589,7 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$(this).mouseup(func);
|
|
|
|
|
|
|
|
|
|
if(opts.key) {
|
|
|
|
|
$(document).bind('keydown', {combi: opts.key+'', disableInInput:true}, func);
|
|
|
|
|
}
|
|
|
|
|
@@ -1788,7 +1954,7 @@
|
|
|
|
|
// set language
|
|
|
|
|
var lang = $('#lang_select').val();
|
|
|
|
|
if(lang != curPrefs.lang) {
|
|
|
|
|
put_locale(Editor, lang);
|
|
|
|
|
Editor.putLocale(lang);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// set icon size
|
|
|
|
|
@@ -2774,6 +2940,30 @@
|
|
|
|
|
|
|
|
|
|
Actions.setAll();
|
|
|
|
|
|
|
|
|
|
// Select given tool
|
|
|
|
|
Editor.ready(function() {
|
|
|
|
|
var itool = curConfig.initTool,
|
|
|
|
|
container = $("#tools_left, #svg_editor .tools_flyout"),
|
|
|
|
|
pre_tool = container.find("#tool_" + itool),
|
|
|
|
|
reg_tool = container.find("#" + itool);
|
|
|
|
|
if(pre_tool.length) {
|
|
|
|
|
tool = pre_tool;
|
|
|
|
|
} else if(reg_tool.length){
|
|
|
|
|
tool = reg_tool;
|
|
|
|
|
} else {
|
|
|
|
|
tool = $("#tool_select");
|
|
|
|
|
}
|
|
|
|
|
tool.click().mouseup();
|
|
|
|
|
|
|
|
|
|
if(curConfig.wireframe) {
|
|
|
|
|
$('#tool_wireframe').click();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(curConfig.showlayers) {
|
|
|
|
|
toggleSidePanel();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
$('#rect_rx').SpinButton({ min: 0, max: 1000, step: 1, callback: changeRectRadius });
|
|
|
|
|
$('#stroke_width').SpinButton({ min: 0, max: 99, step: 1, smallStep: 0.1, callback: changeStrokeWidth });
|
|
|
|
|
$('#angle').SpinButton({ min: -180, max: 180, step: 5, callback: changeRotationAngle });
|
|
|
|
|
@@ -2890,7 +3080,7 @@
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// var lang = ('lang' in curPrefs) ? curPrefs.lang : null;
|
|
|
|
|
put_locale(Editor, null, good_langs);
|
|
|
|
|
Editor.putLocale(null, good_langs);
|
|
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
json_encode = function(obj){
|
|
|
|
|
@@ -3021,166 +3211,12 @@
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Editor;
|
|
|
|
|
}();
|
|
|
|
|
|
|
|
|
|
// This process starts before document.ready so the icons appear ASAP
|
|
|
|
|
$.svgIcons('images/svg_edit_icons.svg', {
|
|
|
|
|
w:24, h:24,
|
|
|
|
|
id_match: false,
|
|
|
|
|
no_img: true,
|
|
|
|
|
fallback_path:'images/',
|
|
|
|
|
fallback:{
|
|
|
|
|
'new_image':'clear.png',
|
|
|
|
|
'save':'save.png',
|
|
|
|
|
'open':'open.png',
|
|
|
|
|
'source':'source.png',
|
|
|
|
|
'docprops':'document-properties.png',
|
|
|
|
|
'wireframe':'wireframe.png',
|
|
|
|
|
|
|
|
|
|
'undo':'undo.png',
|
|
|
|
|
'redo':'redo.png',
|
|
|
|
|
|
|
|
|
|
'select':'select.png',
|
|
|
|
|
'select_node':'select_node.png',
|
|
|
|
|
'pencil':'fhpath.png',
|
|
|
|
|
'pen':'line.png',
|
|
|
|
|
'square':'square.png',
|
|
|
|
|
'rect':'rect.png',
|
|
|
|
|
'fh_rect':'freehand-square.png',
|
|
|
|
|
'circle':'circle.png',
|
|
|
|
|
'ellipse':'ellipse.png',
|
|
|
|
|
'fh_ellipse':'freehand-circle.png',
|
|
|
|
|
'path':'path.png',
|
|
|
|
|
'text':'text.png',
|
|
|
|
|
'image':'image.png',
|
|
|
|
|
'zoom':'zoom.png',
|
|
|
|
|
|
|
|
|
|
'clone':'clone.png',
|
|
|
|
|
'delete':'delete.png',
|
|
|
|
|
'group':'shape_group.png',
|
|
|
|
|
'ungroup':'shape_ungroup.png',
|
|
|
|
|
'move_top':'move_top.png',
|
|
|
|
|
'move_bottom':'move_bottom.png',
|
|
|
|
|
'to_path':'to_path.png',
|
|
|
|
|
'link_controls':'link_controls.png',
|
|
|
|
|
'reorient':'reorient.png',
|
|
|
|
|
|
|
|
|
|
'align_left':'align-left.png',
|
|
|
|
|
'align_center':'align-center',
|
|
|
|
|
'align_right':'align-right',
|
|
|
|
|
'align_top':'align-top',
|
|
|
|
|
'align_middle':'align-middle',
|
|
|
|
|
'align_bottom':'align-bottom',
|
|
|
|
|
|
|
|
|
|
'go_up':'go-up.png',
|
|
|
|
|
'go_down':'go-down.png',
|
|
|
|
|
|
|
|
|
|
'ok':'save.png',
|
|
|
|
|
'cancel':'cancel.png',
|
|
|
|
|
|
|
|
|
|
'arrow_right':'flyouth.png',
|
|
|
|
|
'arrow_down':'dropdown.gif'
|
|
|
|
|
},
|
|
|
|
|
placement: {
|
|
|
|
|
'#logo':'logo',
|
|
|
|
|
|
|
|
|
|
'#tool_clear div,#layer_new':'new_image',
|
|
|
|
|
'#tool_save div':'save',
|
|
|
|
|
'#tool_open div div':'open',
|
|
|
|
|
'#tool_import div div':'import',
|
|
|
|
|
'#tool_source':'source',
|
|
|
|
|
'#tool_docprops > div':'docprops',
|
|
|
|
|
'#tool_wireframe':'wireframe',
|
|
|
|
|
|
|
|
|
|
'#tool_undo':'undo',
|
|
|
|
|
'#tool_redo':'redo',
|
|
|
|
|
|
|
|
|
|
'#tool_select':'select',
|
|
|
|
|
'#tool_fhpath':'pencil',
|
|
|
|
|
'#tool_line':'pen',
|
|
|
|
|
'#tool_rect,#tools_rect_show':'rect',
|
|
|
|
|
'#tool_square':'square',
|
|
|
|
|
'#tool_fhrect':'fh_rect',
|
|
|
|
|
'#tool_ellipse,#tools_ellipse_show':'ellipse',
|
|
|
|
|
'#tool_circle':'circle',
|
|
|
|
|
'#tool_fhellipse':'fh_ellipse',
|
|
|
|
|
'#tool_path':'path',
|
|
|
|
|
'#tool_text,#layer_rename':'text',
|
|
|
|
|
'#tool_image':'image',
|
|
|
|
|
'#tool_zoom':'zoom',
|
|
|
|
|
|
|
|
|
|
'#tool_clone,#tool_clone_multi,#tool_node_clone':'clone',
|
|
|
|
|
'#layer_delete,#tool_delete,#tool_delete_multi,#tool_node_delete':'delete',
|
|
|
|
|
'#tool_add_subpath':'add_subpath',
|
|
|
|
|
'#tool_move_top':'move_top',
|
|
|
|
|
'#tool_move_bottom':'move_bottom',
|
|
|
|
|
'#tool_topath':'to_path',
|
|
|
|
|
'#tool_node_link':'link_controls',
|
|
|
|
|
'#tool_reorient':'reorient',
|
|
|
|
|
'#tool_group':'group',
|
|
|
|
|
'#tool_ungroup':'ungroup',
|
|
|
|
|
|
|
|
|
|
'#tool_alignleft':'align_left',
|
|
|
|
|
'#tool_aligncenter':'align_center',
|
|
|
|
|
'#tool_alignright':'align_right',
|
|
|
|
|
'#tool_aligntop':'align_top',
|
|
|
|
|
'#tool_alignmiddle':'align_middle',
|
|
|
|
|
'#tool_alignbottom':'align_bottom',
|
|
|
|
|
|
|
|
|
|
'#url_notice':'warning',
|
|
|
|
|
|
|
|
|
|
'#layer_up':'go_up',
|
|
|
|
|
'#layer_down':'go_down',
|
|
|
|
|
'#layerlist td.layervis':'eye',
|
|
|
|
|
|
|
|
|
|
'#tool_source_save,#tool_docprops_save':'ok',
|
|
|
|
|
'#tool_source_cancel,#tool_docprops_cancel':'cancel',
|
|
|
|
|
|
|
|
|
|
'.flyout_arrow_horiz':'arrow_right',
|
|
|
|
|
'.dropdown button, #main_button .dropdown':'arrow_down',
|
|
|
|
|
'#palette .palette_item:first, #fill_bg, #stroke_bg':'no_color'
|
|
|
|
|
},
|
|
|
|
|
resize: {
|
|
|
|
|
'#logo .svg_icon': 32,
|
|
|
|
|
'.flyout_arrow_horiz .svg_icon': 5,
|
|
|
|
|
'.layer_button .svg_icon, #layerlist td.layervis .svg_icon': 14,
|
|
|
|
|
'.dropdown button .svg_icon': 7,
|
|
|
|
|
'#main_button .dropdown .svg_icon': 9,
|
|
|
|
|
'.palette_item:first .svg_icon, #fill_bg .svg_icon, #stroke_bg .svg_icon': 16,
|
|
|
|
|
'.toolbar_button button .svg_icon':16
|
|
|
|
|
},
|
|
|
|
|
callback: function(icons) {
|
|
|
|
|
$('.toolbar_button button > svg, .toolbar_button button > img').each(function() {
|
|
|
|
|
$(this).parent().prepend(this);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// Use small icons by default if not all left tools are visible
|
|
|
|
|
var tleft = $('#tools_left');
|
|
|
|
|
var min_height = tleft.offset().top + tleft.outerHeight();
|
|
|
|
|
var size = $.pref('iconsize');
|
|
|
|
|
if(size && size != 'm') {
|
|
|
|
|
svgEditor.setIconSize(size);
|
|
|
|
|
} else if($(window).height() < min_height) {
|
|
|
|
|
// Make smaller
|
|
|
|
|
svgEditor.setIconSize('s');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Look for any missing flyout icons from plugins
|
|
|
|
|
$('.tools_flyout').each(function() {
|
|
|
|
|
var shower = $('#' + this.id + '_show');
|
|
|
|
|
var sel = shower.attr('data-curopt');
|
|
|
|
|
// Check if there's an icon here
|
|
|
|
|
if(!shower.children('svg, img').length) {
|
|
|
|
|
var clone = $(sel).children().clone();
|
|
|
|
|
clone[0].removeAttribute('style'); //Needed for Opera
|
|
|
|
|
shower.append(clone);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
svgEditor.runCallbacks();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}(jQuery);
|
|
|
|
|
|
|
|
|
|
// Run init once DOM is loaded
|
|
|
|
|
$(svgEditor.init);
|
|
|
|
|
@@ -3189,16 +3225,17 @@
|
|
|
|
|
|
|
|
|
|
// ?iconsize=s&bkgd_color=555
|
|
|
|
|
|
|
|
|
|
// svgEditor.setConfig({
|
|
|
|
|
// dimensions: [800, 600],
|
|
|
|
|
// canvas_expansion: 5,
|
|
|
|
|
// initStroke: {
|
|
|
|
|
// color: '0000FF',
|
|
|
|
|
// width: 3.5,
|
|
|
|
|
// opacity: .5
|
|
|
|
|
// },
|
|
|
|
|
// initFill: {
|
|
|
|
|
// color: '550000',
|
|
|
|
|
// opacity: .75
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
svgEditor.setConfig({
|
|
|
|
|
// imgPath: 'foo',
|
|
|
|
|
dimensions: [800, 600],
|
|
|
|
|
canvas_expansion: 5,
|
|
|
|
|
initStroke: {
|
|
|
|
|
color: '0000FF',
|
|
|
|
|
width: 3.5,
|
|
|
|
|
opacity: .5
|
|
|
|
|
},
|
|
|
|
|
initFill: {
|
|
|
|
|
color: '550000',
|
|
|
|
|
opacity: .75
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|