43 clist_append(&list,
NULL);
52 clist_append(clist, subg);
60 assert(clist_size(&list) - 1 <= INT_MAX);
62 if (clist_size(&list) > 1) {
63 clist_shrink_to_fit(&list);
73 agset(n,
"shape",
"box");
static void * gv_calloc(size_t nmemb, size_t size)
void setEdgeType(graph_t *g, int defaultValue)
bool is_a_cluster(Agraph_t *g)
int agnnodes(Agraph_t *g)
Agsym_t * agattr(Agraph_t *g, int kind, char *name, const char *value)
creates or looks up attributes of a graph
int agset(void *obj, char *name, const char *value)
Agedge_t * agfstout(Agraph_t *g, Agnode_t *n)
Agedge_t * agnxtout(Agraph_t *g, Agedge_t *e)
#define GD_neato_nlist(g)
Agnode_t * agnxtnode(Agraph_t *g, Agnode_t *n)
Agnode_t * agfstnode(Agraph_t *g)
void * agbindrec(void *obj, const char *name, unsigned int recsize, int move_to_front)
attaches a new record of the given size to the object
Agraph_t * agfstsubg(Agraph_t *g)
Agraph_t * agnxtsubg(Agraph_t *subg)
#define DEFINE_LIST(name, type)
support for connected components
void patchworkLayout(Agraph_t *g)
void patchwork_cleanup(graph_t *g)
static void patchwork_init_graph(graph_t *g)
static void patchwork_init_node(node_t *n)
static void patchwork_init_node_edge(graph_t *g)
static void patchwork_init_edge(edge_t *e)
static void patchwork_cleanup_graph(graph_t *g)
static void mkClusters(graph_t *g, clist_t *pclist, graph_t *parent)
void patchwork_layout(Agraph_t *g)
void dotneato_postprocess(Agraph_t *g)
void gv_cleanup_edge(Agedge_t *e)
void gv_cleanup_node(Agnode_t *n)