diff --git a/editor/extensions/ext-imagelib.js b/editor/extensions/ext-imagelib.js new file mode 100644 index 00000000..074eca5f --- /dev/null +++ b/editor/extensions/ext-imagelib.js @@ -0,0 +1,184 @@ +/* + * ext-imagelib.js + * + * Licensed under the Apache License, Version 2 + * + * Copyright(c) 2010 Alexis Deveria + * + */ + +svgEditor.addExtension("imagelib", function() { + + var img_libs = [{ + name: 'Demo library (local)', + url: 'extensions/imagelib/index.html', + description: 'Demonstration library for SVG-edit on this server' + }, + { + name: 'Demo library (external)', + url: 'http://a.deveria.com/tests/clip-art/', + description: 'Demonstration library for SVG-edit on another domain' + }, + ]; + + + function closeBrowser() { + $('#imgbrowse_holder').hide(); + } + + window.addEventListener("message", function(evt) { + // Receive postMessage data + var response = evt.data; + + if(!response) { + $.alert('No data was given', closeBrowser); + return; + } + + var char1 = response.charAt(0); + + switch (char1) { + case '<': + svgEditor.loadFromString(response); + break; + case 'd': + if(response.indexOf('data:') === 0) { + svgEditor.loadFromDataURI(response); + break; + } + // Else fall through + default: + $.alert('Unexpected data was returned', closeBrowser); + return; + } + + closeBrowser(); + + }, true); + + + function showBrowser() { + var browser = $('#imgbrowse'); + if(!browser.length) { + $('
\ +
').insertAfter('#svg_docprops'); + browser = $('#imgbrowse'); + + var all_libs = 'Select an image library'; + + var lib_opts = $('