Commit Graph

132 Commits

Author SHA1 Message Date
Eric Rowell
30fd5c1fa7 greatly improved sprite animation performance by hooking into the global animation object 2012-07-07 21:39:03 -07:00
Eric Rowell
a8ab9a2533 implemented clone method (inspired by matteo78) and added thorough unit tests 2012-07-07 14:43:12 -07:00
Eric Rowell
9baaee2440 getIntersections no longer returns visible shapes in the result set, and can also be called from any container 2012-07-06 21:45:18 -07:00
Eric Rowell
de7cab4cf3 moved animation logic into Animation.js. Global.js now only contains logic and properties that operate on stages 2012-07-03 23:00:52 -07:00
Eric Rowell
6126c73a84 moved data type logic into new utility files Type.js and renamed GlobalObject to Global 2012-07-03 22:08:59 -07:00
Eric Rowell
e2e16d49c1 updated serialization/deserialization unit tests 2012-07-01 21:12:52 -07:00
Eric Rowell
caae5a5155 bug fix: ellipse radius change no longer fires duplicate attr change event 2012-07-01 15:30:51 -07:00
Eric Rowell
31566bff13 transition attr updates now fire the attr change event. Fixed problem with root level attrs not being fired when child level attr changed 2012-07-01 00:19:56 -07:00
Eric Rowell
aa4b0955c0 added horizontal align logic back into the Text draw func 2012-06-30 20:05:27 -07:00
Eric Rowell
e279ea30b9 fixed up new Text wrap edge cases. Will add a bunch of unit tests soon 2012-06-30 19:43:52 -07:00
Eric Rowell
6663b9e612 first pass at implementing auto word wrap. Still have a few edge cases to cover. Removed vertical align property as it is no longer relevant 2012-06-30 00:40:54 -07:00
Eric Rowell
07ef653441 completely rewrote the Text shape. Kinetic.Text is now a Group that's composed of a Rect and a custom shape that draws text. align and vertical align now apply to the text alignment inside the text box. box rounded corners are now possible since Text uses Rect. Shadow logic improved. Beefed up the text getter and setter unit tests 2012-06-27 19:50:32 -07:00
Eric Rowell
3b6dffe6e1 refactored Image event bindings and fixed radial gradient bug 2012-06-24 13:39:36 -07:00
Eric Rowell
a8c09516ba trying out Image extending Rect so that Image has Rect properties and methods such as corner radius 2012-06-24 12:44:08 -07:00
Eric Rowell
80eb50a708 added new clearBeforeDraw Layer property which enables you to skip canvas clearing before each draw. Added new warn() method to test suite, and added error and warning colorings to the test counter 2012-06-23 16:11:58 -07:00
Eric Rowell
19750782c7 improved drawing speed by 7% by optimizing stroke(), fill(), and several other methods 2012-06-22 19:36:37 -07:00
Eric Rowell
422791a99a cleaned up undefined, null, 0, and '' comparison operators. To unset a attribute, you can now set it to null, 0, or ''. Setting an attribute to undefined will have no effect 2012-06-22 13:15:29 -07:00
Eric Rowell
40a92a9988 added unit tests for Jonathan\'s toJSON() fix 2012-06-21 21:46:52 -07:00
Eric Rowell
5765ab749b converting arguments object into true array for setters, restored the original underscore.js methods, and moved radius conversion logic from the setAttrs method to a radiusChange event listener in Ellipse 2012-06-20 12:55:34 -07:00
Eric Rowell
5679b1fb76 fixed bug with Path dataChange event subscription 2012-06-19 16:26:28 -07:00
Eric Rowell
667ee16aab added more functional tests 2012-06-18 23:52:25 -07:00
Eric Rowell
76c85a639e changed listen property to listening, listen() to setListening(), and isListening() to getListening() for consistency 2012-06-18 23:12:56 -07:00
Eric Rowell
c8d8aa6028 changed draggable() to setDraggable(). added getDraggable(). added more unit tests and functional tests 2012-06-18 22:02:13 -07:00
Eric Rowell
dee78e86e2 added Circle backwards compatibility with Ellipse 2012-06-18 19:09:07 -07:00
Eric Rowell
dc51d95eb1 image fills can now be scaled to simulate image cropping. Now that image fills can be offset and scaled, the Image Shape is now obsolute because any shape can now use regular images or cropped images. 2012-06-17 17:18:49 -07:00
Eric Rowell
fae1ff6cb7 removed Circle shape and replaced it with the more flexible Ellipse shape. If you define the radius with a number, the shape will be a circle. if you define the radius with an x and y component, it will be an oval 2012-06-17 16:50:04 -07:00
Eric Rowell
a49fc610d6 moved several manual tests to the unit test page. Added another functional test. Added warning logs to the functional test framework 2012-06-16 01:21:35 -07:00
Eric Rowell
2455000f5c fixed set fill attr bug which occurred when instantiating the fill with a string color and then setting it later to a fill object such as a gradient or pattern. The fix will apply to any attr which can be a string or object 2012-06-12 09:57:29 -07:00
Eric Rowell
13105969b1 attr change events are now only fired on root level attr changes. changed centerOffset property to offset property for consistency. did additonal refactoring 2012-06-09 16:13:25 -07:00
Eric Rowell
bba1d0ad21 now leveraging the setAttrs method for all setters in Node class. utilizing draggableChange attr event to trigger drag and drop inits 2012-06-09 15:31:25 -07:00
Eric Rowell
9697af530c stage now listens for dimension changes, and updates the DOM dimensions if the widthChange or heightChange event is triggered 2012-06-09 11:24:35 -07:00
Eric Rowell
e64024d3bd refactored attr event change logic a bit. added delete operator in a couple places to fix memory leaks. added better event unit tests. 2012-06-09 10:53:47 -07:00
Eric Rowell
12b61b3621 attr change events are now triggered for any root attr so long as the attr is set with the setAttrs method 2012-06-09 01:47:41 -07:00
Eric Rowell
2cd24309ac first step to exposing event driven architecture. Devs can subscribe to attr change events with the on method. e.g. shape.on('widthChange', function(){...}) 2012-06-08 21:56:33 -07:00
Eric Rowell
440c3ac279 event simulation now correctly bubbles 2012-06-08 20:57:20 -07:00
Jason Follas
f9342cb019 Tab to spaces; fixed tests (i.e., disabled "testonly") 2012-06-06 00:33:29 -04:00
Jason Follas
b61c688a83 Implemented "a", "A". Added unit test for SVG "tiger" path (the canonical SVG example) 2012-06-05 23:56:46 -04:00
Eric Rowell
e842cdf8ac stage setSize() method now converts inputs to integers. added a lot of setSize unit tests 2012-06-02 21:27:26 -07:00
Eric Rowell
91eb4ea371 isVisible() method now takes into account ancestor visibility. This fixes several bugs related to odd event detection behavior with clusters of visible and invisible nodes 2012-06-02 19:12:06 -07:00
Eric Rowell
9f243d4a2e garbage collecting empty arrays in _removeName method to free up space 2012-06-02 00:39:17 -07:00
Eric Rowell
1b333bc800 new simulate() method to simulate node events. e.g. shape.simulate('click') 2012-06-02 00:21:49 -07:00
Eric Rowell
385deb793d remove() method now correctly removes node descendants 2012-06-01 23:56:01 -07:00
Eric Rowell
84e400e0f0 changed commands property to data per Jason's request. This provides a similar nomenclature to the SVG path data property 2012-05-29 21:34:04 -07:00
Jason Follas
59ee010050 Implemented 's' and 'S' 2012-05-29 16:14:58 -04:00
Jason Follas
90364408d7 implemented 'T' and 't'. 2012-05-29 15:22:06 -04:00
Jason Follas
90c07bdaa5 Implemented 'c', 'C', 'q', 'Q' paths 2012-05-29 14:41:23 -04:00
Jason Follas
d0acfb14e1 Added multi-point string handling to the path parser. Added support for 'm' and 'Z'. 2012-05-29 13:49:11 -04:00
Eric Rowell
89370bfee7 fixed bug with setScale method and _isNumber method. Added unit tests 2012-05-28 23:46:40 -07:00
Eric Rowell
9fa7949d27 fixed closePath bug with Path shape, added getters and setters, and added another path unit test 2012-05-28 16:11:43 -07:00
Eric Rowell
3c72f8240b fixed up unit tests 2012-05-28 12:02:02 -07:00