Added new Script Repository manager, allowing and encouraging user scripts to be located outside of the Scriptographer folder, and to be organised by project.
Renamed tool.distanceThreshold to tool.minDstance and added tool.maxDistance as the often requested upper distance threshold for event callback when moving the mouse fast. The code produces 'fake' mouse events between the last point and the current point if the speed was higher than maxDistance allows. Also added tool.fixedDistance as a short-cut to setting min/maxDistance to the same value and also receiving it if they are both fixed to the same value. tool.distanceThreshold is still supported too but deprecated and will eventually disappear.
Added many new Component types to Palette and visually improve Palette layout and Component organisation:
- 'font' and 'color', offering simple access to font and color choosers.
- 'text' for static text.
- 'ruler' for separators between components, optionally with a label
- 'menu-entry' and 'menu-separator', offering a way to make popup menus at the top right corner of the palette.
Added a way for Palette to automatically and efficiently update whenever a property in the values object changes that is passed to it on creation.
Added access to the created Palette Components through the components object that is passed to the Palette constructor on creation. Components can be disabled and enabled again, hidden and shown, list options can be changed, etc.
Added support for proper and faster native timers and fixed issues to allow code executed by timers to modify the documents without causing memory issues and eventually leading to crashes. This opens the door to a whole new category of animation based scripts.
Changed policy regarding closing palettes and killing timers when executing scripts to the default policy of only allowing one running script at a time. If a script would like to keep running beyond that, it can set script.keepAlive to true.
Cleaned up Examples scripts and added a few new ones, serving as better examples for starting points to writing your own scripts.
Added a method to determine the maximum heap memory available on Windows to avoid allocation of too much memory when creating the virtual machine. This should solve an issue recently introduced in JRE Version 6 Update 20 that prevented Scriptographer from starting.
Fixed issues with typing of dead chars on Windows. This should once and for all solve all issues of not being able to type into text items correctly.
Fixed various issues with getting and setting the selection state of segment point and handles through point.selected.
Made keyEvent.keyCode to actually return a key code string constant instead of a meaningless number.