# include <sys/fpu.h>
#endif
-extern void parse_args(GVC_t * gvc, int argc, char **argv);
-
char *Info[] = {
"dot", /* Program */
VERSION, /* Version */
static void intr(int s)
{
if (G)
- emit_jobs(Gvc, G);
- dotneato_terminate(Gvc);
- exit(1);
+ gvRenderJobs(Gvc, G);
+ exit (gvFreeContext(Gvc));
}
static void fperr(int s)
graph_t *prev = NULL;
Gvc = gvNEWcontext(Info, username());
- parse_args(Gvc, argc, argv);
+ gvParseArgs(Gvc, argc, argv);
#ifndef MSWIN32
signal(SIGUSR1, toggle);
G = create_test_graph();
/* Perform layout and cleanup */
- gvlayout_layout(Gvc, G);
- gvlayout_cleanup(Gvc, G);
+ gvLayoutJobs(Gvc, G); /* take layout engine from command line */
+ gvFreeLayout(Gvc, G);
/* Delete graph */
agclose(G);
} else {
while ((G = next_input_graph())) {
if (prev) {
- gvlayout_cleanup(Gvc, prev);
+ gvFreeLayout(Gvc, prev);
agclose(prev);
}
- gvlayout_layout(Gvc, G);
- emit_jobs(Gvc, G);
+ gvLayoutJobs(Gvc, G); /* take layout engine from command line */
+ gvRenderJobs(Gvc, G);
prev = G;
}
}
- dotneato_terminate(Gvc);
- return 1;
+ return (gvFreeContext(Gvc));
}
Agsym_t *a;
GVC_t *gvc;
- /* set up renderer context */
+ /* set up a graphviz context */
gvc = gvContext();
/* parse command line args - minimally argv[0] sets layout engine */
- parse_args(gvc, argc, argv);
+ gvParseArgs(gvc, argc, argv);
/* Create a simple digraph */
g = agopen("g", AGDIGRAPH);
a = agnodeattr(g, "color", "");
agxset(n, a->index, "red");
- /* Compute a layout */
- gvlayout_layout(gvc, g);
+ /* Compute a layout using layout engine from command line args */
+ gvLayoutJobs(gvc, g);
/* Write the graph according to -T and -o options */
- emit_jobs(gvc, g);
+ gvRenderJobs(gvc, g);
- /* Clean out layout data */
- gvlayout_cleanup(gvc, g);
+ /* Free layout data */
+ gvFreeLayout(gvc, g);
/* Free graph structures */
agclose(g);
- /* Clean up output file and errors */
- dotneato_terminate(gvc);
-
- return 0;
+ /* close output file, free context, and return number of errors */
+ return (gvFreeContext(gvc));
}
GVC_t *gvc;
gvc = gvContext();
- parse_args(gvc, argc, argv);
+ gvParseArgs(gvc, argc, argv);
while ((g = next_input_graph())) {
if (prev) {
- gvlayout_cleanup(gvc, prev);
+ gvFreeLayout(gvc, prev);
agclose(prev);
}
- gvlayout_layout(gvc, g);
- emit_jobs(gvc, g);
+ gvLayoutJobs(gvc, g);
+ gvRenderJobs(gvc, g);
prev = g;
}
- dotneato_terminate(gvc);
- return 0;
+ return (gvFreeContext(gvc));
}