From a16a490f5e41f80a5c092ab542c98f5053d718a3 Mon Sep 17 00:00:00 2001 From: Luis Aguirre Date: Thu, 7 Feb 2013 13:57:55 +0000 Subject: [PATCH] Adding Padding extension for tablet/mobile devices git-svn-id: http://svg-edit.googlecode.com/svn/trunk@2333 eee81c28-f429-11dd-99c0-75d572ba1ddd --- editor/extensions/ext-panning.js | 68 +++++++++++++++++++++++++++++++ editor/extensions/ext-panning.xml | 7 ++++ 2 files changed, 75 insertions(+) create mode 100644 editor/extensions/ext-panning.js create mode 100644 editor/extensions/ext-panning.xml 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 @@ + + + + + + +