75 |
triangle |
triangle |
76 |
}; |
}; |
77 |
|
|
78 |
|
/* Structure for colorentries. */ |
79 |
|
struct colorentry_s |
80 |
|
{ |
81 |
|
int color_index; |
82 |
|
int red_cp; |
83 |
|
int green_cp; |
84 |
|
int blue_cp; |
85 |
|
struct colorentry_s *next; |
86 |
|
}; |
87 |
|
|
88 |
/* Structure to construct lists of classnames. */ |
/* Structure to construct lists of classnames. */ |
89 |
struct classname_s |
struct classname_s |
90 |
{ |
{ |
91 |
int no; /* Class number */ |
int no; /* Class number */ |
92 |
char *name; /* Name associated to the class no. */ |
const char *name; /* Name associated to the class no. */ |
93 |
struct classname_s *next; /* next name class association. */ |
struct classname_s *next; /* next name class association. */ |
94 |
}; |
}; |
95 |
|
|
96 |
|
/* Structure is in infoname. */ |
97 |
|
struct infoname_s |
98 |
|
{ |
99 |
|
int integer; |
100 |
|
const char *string; |
101 |
|
struct infoname_s *next; |
102 |
|
}; |
103 |
|
|
104 |
/* Layout Algorithms which can be found in VCG. |
/* Layout Algorithms which can be found in VCG. |
105 |
Details about each algoithm can be found below. */ |
Details about each algoithm can be found below. */ |
106 |
enum layoutalgorithm_e |
enum layoutalgorithm_e |
179 |
{ |
{ |
180 |
/* Title the unique string identifying the node. This attribute is |
/* Title the unique string identifying the node. This attribute is |
181 |
mandatory. */ |
mandatory. */ |
182 |
char *title; |
const char *title; |
183 |
|
|
184 |
/* Label the text displayed inside the node. If no label is specified |
/* Label the text displayed inside the node. If no label is specified |
185 |
then the title of the node will be used. Note that this text may |
then the title of the node will be used. Note that this text may |
186 |
contain control characters like NEWLINE that influences the size of |
contain control characters like NEWLINE that influences the size of |
187 |
the node. */ |
the node. */ |
188 |
char *label; |
const char *label; |
189 |
|
|
190 |
/* loc is the location as x, y position relatively to the system of |
/* loc is the location as x, y position relatively to the system of |
191 |
coordinates of the graph. Locations are specified in the form |
coordinates of the graph. Locations are specified in the form |
295 |
/* info2, info3 can be selected from the menu. The corresponding text |
/* info2, info3 can be selected from the menu. The corresponding text |
296 |
labels can be shown by mouse clicks on nodes. |
labels can be shown by mouse clicks on nodes. |
297 |
Default are null strings. */ |
Default are null strings. */ |
298 |
char *infos[3]; |
const char *infos[3]; |
299 |
|
|
300 |
/* Node border color. |
/* Node border color. |
301 |
Default is textcolor. */ |
Default is textcolor. */ |
501 |
index 2, green has index 3, etc. |
index 2, green has index 3, etc. |
502 |
Default is white for background and white or transparent for summary |
Default is white for background and white or transparent for summary |
503 |
nodes. */ |
nodes. */ |
504 |
unsigned char color; |
enum color_e color; |
505 |
|
|
506 |
/* Textcolor. |
/* Textcolor. |
507 |
need explainations ??? |
need explainations ??? |
508 |
defalut is black for summary nodes. */ |
defalut is black for summary nodes. */ |
509 |
unsigned char textcolor; |
enum color_e textcolor; |
510 |
|
|
511 |
/* Bordercolor is the color of the summary node's border. Default color |
/* Bordercolor is the color of the summary node's border. Default color |
512 |
is the textcolor. width, height are width and height of the |
is the textcolor. width, height are width and height of the |
513 |
displayed part of the window of the outermost graph in pixels, or |
displayed part of the window of the outermost graph in pixels, or |
514 |
width and height of the summary node of inner subgraphs. |
width and height of the summary node of inner subgraphs. |
515 |
Default is the defalut of the textcolor. */ |
Default is the defalut of the textcolor. */ |
516 |
unsigned char bordercolor; |
enum color_e bordercolor; |
517 |
|
|
518 |
/* Width, height are width and height of the displayed part of the |
/* Width, height are width and height of the displayed part of the |
519 |
window of the outermost graph in pixels, or width and height of the |
window of the outermost graph in pixels, or width and height of the |
577 |
Defalut is box, other: rhomb, ellipse, triangle. */ |
Defalut is box, other: rhomb, ellipse, triangle. */ |
578 |
enum shape_e shape; |
enum shape_e shape; |
579 |
|
|
580 |
/* FIXME {vertival,horizontal}_order */ |
/* Vertical order is the level position (rank) of the summary node of an |
581 |
|
inner subgraph, if this subgraph is folded. We can also specify |
582 |
|
level: int. The level is only recognized, if an automatical layout is |
583 |
|
calculated. */ |
584 |
|
int vertical_order; |
585 |
|
|
586 |
|
/* Horizontal order is the horizontal position of the summary node within |
587 |
|
a level. The nodes which are specified with horizontal positions are |
588 |
|
ordered according to these positions within the levels. The nodes which |
589 |
|
do not have this attribute are inserted into this ordering by the |
590 |
|
crossing reduction mechanism. Note that connected components are |
591 |
|
handled separately, thus it is not possible to intermix such components |
592 |
|
by specifying a horizontal order. If the algorithm for downward laid |
593 |
|
out trees is used, the horizontal order influences only the order of |
594 |
|
the child nodes at a node, but not the order of the whole level. */ |
595 |
|
int horizontal_order; |
596 |
|
|
597 |
/* xmax, ymax specify the maximal size of the virtual window that is |
/* xmax, ymax specify the maximal size of the virtual window that is |
598 |
used to display the graph. This is usually larger than the displayed |
used to display the graph. This is usually larger than the displayed |
663 |
By default, no class names. */ |
By default, no class names. */ |
664 |
struct classname_s *classname; |
struct classname_s *classname; |
665 |
|
|
666 |
/* FIXME : infoname. */ |
/* Infoname allows to introduce names for the additional text labels. |
667 |
/* FIXME : colorentry. */ |
The names are used in the menus. |
668 |
|
Infoname is given by an integer and a string. |
669 |
|
The default value is NULL. */ |
670 |
|
struct infoname_s *infoname; |
671 |
|
|
672 |
|
/* Colorentry allows to fill the color map. A color is a triplet of integer |
673 |
|
values for the red/green/blue-part. Each integer is between 0 (off) and |
674 |
|
255 (on), e.g., 0 0 0 is black and 255 255 255 is white. For instance |
675 |
|
colorentry 75 : 70 130 180 sets the map entry 75 to steel blue. This |
676 |
|
color can be used by specifying just the number 75. |
677 |
|
Default id NULL. */ |
678 |
|
struct colorentry_s *colorentry; |
679 |
|
|
680 |
/* layoutalgorithm chooses different graph layout algorithms |
/* layoutalgorithm chooses different graph layout algorithms |
681 |
Possibilities are maxdepth, mindepth, maxdepthslow, mindepthslow, |
Possibilities are maxdepth, mindepth, maxdepthslow, mindepthslow, |
999 |
void add_node PARAMS ((graph_t *graph, node_t *node)); |
void add_node PARAMS ((graph_t *graph, node_t *node)); |
1000 |
void add_edge PARAMS ((graph_t *graph, edge_t *edge)); |
void add_edge PARAMS ((graph_t *graph, edge_t *edge)); |
1001 |
|
|
1002 |
void open_node PARAMS ((struct obstack *os)); |
void add_colorentry PARAMS ((graph_t *g, int color_idx, int red_cp, |
1003 |
void output_node PARAMS ((node_t *node, struct obstack *os)); |
int green_cp, int blue_cp)); |
1004 |
void close_node PARAMS ((struct obstack *os)); |
void add_classname PARAMS ((graph_t *g, int val, const char *name)); |
1005 |
|
void add_infoname PARAMS ((graph_t *g, int val, const char *name)); |
1006 |
void open_edge PARAMS ((edge_t *edge, struct obstack *os)); |
|
1007 |
void output_edge PARAMS ((edge_t *edge, struct obstack *os)); |
void open_node PARAMS ((FILE *fout)); |
1008 |
void close_edge PARAMS ((struct obstack *os)); |
void output_node PARAMS ((node_t *node, FILE *fout)); |
1009 |
|
void close_node PARAMS ((FILE *fout)); |
1010 |
void open_graph PARAMS ((struct obstack *os)); |
|
1011 |
void output_graph PARAMS ((graph_t *graph, struct obstack *os)); |
void open_edge PARAMS ((edge_t *edge, FILE *fout)); |
1012 |
void close_graph PARAMS ((graph_t *graph, struct obstack *os)); |
void output_edge PARAMS ((edge_t *edge, FILE *fout)); |
1013 |
|
void close_edge PARAMS ((FILE *fout)); |
1014 |
|
|
1015 |
|
void open_graph PARAMS ((FILE *fout)); |
1016 |
|
void output_graph PARAMS ((graph_t *graph, FILE *fout)); |
1017 |
|
void close_graph PARAMS ((graph_t *graph, FILE *fout)); |
1018 |
|
|
1019 |
#endif /* VCG_H_ */ |
#endif /* VCG_H_ */ |