30 static void initCList(
clist_t * clist)
46 if (clist->
cnt >= clist->
sz) {
50 clist->
cl[clist->
cnt] = subg;
75 if (!strncmp(
agnameof(subg),
"cluster", 7)) {
80 LEVEL(subg) = LEVEL(parent) + 1;
83 addCluster(clist, subg);
84 mkClusters(subg,
NULL, subg);
87 mkClusters(subg, clist, parent);
97 static void patchwork_init_node(
node_t * n)
99 agset(n,
"shape",
"box");
103 static void patchwork_init_edge(
edge_t * e)
109 static void patchwork_init_node_edge(
graph_t * g)
121 patchwork_init_node(n);
124 patchwork_init_edge(e);
129 static void patchwork_init_graph(
graph_t * g)
135 mkClusters(g,
NULL, g);
136 patchwork_init_node_edge(g);
145 patchwork_init_graph(g);
154 static void patchwork_cleanup_graph(
graph_t * g)
175 patchwork_cleanup_graph(g);
void dotneato_postprocess(Agraph_t *g)
CGRAPH_API void agclean(Agraph_t *g, int kind, char *rec_name)
void patchworkLayout(Agraph_t *g)
#define RALLOC(size, ptr, type)
Agsym_t * agattr(Agraph_t *g, int kind, char *name, char *value)
void gv_cleanup_edge(Agedge_t *e)
CGRAPH_API Agraph_t * agfstsubg(Agraph_t *g)
CGRAPH_API Agraph_t * agroot(void *obj)
CGRAPH_API Agedge_t * agfstout(Agraph_t *g, Agnode_t *n)
CGRAPH_API Agraph_t * agnxtsubg(Agraph_t *subg)
int agset(void *obj, char *name, char *value)
CGRAPH_API Agnode_t * agnxtnode(Agraph_t *g, Agnode_t *n)
CGRAPH_API char * agnameof(void *)
CGRAPH_API Agnode_t * agfstnode(Agraph_t *g)
void patchwork_layout(Agraph_t *g)
void gv_cleanup_node(Agnode_t *n)
CGRAPH_API int agnnodes(Agraph_t *g)
CGRAPH_API void * agbindrec(void *obj, char *name, unsigned int size, int move_to_front)
void setEdgeType(graph_t *g, int dflt)
void patchwork_cleanup(Agraph_t *g)
CGRAPH_API Agedge_t * agnxtout(Agraph_t *g, Agedge_t *e)
#define GD_neato_nlist(g)