Merge pull request #21 from yak1ex/missing_include_path_for_cmd_edgepaint
Add missing include path lib/common for cmd/edgepaint.
Odd that configure on linux and osx automatically adds -Ilib/common. I guess the cyqwin processing is different. In any case, it is a benign change and makes dependencies more explicit.
Add (undocumented) prototype implementation of edge labels that align
with the edge. This only works with ordinary labels; only in svg; there
is no handling of space or geometry issues.
Emden R. Gansner [Thu, 27 Mar 2014 16:49:39 +0000 (12:49 -0400)]
Replace scaling from overlap=scale, and make it a general option
before overlap removal. Thus, we remove the special-purpose code
from twopi. In time, this might take on the semantics of overlap_scaling.
Emden R. Gansner [Tue, 25 Mar 2014 13:50:01 +0000 (09:50 -0400)]
Simplify gvusershape_find();
fix bug 2425. With the use of cgraph, the strings used in attributes are attached to
the root graph, so file name pointers being stored in the image cache are no longer
valid when the graph is deleted. The image cache needs to use the global string cache.
As this could lead to many unsed image cache items, we might consider limiting the cache
size, or starting afresh with each new graph.
Emden R. Gansner [Tue, 25 Mar 2014 13:42:05 +0000 (09:42 -0400)]
Fix for bug 2425 is incorrect. First, the users' graph should never cause
the code to enter the if (ND_shape(n)->usershape) {} block, as the nodes
just use the image attribute. Second, the logic fails to handle the case
of postscript library shapes.
Emden R. Gansner [Fri, 21 Mar 2014 13:39:59 +0000 (09:39 -0400)]
Fix gvpr.h to provide definition for ssize_t for Windows;
we removed use of ast_common.h which we don't export, so for
unix systems we assume everyone uses the system's ssize_t.
Emden R. Gansner [Wed, 19 Mar 2014 14:20:59 +0000 (10:20 -0400)]
Modify dot to using packing rather than the built-in component handling, which
places all the components on a single row;
as a side-effect, parameterize dot_layout to distinguish between the absolute root graph
(for various parameters) and the local root used for layout, which will hold the various
rank information.
Emden R. Gansner [Wed, 19 Mar 2014 14:18:21 +0000 (10:18 -0400)]
Add function for finding connected components using both edges and clusters;
remove unused code;
combine dfs functions, using structure of functions to tailor semantics.
We try to make a multi spline when there are multiple edges between two
nodes. We only make create this multi spline for the leader of these
edges.
If the leader already has a spline set and we are supposed to use given
splines (Nop > 1), then no multi spline will be created at all,
also not for other splines.
So we don't include these splines in the search for equivalent edges.
There seem to be cases where edges don't get a position in the layout.
Not sure where this bug is exactly, but we should give a warning,
rather than crash completely.
Emden R. Gansner [Mon, 10 Mar 2014 19:28:48 +0000 (15:28 -0400)]
Remove remnants of dpi use in svg output; all output should be based on
device-independent unit of points. It is the role of the svg viewer to
correctly handle point to pixel conversion.
Further processing of Yifan's edge painting code: add copyright notice
to new source files and #ifndefs to .h files;
update gvmap to use color_schemes;
pull valid color scheme name test from main programs and make a function
in the color_palette library.