mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* src/vcg.h (enum layoutalgorithm): Remove. All uses removed.
(struct node, struct graph): Rename member expand to stretch. All uses changed. (struct graph): Remove member layoutalgorithm. All uses removed. * src/vcg.c (get_layoutalgorithm_str): Remove. All uses removed. * src/vcg_defaults.h (G_STRETCH): Renamed from G_EXPAND. All uses changed. (N_STRETCH): Rename from N_EXPAND. All uses changed.
This commit is contained in:
40
src/vcg.c
40
src/vcg.c
@@ -59,7 +59,7 @@ new_graph (graph *g)
|
||||
g->y = G_Y;
|
||||
g->folding = G_FOLDING;
|
||||
g->shrink = G_SHRINK;
|
||||
g->expand = G_EXPAND;
|
||||
g->stretch = G_STRETCH;
|
||||
|
||||
g->textmode = G_TEXTMODE;
|
||||
g->shape = G_SHAPE;
|
||||
@@ -85,7 +85,6 @@ new_graph (graph *g)
|
||||
|
||||
g->classname = G_CLASSNAME; /* No class name association. */
|
||||
|
||||
g->layoutalgorithm = G_LAYOUTALGORITHM;
|
||||
g->layout_downfactor = G_LAYOUT_DOWNFACTOR;
|
||||
g->layout_upfactor = G_LAYOUT_UPFACTOR;
|
||||
g->layout_nearfactor = G_LAYOUT_NEARFACTOR;
|
||||
@@ -149,7 +148,7 @@ new_node (node *n)
|
||||
n->height = N_HEIGHT; /* Also. */
|
||||
|
||||
n->shrink = N_SHRINK;
|
||||
n->expand = N_EXPAND;
|
||||
n->stretch = N_STRETCH;
|
||||
|
||||
n->folding = N_FOLDING; /* No explicit default value. */
|
||||
|
||||
@@ -274,29 +273,6 @@ get_shape_str (enum shape shape)
|
||||
}
|
||||
}
|
||||
|
||||
static const char *
|
||||
get_layoutalgorithm_str (enum layoutalgorithm layoutalgorithm)
|
||||
{
|
||||
switch (layoutalgorithm)
|
||||
{
|
||||
case normal: return "normal";
|
||||
case maxdepth: return "maxdepth";
|
||||
case mindepth: return "mindepth";
|
||||
case maxdepthslow: return "maxdepthslow";
|
||||
case mindepthslow: return "mindepthslow";
|
||||
case maxdegree: return "maxdegree";
|
||||
case mindegree: return "mindegree";
|
||||
case maxindegree: return "maxindegree";
|
||||
case minindegree: return "minindegree";
|
||||
case maxoutdegree: return "maxoutdegree";
|
||||
case minoutdegree: return "minoutdegree";
|
||||
case minbackward: return "minbackward";
|
||||
case dfs: return "dfs";
|
||||
case tree: return "tree";
|
||||
default: abort (); return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static const char *
|
||||
get_decision_str (enum decision decision)
|
||||
{
|
||||
@@ -559,8 +535,8 @@ output_node (node *n, FILE *fout)
|
||||
|
||||
if (n->shrink != N_SHRINK)
|
||||
fprintf (fout, "\t\tshrink:\t%d\n", n->shrink);
|
||||
if (n->expand != N_EXPAND)
|
||||
fprintf (fout, "\t\texpand:\t%d\n", n->expand);
|
||||
if (n->stretch != N_STRETCH)
|
||||
fprintf (fout, "\t\tstretch:\t%d\n", n->stretch);
|
||||
|
||||
if (n->folding != N_FOLDING)
|
||||
fprintf (fout, "\t\tfolding:\t%d\n", n->folding);
|
||||
@@ -687,8 +663,8 @@ output_graph (graph *g, FILE *fout)
|
||||
|
||||
if (g->shrink != G_SHRINK)
|
||||
fprintf (fout, "\tshrink:\t%d\n", g->shrink);
|
||||
if (g->expand != G_EXPAND)
|
||||
fprintf (fout, "\texpand:\t%d\n", g->expand);
|
||||
if (g->stretch != G_STRETCH)
|
||||
fprintf (fout, "\tstretch:\t%d\n", g->stretch);
|
||||
|
||||
if (g->textmode != G_TEXTMODE)
|
||||
fprintf (fout, "\ttextmode:\t%s\n",
|
||||
@@ -761,10 +737,6 @@ output_graph (graph *g, FILE *fout)
|
||||
}
|
||||
}
|
||||
|
||||
if (g->layoutalgorithm != G_LAYOUTALGORITHM)
|
||||
fprintf (fout, "\tlayoutalgorithm:\t%s\n",
|
||||
get_layoutalgorithm_str (g->layoutalgorithm));
|
||||
|
||||
if (g->layout_downfactor != G_LAYOUT_DOWNFACTOR)
|
||||
fprintf (fout, "\tlayout_downfactor:\t%d\n", g->layout_downfactor);
|
||||
if (g->layout_upfactor != G_LAYOUT_UPFACTOR)
|
||||
|
||||
66
src/vcg.h
66
src/vcg.h
@@ -102,26 +102,6 @@ struct infoname
|
||||
struct infoname *next;
|
||||
};
|
||||
|
||||
/* Layout Algorithms which can be found in VCG.
|
||||
Details about each algoithm can be found below. */
|
||||
enum layoutalgorithm
|
||||
{
|
||||
normal,
|
||||
maxdepth,
|
||||
mindepth,
|
||||
maxdepthslow,
|
||||
mindepthslow,
|
||||
maxdegree,
|
||||
mindegree,
|
||||
maxindegree,
|
||||
minindegree,
|
||||
maxoutdegree,
|
||||
minoutdegree,
|
||||
minbackward,
|
||||
dfs,
|
||||
tree
|
||||
};
|
||||
|
||||
/* VCG decision yes/no. */
|
||||
enum decision
|
||||
{
|
||||
@@ -232,18 +212,18 @@ struct node
|
||||
int width;
|
||||
int height;
|
||||
|
||||
/* shrink, expand gives the shrinking and expanding factor of the
|
||||
/* shrink, stretch gives the shrinking and stretching factor of the
|
||||
node. The values of the attributes width, height, borderwidth and
|
||||
the size of the label text is scaled by ((expand=shrink) \Lambda
|
||||
the size of the label text is scaled by ((stretch=shrink) \Lambda
|
||||
100) percent. Note that the actual scale value is determined by the
|
||||
scale value of a node relatively to a scale value of the graph,
|
||||
i.e. if (expand,shrink) = (2,1) for the graph and (expand,shrink)
|
||||
i.e. if (stretch,shrink) = (2,1) for the graph and (stretch,shrink)
|
||||
= (2,1) for the node of the graph, then the node is scaled by the
|
||||
factor 4 compared to the normal size. The scale value can also be
|
||||
specified by scaling: float.
|
||||
Default are 1,1. */
|
||||
int shrink;
|
||||
int expand;
|
||||
int stretch;
|
||||
|
||||
/* folding specifies the default folding of the nodes. The folding k
|
||||
(with k ? 0) means that the graph part that is reachable via edges
|
||||
@@ -542,16 +522,16 @@ struct graph
|
||||
Default value is 0 */
|
||||
int folding;
|
||||
|
||||
/* Shrink, expand gives the shrinking and expanding factor for the
|
||||
graph's representation (default is 1, 1). ((expand=shrink) \Lambda
|
||||
/* Shrink, stretch gives the shrinking and stretching factor for the
|
||||
graph's representation (default is 1, 1). ((stretch=shrink) \Lambda
|
||||
100) is the scaling of the graph in percentage, e.g.,
|
||||
(expand,shrink) = (1,1) or (2,2) or (3,3) : : : is normal size,
|
||||
(expand,shrink) = (1,2) is half size, (expand,shrink) = (2,1) is
|
||||
(stretch,shrink) = (1,1) or (2,2) or (3,3) : : : is normal size,
|
||||
(stretch,shrink) = (1,2) is half size, (stretch,shrink) = (2,1) is
|
||||
double size. For subgraphs, it is also the scaling factor of the
|
||||
summary node. The scaling factor can also be specified by scaling:
|
||||
float (here, scaling 1.0 means normal size). */
|
||||
int shrink;
|
||||
int expand;
|
||||
int stretch;
|
||||
|
||||
/* textmode specifies the adjustment of the text within the border of a
|
||||
summary node. The possibilities are center, left.justify and
|
||||
@@ -678,34 +658,6 @@ struct graph
|
||||
Default id NULL. */
|
||||
struct colorentry *colorentry;
|
||||
|
||||
/* layoutalgorithm chooses different graph layout algorithms
|
||||
Possibilities are maxdepth, mindepth, maxdepthslow, mindepthslow,
|
||||
maxdegree, mindegree, maxindegree, minindegree, maxoutdegree,
|
||||
minoutdegree, minbackward, dfs and tree. The default algorithm tries
|
||||
to give all edges the same orientation and is based on the
|
||||
calculation of strongly connected components. The algorithms that
|
||||
are based on depth first search are faster. While the simple dfs
|
||||
does not enforce additionally constraints, the algorithm maxdepth
|
||||
tries to increase the depth of the layout and the algorithm mindepth
|
||||
tries to increase the wide of the layout. These algorithms are fast
|
||||
heuristics. If they are not appropriate, the algorithms maxdepthslow
|
||||
or mindepthslow also increase the depth or wide, but they are very
|
||||
slow. The algorithm maxindegree lays out the nodes by scheduling the
|
||||
nodes with the maximum of incoming edges first, and minindegree lays
|
||||
out the nodes by scheduling the nodes with the minimum of incoming
|
||||
edges first. In the same manner work the algorithms maxoutdegree and
|
||||
minoutdegree for outgoing edges, and maxdegree and mindegree for the
|
||||
sum of incoming and outgoing edges. These algorithms may have various
|
||||
effects, and can sometimes be used as replacements of maxdepthslow
|
||||
or mindepthslow.
|
||||
|
||||
The algorithm minbackward can be used if the graph is acyclic.
|
||||
The algorithm tree is a specialized method for downward laid out
|
||||
trees. It is much faster on such tree-like graphs and results in a
|
||||
balanced layout.
|
||||
Default is normal. */
|
||||
enum layoutalgorithm layoutalgorithm;
|
||||
|
||||
/* Layout downfactor, layout upfactor, layout nearfactor The layout
|
||||
algorithm partitions the set of edges into edges pointing upward,
|
||||
edges pointing downward, and edges pointing sidewards. The last type
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
# define G_FOLDING 0
|
||||
|
||||
# define G_SHRINK 1
|
||||
# define G_EXPAND 1
|
||||
# define G_STRETCH 1
|
||||
|
||||
# define G_TEXTMODE centered
|
||||
# define G_SHAPE box
|
||||
@@ -129,7 +129,7 @@
|
||||
# define N_HEIGHT -1 /* also. */
|
||||
|
||||
# define N_SHRINK 1
|
||||
# define N_EXPAND 1
|
||||
# define N_STRETCH 1
|
||||
|
||||
# define N_FOLDING -1 /* no explicit default value. */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user