You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.2 KiB
80 lines
2.2 KiB
/*globals svgEditor, svgCanvas, $*/ |
|
/*jslint vars: true, eqeq: true*/ |
|
/* |
|
* ext-helloworld.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("Hello World", function() {'use strict'; |
|
|
|
return { |
|
name: "Hello World", |
|
// For more notes on how to make an icon file, see the source of |
|
// the hellorworld-icon.xml |
|
svgicons: svgEditor.curConfig.extPath + "helloworld-icon.xml", |
|
|
|
// Multiple buttons can be added in this array |
|
buttons: [{ |
|
// Must match the icon ID in helloworld-icon.xml |
|
id: "hello_world", |
|
|
|
// This indicates that the button will be added to the "mode" |
|
// button panel on the left side |
|
type: "mode", |
|
|
|
// Tooltip text |
|
title: "Say 'Hello World'", |
|
|
|
// 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("hello_world"); |
|
} |
|
} |
|
}], |
|
// 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() == "hello_world") { |
|
|
|
// 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() == "hello_world") { |
|
var zoom = svgCanvas.getZoom(); |
|
|
|
// Get the actual coordinate by dividing by the zoom value |
|
var x = opts.mouse_x / zoom; |
|
var y = opts.mouse_y / zoom; |
|
|
|
var text = "Hello World!\n\nYou clicked here: " |
|
+ x + ", " + y; |
|
|
|
// Show the text using the custom alert function |
|
$.alert(text); |
|
} |
|
} |
|
}; |
|
}); |
|
|
|
|