00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _PACK_H
00020 #define _PACK_H 1
00021
00022 #include "render.h"
00023
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 typedef enum { l_undef, l_clust, l_node, l_graph } pack_mode;
00039
00040 typedef struct {
00041 #ifdef UNIMPLEMENTED
00042 float aspect;
00043 #endif
00044 unsigned int margin;
00045 int doSplines;
00046 pack_mode mode;
00047 boolean *fixed;
00048 } pack_info;
00049
00050 extern point *putGraphs(int, Agraph_t **, Agraph_t *, pack_info *);
00051 extern int shiftGraphs(int, Agraph_t **, point *, Agraph_t *, int);
00052 extern int packGraphs(int, Agraph_t **, Agraph_t *, pack_info *);
00053 extern int packSubgraphs(int, Agraph_t **, Agraph_t *, pack_info *);
00054 extern pack_mode getPackMode(Agraph_t * g, pack_mode dflt);
00055 extern int getPack(Agraph_t *, int not_def, int dflt);
00056
00057 extern int isConnected(Agraph_t *);
00058 extern Agraph_t **ccomps(Agraph_t *, int *, char *);
00059 extern Agraph_t **pccomps(Agraph_t *, int *, char *, boolean *);
00060 extern int nodeInduce(Agraph_t *);
00061
00062 #ifdef __cplusplus
00063 }
00064 #endif
00065 #endif