Added new boolean option edgeLabelsUpright which makes edge labels automatically flip over the edge when they are upside-down. Addresses readability aspect of #56.
Extended the drawNode function to include basic image drawing. Adjusted the height and width functions to accommodate natural image dimensions as well as those set with node.data.image.width etc.
* fabiankessler/master:
Render start and stop callbacks for all cases.
Documented that start() is silently ignored if running.
added done callback to renderer start method.
updated copyright year
Rendering can happen on demand (by calling start()) but also when adding/removing nodes and relations. I also need to be informed when rendering starts in my use case. I have a re-arrange button that needs to be toggled whenever rendering is in progress, and with these events it's nice and clean.
When the event callbacks are passed in to the Springy.Renderer start() method only (as in my previous commit) then all the other cases are left out (adding/removing nodes/relations).
The done callback existed in the ForceDirected layout start method, but no one passed that in. Maybe I don't understand how it's meant to be used? Or something was lost on the way with refactorings in springy? Anyway, with this change it's possible to call the Springy.Renderer start() method with a done callback. Please accept it, or document how it's meant to be used. Thanks ;-)
The 2010 made me think that the project was abandoned. Also, arbor.js writes that it's based on springy. Only now that I take a closer look I see that there are recent commits.
* namespace:
Replace references to `window` with `root`
Updated README with namespace
Bump the major version number
Added a top level Springy namespace
* techtonik/master:
Revert mixed argument patch for addNode(), because addNodes() in loadJSON already supports single string argument.
Add JSON load capabilities to Springy.
API change: addNode() now accepts string or Node
Make demo2.html output different from demo.html