* Added a new `drawPath()` method for creating complex paths much more easily. See the docs for details. * Rewrote the inheritance model to make jCanvas layers much smaller and more memory-efficient. You can enable this new model by setting `$.jCanvas.future.inheritance` to `true`. This will become the default inheritance model in a future release. * Deprecated the poorly-named `jCanvas()` method. Its behavior is ambiguous and is incompatible with the new inheritance model. The method will be removed in a future release. * Fixed a bug which prevented RGBA values from being animatable * Added many more unit tests.
* Added a feature called event hooks; event hooks allow you to bind callbacks to a canvas when an event fires for any layer on that canvas. See the docs for details. * Added an official jCanvas plugins repository. See the new jCanvas Plugins page for details. * Added new `dx` and `dy` event properties for draggable layers, which can be used to detect the change in position when dragging. * Added the following events: `add`, `remove`, `change`, `move`, `animatestart`, `animate`, `animateend`, `stop`, and `delay`. See the docs for details. * The `load` callback for images is now an official jCanvas event and therefore can be used with event hooks. * Added a new `type` property for the plugin API to indicate the type of drawing being drawn. * Added a new drawing type `circle` which is simply an alias to the type `arc`. * Added a new function, `setGlobalProps()`, to the plugin API * Removed the `fireDragGroupEvents` property; events no longer fire for layers that are dragged indirectly. * Fixed a bug affecting layers with `disableEvents` set to `true`. * Fixed a bug affecting the `step` callback for the `animateLayer()` method. * Fixed a bug in which `mouseout` and `mouseover` events would repeatedly (and unintentionally) fire when dragging a layer. * The `dragstart`, `drag`, and `dragstop` now fire before other mouse events (if their respective callbacks are defined, of course).
– Added a new 'cursors' property for more flexibility in applying cursors to jCanvas layers. See the docs for details. – Rewrote the mouseover and mouseout events to be more stable and consistent – Improved drawing across multiple canvases (should be less buggy) – Removed the deprecated 'projection' property
– Added a new drawSlice() method for creating pie charts more easily. The usage for this method can be found in the documentation under the 'Slices' section. – Fixed bug affecting the position of drawings drawn on multiple canvases. – Improved the efficiency of layer animation when multiple properties are being animated – The deprecated font property has been removed. Please use the fontStyle, fontSize, and fontFamily properties instead – Fixed a bug which affected the dragging of a layer if a mouseup callback was present
- Fixed a potential bug where the wrong layer might be dragged - Fixed a bug that triggered the dragstart event on mousedown, even if the layer had not been dragged
…in addition to other improvements - Shapes masked by another shape will no longer be clickable outside of the masked region (this is the correct behavior) - The drawLayers() method now automatically restores any masks that haven't already been restored - Fixed a bug in which the setPixels() method would manipulate the entire canvas even if the a custom width or height was set
Also fixed a bug that caused images to inherit properties of future objects
To fix this, layer methods (such as setLayer(), removeLayer(), etc.) no longer call the drawLayers() method internally. Therefore, developers now must do so manually if they wish to have a change to a layer reflected on the canvas. On a positive note, this gives more control to the developer as to when the canvas is redrawn.
- Fixed a bug that raised an error when using the drawText() method - All jCanvas methods now respect the value of the 'visible' property - Graph functions, drawn using drawGraph(), can now access the given parameters object - There is now only one supported syntax for defining function layers (using the 'fn' property).
- Also updated the build script to automatically generate a git tag for the current version
- Updated build script with some minor changes - Updated the project manifest
- Fixed a bug which delayed the last running animation - Improved efficiency of jCanvas animations - Fixed a bug which restored the canvas unnecessarily for custom jCanvas methods - Added a build script for building and compressing jCanvas - Added a new date-like version number to jCanvas for developers