/[bison]/bison/src/vcg.h
ViewVC logotype

Diff of /bison/src/vcg.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by marc, Wed Aug 8 20:31:21 2001 UTC revision 1.4 by akim, Thu Oct 4 14:55:21 2001 UTC
# Line 75  enum shape_e Line 75  enum shape_e
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
# Line 161  struct node_s Line 179  struct node_s
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
# Line 277  struct node_s Line 295  struct node_s
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. */
# Line 483  struct graph_s Line 501  struct graph_s
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
# Line 559  struct graph_s Line 577  struct graph_s
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
# Line 630  struct graph_s Line 663  struct graph_s
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,
# Line 955  void new_edge PARAMS ((edge_t *edge)); Line 999  void new_edge PARAMS ((edge_t *edge));
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_ */

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26