1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /*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);
- }
- }
- };
- });
|