Mercurial > hg > camir-aes2014
comparison toolboxes/graph_visualisation/include/graphviz/pack.h @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e9a9cd732c1e |
---|---|
1 /* $Id: pack.h,v 1.17 2009/08/11 21:23:23 erg Exp $ $Revision: 1.17 $ */ | |
2 /* vim:set shiftwidth=4 ts=8: */ | |
3 | |
4 /********************************************************** | |
5 * This software is part of the graphviz package * | |
6 * http://www.graphviz.org/ * | |
7 * * | |
8 * Copyright (c) 1994-2004 AT&T Corp. * | |
9 * and is licensed under the * | |
10 * Common Public License, Version 1.0 * | |
11 * by AT&T Corp. * | |
12 * * | |
13 * Information and Software Systems Research * | |
14 * AT&T Research, Florham Park NJ * | |
15 **********************************************************/ | |
16 | |
17 | |
18 | |
19 #ifndef _PACK_H | |
20 #define _PACK_H 1 | |
21 | |
22 #ifdef __cplusplus | |
23 extern "C" { | |
24 #endif | |
25 | |
26 #include "types.h" | |
27 | |
28 /* Type indicating granularity and method | |
29 * l_undef - unspecified | |
30 * l_node - polyomino using nodes and edges | |
31 * l_clust - polyomino using nodes and edges and top-level clusters | |
32 * (assumes ND_clust(n) unused by application) | |
33 * l_graph - polyomino using computer graph bounding box | |
34 * l_array - array based on graph bounding boxes | |
35 * l_aspect - tiling based on graph bounding boxes preserving aspect ratio | |
36 * l_hull - polyomino using convex hull (unimplemented) | |
37 * l_tile - tiling using graph bounding box (unimplemented) | |
38 * l_bisect - alternate bisection using graph bounding box (unimplemented) | |
39 */ | |
40 typedef enum { l_undef, l_clust, l_node, l_graph, l_array, l_aspect } pack_mode; | |
41 | |
42 #define PK_COL_MAJOR 1 | |
43 #define PK_USER_VALS 2 | |
44 | |
45 typedef unsigned char packval_t; | |
46 | |
47 typedef struct { | |
48 float aspect; /* desired aspect ratio */ | |
49 int sz; /* row/column size size */ | |
50 unsigned int margin; /* margin left around objects, in points */ | |
51 int doSplines; /* use splines in constructing graph shape */ | |
52 pack_mode mode; /* granularity and method */ | |
53 boolean *fixed; /* fixed[i] == true implies g[i] should not be moved */ | |
54 packval_t* vals; /* for arrays, sort numbers */ | |
55 int flags; | |
56 } pack_info; | |
57 #ifdef GVDLL | |
58 #define extern __declspec(dllexport) | |
59 #else | |
60 #define extern | |
61 #endif | |
62 | |
63 /*visual studio*/ | |
64 #ifdef WIN32_DLL | |
65 #ifndef GVC_EXPORTS | |
66 #define extern __declspec(dllimport) | |
67 #endif | |
68 #endif | |
69 /*end visual studio*/ | |
70 | |
71 extern point *putRects(int ng, boxf* bbs, pack_info* pinfo); | |
72 extern int packRects(int ng, boxf* bbs, pack_info* pinfo); | |
73 | |
74 extern point *putGraphs(int, Agraph_t **, Agraph_t *, pack_info *); | |
75 extern int packGraphs(int, Agraph_t **, Agraph_t *, pack_info *); | |
76 extern int packSubgraphs(int, Agraph_t **, Agraph_t *, pack_info *); | |
77 extern int pack_graph(int ng, Agraph_t** gs, Agraph_t* root, boolean* fixed); | |
78 | |
79 extern int shiftGraphs(int, Agraph_t**, point*, Agraph_t*, int); | |
80 | |
81 extern pack_mode getPackMode(Agraph_t * g, pack_mode dflt); | |
82 extern int getPack(Agraph_t *, int not_def, int dflt); | |
83 extern pack_mode getPackInfo(Agraph_t * g, pack_mode dflt, int dfltMargin, pack_info*); | |
84 extern pack_mode getPackModeInfo(Agraph_t * g, pack_mode dflt, pack_info*); | |
85 extern pack_mode parsePackModeInfo(char* p, pack_mode dflt, pack_info* pinfo); | |
86 | |
87 extern int isConnected(Agraph_t *); | |
88 extern Agraph_t **ccomps(Agraph_t *, int *, char *); | |
89 extern Agraph_t **pccomps(Agraph_t *, int *, char *, boolean *); | |
90 extern int nodeInduce(Agraph_t *); | |
91 #undef extern | |
92 #ifdef __cplusplus | |
93 } | |
94 #endif | |
95 #endif |