| Thread Previous • Date Previous • Date Next • Thread Next |
Dear all, the last few days I played with the prototype of a system that is a possible future direction for JessyInk. The system incorporates some features Egor proposed and a few changes that — after having worked on JessyInk for some time — I thought might be beneficial for its future development. The main points I considered were: *) The system should be modular and fairly easy to extend, even for people outside the core team. *) The user interface should be more appealing than what Inkscape can currently offer through its extension mechanism. *) JessyInk should be available and appealing for users of other SVG editing programms as well. The way I chose for the implementation was to incorporate the JavaScript code throughout the document (especially in certain graphical elements) instead of having it all sit in one script node. The idea was that every module could have its icon, which contains the bulk of the code provided by the module (in this way code duplication should be avoided), and then provide any number of key bindings, effects, views, modes and other things. During the initialisation stage, JessyInk calls the init functions of the modules and collects all the key bindings and other elements. The rest is pretty much the same as before, just that the code for effects, views and modes are provided by the modules. Attached to this mail, you should find a first prototype. There are three files, the JessyInk core module, an alert box module (which just shows an alert box with the name of the object calling the function) and a demo where all the parts are put together and wired up. To use the prototype, copy the core module, the alert box module and the key binding found in the alert box module into a new SVG file. Then copy one of the keys (little rectangles with letters in it) from the alert box module into the new file as well. You can change the letter to any letter you like or copy the key to assign two key to the alert box event. Once you have your keys, just group them with the key binding object to assign them. Open in Firefox and see if it works :-) Hope you'll have fun! Let me know what you think about it! Cheers, Hannes
Attachment:
AlertBox.svg
Description: image/svg
Attachment:
Demo.svg
Description: image/svg
Attachment:
JessyInk.svg
Description: image/svg
| Thread Previous • Date Previous • Date Next • Thread Next |