summaryrefslogtreecommitdiffstats
path: root/src/Canvas.cpp
AgeCommit message (Collapse)AuthorFilesLines
2014-01-07Twiddle physics to reduce oscillation.David Robillard1-2/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5291 a436a847-0d15-0410-975c-d299462d15a1
2014-01-04Fix documentation pane.David Robillard1-0/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5256 a436a847-0d15-0410-975c-d299462d15a1
2014-01-04Fix control updating with animated canvas.David Robillard1-0/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5254 a436a847-0d15-0410-975c-d299462d15a1
2014-01-04Make only control inputs controllable by user.David Robillard1-2/+3
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5251 a436a847-0d15-0410-975c-d299462d15a1
2014-01-04Fix select rectangle drag from bottom right to top left.David Robillard1-46/+32
Simplify layout code. Calculate rectangle distance instead of center distance to minimize overlap. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5250 a436a847-0d15-0410-975c-d299462d15a1
2014-01-03Draw and layout performance improvements.David Robillard1-8/+10
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5248 a436a847-0d15-0410-975c-d299462d15a1
2014-01-03Make graph input ports controllable outputs and remove double port kludge.David Robillard1-1/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5247 a436a847-0d15-0410-975c-d299462d15a1
2014-01-03Don't abuse show_label property for vertical/horizontal mode.David Robillard1-16/+15
Don't use g_object_get to get x and y coordinates of items. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5246 a436a847-0d15-0410-975c-d299462d15a1
2013-12-31FDGL: Make repelling forces directionally proportional to area for tighter ↵David Robillard1-1/+1
spacing. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5241 a436a847-0d15-0410-975c-d299462d15a1
2013-12-31FDGL: Increase maximum simulation time to converge faster on larger graphs.David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5238 a436a847-0d15-0410-975c-d299462d15a1
2013-12-31FDGL: Tweak variables for better directional layout.David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5235 a436a847-0d15-0410-975c-d299462d15a1
2013-12-31Fix incorrect port offsets.David Robillard1-3/+17
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5232 a436a847-0d15-0410-975c-d299462d15a1
2013-12-30Fix compiling against Graphviz 2.3*.David Robillard1-43/+51
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5230 a436a847-0d15-0410-975c-d299462d15a1
2013-12-30Fix control sensitivity.David Robillard1-5/+4
Fix controls close to screen edge. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5223 a436a847-0d15-0410-975c-d299462d15a1
2013-12-27Performance improvements.David Robillard1-20/+46
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5214 a436a847-0d15-0410-975c-d299462d15a1
2013-12-21FDGL: Make layout converge and stop chewing CPU when done again.David Robillard1-9/+8
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5191 a436a847-0d15-0410-975c-d299462d15a1
2013-12-20FDGL: Use inverse cubic charge law and tide force to prevent graph explosion.David Robillard1-4/+22
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5190 a436a847-0d15-0410-975c-d299462d15a1
2013-12-19FDGL: Improve flow-directed layout.David Robillard1-36/+62
Allow apps to specify nodes as sources to improve layout. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5185 a436a847-0d15-0410-975c-d299462d15a1
2013-12-18FDGL: Only install layout handler as needed.David Robillard1-13/+39
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5184 a436a847-0d15-0410-975c-d299462d15a1
2013-12-18FDGL: Add slight directional force to push sinks to the right/down.David Robillard1-3/+11
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5183 a436a847-0d15-0410-975c-d299462d15a1
2013-12-18Shorter code.David Robillard1-26/+16
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5182 a436a847-0d15-0410-975c-d299462d15a1
2013-12-18FDGL: Add spring between partners so interface modules line up in Patchage.David Robillard1-5/+21
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5181 a436a847-0d15-0410-975c-d299462d15a1
2013-12-18Futher FDGL performance improvements.David Robillard1-9/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5180 a436a847-0d15-0410-975c-d299462d15a1
2013-12-18FDGL performance improvements.David Robillard1-3/+19
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5179 a436a847-0d15-0410-975c-d299462d15a1
2013-12-18Add experimental (slow) force-directed graph layout to Ganv.David Robillard1-0/+124
This continuously arranges the graph, and the user can drag around nodes to influence the layout which is handy. To try, configure with --no-graphviz --fdgl. Still rough around the edges, in particular detached nodes will fly off into space. Also entirely too slow for production use, will need a more sophisticated data structure for that, so the repel calculation isn't O(n^2). git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5177 a436a847-0d15-0410-975c-d299462d15a1
2013-06-09Fix compilation with --jack-dbus (#917).David Robillard1-0/+6
I don't know why I maintain this or what the point of it is... git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5141 a436a847-0d15-0410-975c-d299462d15a1
2013-06-08Fix sizing for ports with enumeration or integer tag labels.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5123 a436a847-0d15-0410-975c-d299462d15a1
2013-05-31Fix access to invalid parameter in Canvas::zoom_full().David Robillard1-4/+4
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5118 a436a847-0d15-0410-975c-d299462d15a1
2013-03-17Update copyright date.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5088 a436a847-0d15-0410-975c-d299462d15a1
2013-02-09Fix crash when making a connection from a node that is destroyed (#884).David Robillard1-32/+40
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5049 a436a847-0d15-0410-975c-d299462d15a1
2013-02-03Port control performance improvements (further improvement for #879).David Robillard1-3/+3
Only request a redraw, not a full update, where appropriate. Use a raw double instead of GVariant for port control-changed signal. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5045 a436a847-0d15-0410-975c-d299462d15a1
2013-02-02GUI support for integer controls.David Robillard1-1/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5034 a436a847-0d15-0410-975c-d299462d15a1
2013-02-02Fix drag connecting.David Robillard1-0/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@5021 a436a847-0d15-0410-975c-d299462d15a1
2013-01-13Better dot rendering and auto-arrange for graphs with circles.David Robillard1-12/+30
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4955 a436a847-0d15-0410-975c-d299462d15a1
2013-01-13ganv_canvas_destroy => ganv_canvas_clear.David Robillard1-2/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4952 a436a847-0d15-0410-975c-d299462d15a1
2013-01-12Fix selection dash for circles.David Robillard1-1/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4933 a436a847-0d15-0410-975c-d299462d15a1
2013-01-12Fix arrange with circles on the canvas.David Robillard1-5/+12
Add ganv_circle_get_radius(). git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4931 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Improve port control sliders to make it easier to reach minimum / maximum value.David Robillard1-9/+14
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4879 a436a847-0d15-0410-975c-d299462d15a1
2012-12-21Implement item stacking.David Robillard1-1/+0
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4876 a436a847-0d15-0410-975c-d299462d15a1
2012-11-18Disconnect animation signal when canvas is destroyed (fix potential crashes ↵David Robillard1-1/+2
on shutdown). git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4830 a436a847-0d15-0410-975c-d299462d15a1
2012-11-14Fix wonky edge selection behaviour when selecting ports.David Robillard1-26/+45
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4814 a436a847-0d15-0410-975c-d299462d15a1
2012-09-30Redraw edge areas when edges are removed to avoid fragments.David Robillard1-0/+1
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4795 a436a847-0d15-0410-975c-d299462d15a1
2012-09-18Fix full zoom when circles are on the canvas.David Robillard1-10/+16
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4791 a436a847-0d15-0410-975c-d299462d15a1
2012-09-17Add Canvas::remove_edge and allow for_each_edge to be used to remove edges.David Robillard1-2/+14
Add Edge handle_radius accessors. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4777 a436a847-0d15-0410-975c-d299462d15a1
2012-07-26Attach arrows to correct location on ports in Graphviz output.David Robillard1-7/+7
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4563 a436a847-0d15-0410-975c-d299462d15a1
2012-07-26Use Graphviz HTML table support to precisely describe node layouts.David Robillard1-59/+106
Convert to/from graphviz and canvas coordinate units correctly. Arrange canvas precisely to match Graphviz layout. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4562 a436a847-0d15-0410-975c-d299462d15a1
2012-05-23Fix wacky jumping modules problem.David Robillard1-7/+2
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4454 a436a847-0d15-0410-975c-d299462d15a1
2012-05-12Fix node selection so setting "selected" property does the right thing.David Robillard1-5/+5
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4369 a436a847-0d15-0410-975c-d299462d15a1
2012-04-28Round auto-arrange coordinates to nearest integer and spread things out a ↵David Robillard1-2/+2
bit more. git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4291 a436a847-0d15-0410-975c-d299462d15a1
2012-04-26Fix O(n_edges) Canvas::get_edge() to be O(lg(n_nodes)).David Robillard1-17/+17
git-svn-id: http://svn.drobilla.net/lad/trunk/ganv@4275 a436a847-0d15-0410-975c-d299462d15a1