|
Graphviz
2.29.20120523.0446
|
00001 /* $Id$ $Revision$ */ 00002 /* vim:set shiftwidth=4 ts=8: */ 00003 00004 /************************************************************************* 00005 * Copyright (c) 2011 AT&T Intellectual Property 00006 * All rights reserved. This program and the accompanying materials 00007 * are made available under the terms of the Eclipse Public License v1.0 00008 * which accompanies this distribution, and is available at 00009 * http://www.eclipse.org/legal/epl-v10.html 00010 * 00011 * Contributors: See CVS logs. Details at http://www.graphviz.org/ 00012 *************************************************************************/ 00013 00014 #ifndef DOTPROCS_H 00015 #define DOTPROCS_H 00016 00017 #ifdef _BEGIN_EXTERNS_ 00018 _BEGIN_EXTERNS_ /* public data */ 00019 #endif 00020 /* tabs at 8, or you're a sorry loser */ 00021 #ifdef __cplusplus 00022 extern "C" { 00023 #endif 00024 00025 #include "aspect.h" 00026 00027 extern void acyclic(Agraph_t *); 00028 extern void allocate_ranks(Agraph_t *); 00029 extern void build_ranks(Agraph_t *, int); 00030 extern void build_skeleton(Agraph_t *, Agraph_t *); 00031 extern void class1(Agraph_t *); 00032 extern void class2(Agraph_t *); 00033 extern void decompose(Agraph_t *, int); 00034 extern void delete_fast_edge(Agedge_t *); 00035 extern void delete_fast_node(Agraph_t *, Agnode_t *); 00036 extern void delete_flat_edge(Agedge_t *); 00037 extern void dot_cleanup(graph_t * g); 00038 extern void dot_layout(Agraph_t * g); 00039 extern void dot_init_node_edge(graph_t * g); 00040 extern void dot_scan_ranks(graph_t * g); 00041 extern void expand_cluster(Agraph_t *); 00042 extern Agedge_t *fast_edge(Agedge_t *); 00043 extern void fast_node(Agraph_t *, Agnode_t *); 00044 extern void fast_nodeapp(Agnode_t *, Agnode_t *); 00045 extern Agedge_t *find_fast_edge(Agnode_t *, Agnode_t *); 00046 extern Agedge_t *find_flat_edge(Agnode_t *, Agnode_t *); 00047 extern void flat_edge(Agraph_t *, Agedge_t *); 00048 extern int flat_edges(Agraph_t *); 00049 extern void install_cluster(Agraph_t *, Agnode_t *, int, nodequeue *); 00050 extern void install_in_rank(Agraph_t *, Agnode_t *); 00051 extern int is_cluster(Agraph_t *); 00052 extern void dot_compoundEdges(Agraph_t *); 00053 extern Agedge_t *make_aux_edge(Agnode_t *, Agnode_t *, double, int); 00054 extern void mark_clusters(Agraph_t *); 00055 extern void mark_lowclusters(Agraph_t *); 00056 extern int mergeable(edge_t * e, edge_t * f); 00057 extern void merge_chain(Agraph_t *, Agedge_t *, Agedge_t *, int); 00058 extern void merge_oneway(Agedge_t *, Agedge_t *); 00059 extern int ncross(Agraph_t *); 00060 extern Agedge_t *new_virtual_edge(Agnode_t *, Agnode_t *, Agedge_t *); 00061 extern int nonconstraint_edge(Agedge_t *); 00062 extern void other_edge(Agedge_t *); 00063 extern void rank1(graph_t * g); 00064 extern int portcmp(port p0, port p1); 00065 extern int ports_eq(edge_t *, edge_t *); 00066 extern void rec_reset_vlists(Agraph_t *); 00067 extern void rec_save_vlists(Agraph_t *); 00068 extern void reverse_edge(Agedge_t *); 00069 extern void safe_other_edge(Agedge_t *); 00070 extern void save_vlist(Agraph_t *); 00071 extern void unmerge_oneway(Agedge_t *); 00072 extern Agedge_t *virtual_edge(Agnode_t *, Agnode_t *, Agedge_t *); 00073 extern Agnode_t *virtual_node(Agraph_t *); 00074 extern void virtual_weight(Agedge_t *); 00075 extern void zapinlist(elist *, Agedge_t *); 00076 00077 #if defined(_BLD_dot) && defined(_DLL) 00078 # define extern __EXPORT__ 00079 #endif 00080 extern void dot_concentrate(Agraph_t *); 00081 extern void dot_mincross(Agraph_t *, int); 00082 extern void dot_position(Agraph_t *, aspect_t*); 00083 extern void dot_rank(Agraph_t *, aspect_t*); 00084 extern void dot_sameports(Agraph_t *); 00085 extern void dot_splines(Agraph_t *); 00086 #undef extern 00087 00088 #ifdef _END_EXTERNS_ 00089 _END_EXTERNS_ 00090 #endif 00091 #ifdef __cplusplus 00092 } 00093 #endif 00094 #endif
1.7.5