diff --git a/editor/extensions/ext-panning.js b/editor/extensions/ext-panning.js new file mode 100644 index 00000000..398ce644 --- /dev/null +++ b/editor/extensions/ext-panning.js @@ -0,0 +1,68 @@ +/* + * ext-panning.js + * + * Licensed under the MIT License + * + * Copyright(c) 2010 Alexis Deveria + * + */ + +/* + This is a very basic SVG-Edit extension. It adds a "Hello World" button in + the left panel. Clicking on the button, and then the canvas will show the + user the point on the canvas that was clicked on. +*/ + +svgEditor.addExtension("ext-panning", function() { + + return { + name: "Extension Panning", + // For more notes on how to make an icon file, see the source of + // the hellorworld-icon.xml + svgicons: "extensions/ext-panning.xml", + + // Multiple buttons can be added in this array + buttons: [{ + // Must match the icon ID in helloworld-icon.xml + id: "ext-panning", + + // This indicates that the button will be added to the "mode" + // button panel on the left side + type: "mode", + + // Tooltip text + title: "Panning", + + // Events + events: { + 'click': function() { + // The action taken when the button is clicked on. + // For "mode" buttons, any other button will + // automatically be de-pressed. + svgCanvas.setMode("ext-panning"); + } + } + }], + // This is triggered when the main mouse button is pressed down + // on the editor canvas (not the tool panels) + mouseDown: function() { + // Check the mode on mousedown + if(svgCanvas.getMode() == "ext-panning") { + svgEditor.setPan(true); + // The returned object must include "started" with + // a value of true in order for mouseUp to be triggered + return {started: true}; + } + }, + + // This is triggered from anywhere, but "started" must have been set + // to true (see above). Note that "opts" is an object with event info + mouseUp: function(opts) { + // Check the mode on mouseup + if(svgCanvas.getMode() == "ext-panning") { + svgEditor.setPan(false); + } + } + }; +}); + diff --git a/editor/extensions/ext-panning.xml b/editor/extensions/ext-panning.xml new file mode 100644 index 00000000..49b873b1 --- /dev/null +++ b/editor/extensions/ext-panning.xml @@ -0,0 +1,7 @@ + + + + + + +