Commit Graph

293 Commits

Author SHA1 Message Date
Eric Rowell
02c6c7276f continued prep work for v4.0.0. removed detectionType property because new event engine uses one strategy. added new drawBuffer method so that you can redraw the buffer without redrawing the visible canvas. changed alpha to opacity. 2012-08-13 23:06:29 -07:00
Eric Rowell
ef14edede3 major refactoring of the event engine to better support new hit detection strategy 2012-08-11 23:14:49 -07:00
Eric Rowell
468f8ef2d3 checking in first phase of new hit detection algo, which enables high performance event detections even if there are hundreds of thousands of shapes. This is a giant improvement over the previous algo, and is a fairly big architectural change. Since the Animation architecture and API is also changing, I feel that these changes are big enough to warrant a new major version, v4.0.0 2012-08-11 16:22:01 -07:00
Eric Rowell
0f1a424840 prototyping back buffer hit detection algo 2012-08-10 22:33:22 -07:00
Eric Rowell
8c147ee2b5 added new performance test in preparation for new hit detection algo investigation 2012-08-10 20:48:42 -07:00
Eric Rowell
e5d195f9b4 temporarily disabled serialization unit tests 2012-08-09 11:13:20 -07:00
Eric Rowell
66ba99f9bc hooked drag and drop into animation engine 2012-08-09 00:01:21 -07:00
Eric Rowell
58cabf8ddc hooked node transitions and sprite animation into new animation API 2012-08-08 23:41:16 -07:00
Eric Rowell
b6db65301c rewrote Animation API to improve flexibility. Animations are no longer tied to the stage. You can now instantiate as many individual animations as you like, and manage them however you like 2012-08-04 00:23:56 -07:00
Eric Rowell
9ad9121259 Kinetic.Animation is now a class that can be instantiated to better represent animation objects. Rather than creating new animation objects and destroying them each time an animation is started and restarted, the same animation obect is now reused, which should help with performance 2012-07-31 23:23:00 -07:00
Eric Rowell
d5eee80c0e changed tempNodes array into a hash to improve performance 2012-07-31 21:35:04 -07:00
Eric Rowell
ed8c5ab6b8 changing the font size now correctly updates the text data 2012-07-31 21:13:25 -07:00
Eric Rowell
b7ac415ea6 transition callback is now executed immediately after final node draw 2012-07-31 21:01:48 -07:00
Eric Rowell
75b20573cd removed plugins directory because Kinetic will be using a configurator in the near future 2012-07-31 20:36:36 -07:00
Eric Rowell
87182d704c fixed bug with stage.remove(layer). layer canvas context is now correctly removed from the dom 2012-07-28 22:16:29 -07:00
Eric Rowell
e69c7a9ac1 moved Path back to the plugins, and added Geometry utility methods to the Path namespace so that they can be called as a utility methods without instantiating a Path shape 2012-07-28 17:37:24 -07:00
Eric Rowell
e82fbfa2b0 decided to move Path back into core 2012-07-28 16:33:18 -07:00
Eric Rowell
4ea094f459 moved path parsing logic to Geometry class 2012-07-28 16:29:37 -07:00
Eric Rowell
9631d6e1bb split up methods from the PathHelper class and moved them to Path and Geometry. Path specific methods went to Path, and general purpose geometric utility methods went to the Geometry utility class. TextPath now inherits methods from Path 2012-07-28 16:08:14 -07:00
Eric Rowell
c4a359cd48 moved drawFunc definition out of the shape initializers as a method to improve space performance 2012-07-28 10:46:16 -07:00
Eric Rowell
5b323bea40 merged with jfollas's TextPath updates, fixed remaining unit, manual, and performance tests, and fixed stroking logic 2012-07-28 09:55:21 -07:00
Eric Rowell
1585cc3620 fixed tests 2012-07-27 18:41:15 -07:00
Eric Rowell
eccd8b7e64 silky smooth animations. got rid of layer and event throttling, and instead created dragThrottling. The dynamic animation frame rates already handles optimized animation drawing, we just needed to add manual throttling to drag and drop. Animations are now very smooth, and drag and drop is still smooth 2012-07-26 23:26:58 -07:00
Eric Rowell
ce3b98ee9c added some performance tweaks and polished up code here and there 2012-07-26 22:58:38 -07:00
Eric Rowell
c26a1ae5d5 merged jfollas's new TextPath shape, and moved non-primative shapes to the plugins folder as shape plugins 2012-07-24 23:18:46 -07:00
Eric Rowell
4410ce9982 fixed bug with fillText in Shape class 2012-07-24 22:34:53 -07:00
Eric Rowell
ebf324484d updated Shape constructor docs 2012-07-23 22:43:04 -07:00
Eric Rowell
5f7b6018fa finally got around to documenting the Node, Group, Stage, Shape, Layer, and Container constructors 2012-07-23 22:39:55 -07:00
Eric Rowell
3997d74317 updated more docs 2012-07-23 00:00:22 -07:00
Eric Rowell
3617d8ef5f updated docs 2012-07-22 23:30:56 -07:00
Eric Rowell
da7429fb7b fixed bug with setSize method in Image object, and tweaked shape caching performance test to demonstrate a 4x drawing performance boost 2012-07-22 17:05:45 -07:00
Eric Rowell
781a2ebe60 fixed a few bugs discovered with integration testing. added some performance tweaks 2012-07-21 21:09:02 -07:00
Eric Rowell
f1cb695e1f you can now cache regions of a node outside of the stage viewport. added more unit tests 2012-07-21 15:38:25 -07:00
Eric Rowell
d74ec8ab06 fixed new bug with stage toDataURL that was introduced with the new Canvas class, and added new filter unit tests 2012-07-21 13:29:22 -07:00
Eric Rowell
4b0b3a2a20 now that things are drawn onto arbitrary canvas elements wrapped with the Canvas class, it's now possible to create temp canvases on the fly, which enables correct-size image filtering, and no limits on node caching 2012-07-19 23:30:59 -07:00
Eric Rowell
c09742c77c formatted pull request 2012-07-18 23:53:28 -07:00
Eric Rowell
d8bbbf6353 new Canvas class to decouple layer and canvas, providing more flexibility. drawing operations now require a canvas object rather than an optional layer which contained a canvas. fixed some transformation issues introduced with a pull request that I pulled in last week 2012-07-18 23:28:45 -07:00
Eric Rowell
20adf7e036 first pass at implementing filters. Still have a lot to work through. 2012-07-17 00:32:26 -07:00
Eric Rowell
384a686740 worked through some synchronous / asynchronous issues with toDataURL and toImage(). stage toDataURL() is now asynchronous, and all other node toDataURLs is still synchronous. toImage() is now asynchronous. Kinetic.Image once again only accepts image objects, and can no longer be instantiated with a data URL or image data due to asynchronous issues. It's much cleaner for the developer to load an image however they like, and then instantiate a Kinetic.Image shape synchronously 2012-07-15 20:12:18 -07:00
Eric Rowell
acc6b6e14e updated unit tests 2012-07-15 00:06:35 -07:00
Eric Rowell
6dc7c685f0 new toImage() method to support node caching 2012-07-14 23:41:16 -07:00
Eric Rowell
2629c1237c cleaned up intersects logic, and added more docs 2012-07-14 18:41:34 -07:00
Eric Rowell
864938ed33 added data url support for Kinetic.Image, and added unit tests 2012-07-14 18:32:00 -07:00
Eric Rowell
4692c51c74 toDataURL() is now synchronous, and works with all nodes, including the stage, layers, groups, and shapes. This also sets things up nicely for node caching. You can now cache anything, including the whole stage, layers, groups, or shapes, manifested as Kinetic Images that were instantiated with data urls 2012-07-14 18:10:37 -07:00
Eric Rowell
d62df7ba5c setup filters. saveImageData can now work for any nodes, including shapes, groups, layers, and the stage. images can now take image data as a parameter. This enables shape caching. New beforeAttrChange event which fires before an attr is changed 2012-07-14 16:25:56 -07:00
Eric Rowell
2548e3c2ef added performance test suite with two sample performance tests 2012-07-14 09:57:21 -07:00
Eric Rowell
5bfcf3ffa8 the stage ids and names hashes are now updated correctly whenever a node's id or name changes 2012-07-13 21:24:38 -07:00
Eric Rowell
9a83d3dfdf on attr change handler eent object now contains oldVal and newVal property 2012-07-13 20:06:28 -07:00
Eric Rowell
d4f03e64b1 removed unecessary regex in Class file which was tripping up the JS minifier 2012-07-11 22:55:18 -07:00
Eric Rowell
780d5568db updated the documentation for all methods to reflect the new inhertiance changes. And yes, if you're curious, it took forever. 2012-07-08 21:56:52 -07:00