Commit Graph

73 Commits

Author SHA1 Message Date
Eric Rowell
ff31dcb0ae fixed small bug related to animations - if you called .start() multiple times, multiple animation instances would be created. This wasn't desirable. Also beefed up animation unit tests 2012-04-28 18:33:05 -07:00
Eric Rowell
e8dcb8e584 fixed glitchy flash on transitions when applying multiple transitions to the same node at different times 2012-04-28 17:45:13 -07:00
Eric Rowell
bd17b54aa8 added stage.reset() method so that you can reset the stage to its original state. hooked this in with stage.load() so that the stage starts when a clean slate when loading json 2012-04-28 13:57:43 -07:00
Eric Rowell
9cc380608e fixed drawing bug related to new throttle feature 2012-04-28 13:46:54 -07:00
Eric Rowell
8dce92c2fd introduced new setDefaultAttrs() method which greatly simplifies the logic required inside node constructors. This will also make plugin creation much easier 2012-04-28 12:55:18 -07:00
Eric Rowell
9f6381aef3 stage.setSize() now correctly sets the content node dimensions. Also refactored object and DOM node sizing 2012-04-28 12:23:23 -07:00
Eric Rowell
3200a9063a identified a couple public methods in the global object which are actually private 2012-04-28 11:23:47 -07:00
Eric Rowell
222aea4e2e removed .onContent() and replaced with .getDOM() 2012-04-28 00:07:44 -07:00
Eric Rowell
9fef9e54d9 added new stage.getIntersects() method which allows you to obtain all the shapes that intersect a given point. Also enhanced all methods that require an x or y by allowing either two arguments to be passed in or an object to be passed in. Example foo(100, 50) or foo({x:100, y:50}); 2012-04-27 23:57:01 -07:00
Eric Rowell
192681374d added new selector capability to .get() method. You can now select all nodes by type inside of a container, such as by Shape, Group, or Layer 2012-04-27 22:54:39 -07:00
Eric Rowell
2879c0763f changed isPointInShape() to intersects(). Currently the method accepts a point object, but I may extend this to also accept another shape object 2012-04-27 20:54:49 -07:00
Eric Rowell
78e4022126 made isPointInShape() a public method for the purpose of collision detection 2012-04-15 09:18:30 -07:00
Eric Rowell
df8df63400 refactored setAbsolutePosition() method and Shape _draw method 2012-04-14 16:27:00 -07:00
Eric Rowell
5e46018012 discovered that the slow drag and drop behavior with Google Chrome is only effecting my Windows 7 test machine, not Mac. I've removed the drag and drop optimizing code for now 2012-04-14 12:15:01 -07:00
Eric Rowell
fb9f324cfb exposed absolute positioning logic inside the _prepareDrag method so that developers have access to it via the setAbsolutePosition() method 2012-04-14 10:40:54 -07:00
Eric Rowell
2108736df7 added chrome specific logic to improve the drag and drop performance until the chrome bug is fixed 2012-04-14 10:13:07 -07:00
Eric Rowell
1c8669eb7a undoing optimized drag and drop for now because I added it in due to Google Chrome's latest release which made drag and drop very slow (while other browsers are still fast), and the changes that I made to help work around it were slightly effecting the experience in other browsers. I'll file a ticket with Google Chrome instead 2012-04-14 10:04:17 -07:00
Eric Rowell
b7f14ca821 dynamically set drag time interval to determine the optimal dragging performance. Makes dragging and dropping even smoother and responsive 2012-04-12 21:33:40 -07:00
Eric Rowell
b8516b1b0c moved .get() method to Container so that all containers can use it, not just stage. This allows you to select nodes within other nodes 2012-04-08 21:26:13 -07:00
Eric Rowell
2035d188c8 added hash cleanup logic when nodes are moved from a container. Also added unit tests 2012-04-08 17:37:49 -07:00
Eric Rowell
3c17e59eb0 moved ids and names hashes to the stage level 2012-04-08 11:01:31 -07:00
Eric Rowell
8c70333472 added simple selector support by id (#) or by name (.). Selecting by name is similar to selecting by class in other DOM libraries 2012-04-07 20:32:24 -07:00
Eric Rowell
d3b025254a new getAttrs() method 2012-04-07 18:50:53 -07:00
Eric Rowell
0a94c75e22 decided that the developer should be responsible for setting custom drawing functions, images, and event handlers via selectors rather than a hash map passed into the load() method 2012-04-07 18:40:44 -07:00
Eric Rowell
1a40e50622 finished custom shape serialization with new attrs structure 2012-04-07 15:03:19 -07:00
Eric Rowell
58eb778e9a re-integrated simple serialization and deserialization with new attrs structure 2012-04-07 14:39:31 -07:00
Eric Rowell
ff896a4946 unit tests and functional tests now passing. Next up, re-integrate serialization with new attrs structure 2012-04-07 14:04:15 -07:00
Eric Rowell
6d618b97b5 first phase of new attrs architecture to better represent Node states 2012-04-05 23:48:58 -07:00
Eric Rowell
15bd27562e continued work on serialization/de-serialization 2012-04-05 20:38:12 -07:00
Eric Rowell
350f7b7496 implemented stage.load() which allows you to deserialize a json string 2012-04-05 00:06:00 -07:00
Eric Rowell
bf86dacb59 setup simple serialization 2012-04-04 22:57:36 -07:00
Eric Rowell
f5b6b3c06f fixed _modifyPathContext optimization problem 2012-04-04 20:46:58 -07:00
Eric Rowell
0ac84408e9 fixed bug with mouseout / mouseover events with nodes on the edge of the stage 2012-04-04 20:19:53 -07:00
Eric Rowell
f953e4694f tons of refactoring. Now have separate Transition and Tween classes 2012-04-03 22:23:13 -07:00
Eric Rowell
a6b526ee76 added new animation stop logic 2012-04-03 13:44:48 -07:00
Eric Rowell
d5834c8351 more new transition architecture integration 2012-04-02 22:54:05 -07:00
Eric Rowell
77aea95e7a round 1 of animation + transition rewrite, while combing Xaric's Tween port 2012-04-02 21:03:59 -07:00
Eric Rowell
6ce9d5489c reworked pixel detection. I now require the dev to use shape.save() to save the pixel data for performance reasons 2012-04-01 19:38:30 -07:00
Eric Rowell
313c6a1541 fixed drag and drop bug related to drag constraints and positioned containers. Just needed to move the drag constraint logic after the matrix unravel 2012-04-01 15:59:12 -07:00
Eric Rowell
bdafb3eb25 when node is at the edge of the canvas, and you mouse over the node and then off the canvas, the mouseout handlers for the node are executed 2012-04-01 11:34:22 -07:00
Eric Rowell
86a1337017 fixed bug related to multiple removals of same node 2012-04-01 10:29:16 -07:00
Jason Follas
96659d7299 Revert to previous no-parameter (image/png) behavior if an exception is
encountered while calling canvas toDataURL() with parameters.  See this
forum post: http://www.kineticjs.com/forum/viewtopic.php?f=10&t=423
2012-04-01 11:00:58 -04:00
Eric Rowell
95fabe9160 finished pixel detection algo which can be applied to any Shape. This enables a lot of new functionality, such as image pixel detection, shape border detection, and custom shape detection that isn't drawn with a standard path 2012-04-01 01:08:33 -07:00
Eric Rowell
08e2b74da9 preparing codebase for new pixel detection property 2012-04-01 00:31:02 -07:00
Eric Rowell
9994e8a37e added getSize() method to Stage, Rect, and Image. Also updated unit tests 2012-03-31 00:08:50 -07:00
Eric Rowell
fc743d1442 undid last commit. I pulled in a commit from another fork which makes the isPointInPath extensible, but then realized that this doesn't really have a usage outside of my current path detection algo because the backstage layer needs to be redrawn each time 2012-03-30 22:04:51 -07:00
Yusuf Safak Bayram
79c778ebff added extensible isPointInPath 2012-03-30 21:20:48 -07:00
Eric Rowell
d8c5ca24af added scale save and restore logic to drag and drop operation 2012-03-25 23:56:38 -07:00
Eric Rowell
1f41e931b9 formatted code 2012-03-25 12:46:56 -07:00
Eric Rowell
fbb6d0f706 again reworked the matrix transform logic with drag and drop 2012-03-25 12:45:46 -07:00