/[CvsGraph]/cvsgraph/cvsgraph.h
ViewVC logotype

Annotate of /cvsgraph/cvsgraph.h

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.29 - (show annotations)
Wed May 21 01:41:18 2008 UTC (9 years, 4 months ago) by bertho
Branch: MAIN
CVS Tags: merge_automake_dev1_20080521, REL_1_6_2, REL_1_7_0, source_head_20080521, HEAD
Changes since 1.28: +1 -0 lines
File MIME type: text/plain
- Do a better job at drawing the merge lines by selecting the shortest path
  from the revision boxes. An analysis is now done whether the source and
  destinations should be on the left or right side.
- Fix the left_right case for merge lines to display correctly.
- Fix a +/-1 error on the merge lines to account for both rounding errors and
  the shadow of the revision boxes.
- Add configuration option 'merge_on_tag' to force the left_right case to
  display merge lines on the tags instead of on the top/bottom sides. This
  also solves imagemap overlaps where multiple sources or destinations would
  be displayed at the same position.
- Fix the imagemap function to record the correct position of the merges.
1 /*
2 * CvsGraph graphical representation generator of brances and revisions
3 * of a file in cvs/rcs.
4 *
5 * Copyright (C) 2001 B. Stultiens
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */
21
22 #ifndef __CVSGRAPH_H
23 #define __CVSGRAPH_H
24
25 #define CONFFILENAME "cvsgraph.conf"
26
27 #ifndef ETCDIR
28 # define ETCDIR "/usr/local/etc"
29 #endif
30
31 #define DEBUG_CONF_LEX 0x01
32 #define DEBUG_CONF_YACC 0x02
33 #define DEBUG_RCS_LEX 0x04
34 #define DEBUG_RCS_YACC 0x08
35 #define DEBUG_RCS_FILE 0x10
36
37 #define HTMLLEVEL_3 1 /* HTML 3.x compatibility */
38 #define HTMLLEVEL_4 2 /* HTML 4.x compatibility */
39 #define HTMLLEVEL_X 3 /* XHTML compatibility */
40
41 extern int debuglevel;
42
43 typedef struct __msg_stack_t
44 {
45 int severity;
46 int w;
47 int h;
48 char *msg;
49 } msg_stack_t;
50
51 #define MSG_WARN 0
52 #define MSG_ERR 1
53
54 void stack_msg(int severity, const char *fmt, ...);
55
56
57 typedef struct __font_t
58 {
59 gdFontPtr gdfont;
60 char *ttfont;
61 double ttsize;
62 } font_t;
63
64 struct __node_t;
65
66 typedef struct __color_t
67 {
68 int r;
69 int g;
70 int b;
71 int id;
72 struct __node_t *node;
73 } color_t;
74
75 typedef struct __colorlist_t
76 {
77 int n;
78 color_t *clrs;
79 } colorlist_t;
80
81 typedef struct __node_t
82 {
83 int key;
84 int op;
85 char *content;
86 struct __node_t *tcase;
87 struct __node_t *fcase;
88 union {
89 char *str;
90 color_t clr;
91 } value;
92 } node_t;
93
94 typedef struct __stringlist_t
95 {
96 int n;
97 char **strs;
98 } stringlist_t;
99
100 typedef struct __condstring_t
101 {
102 char *str;
103 node_t *node;
104 } condstring_t;
105
106 typedef struct __config_t
107 {
108 char *cvsroot;
109 char *cvsmodule;
110 char *date_format;
111
112 color_t color_bg;
113 int transparent_bg;
114 int box_shadow;
115 int upside_down;
116 int left_right;
117 int strip_untagged;
118 int strip_first_rev;
119 int auto_stretch;
120 int use_ttf;
121 int anti_alias;
122 int thick_lines;
123 int parse_logs;
124 int html_level;
125
126 font_t msg_font;
127 color_t msg_color;
128
129 font_t tag_font;
130 color_t tag_color;
131 char *tag_ignore;
132 int tag_ignore_merge;
133 int tag_nocase;
134 int tag_negate;
135
136 int rev_hidenumber;
137 font_t rev_font;
138 color_t rev_color;
139 color_t rev_bgcolor;
140 int rev_separator;
141 int rev_minline;
142 int rev_maxline;
143 int rev_lspace;
144 int rev_rspace;
145 int rev_tspace;
146 int rev_bspace;
147 condstring_t rev_idtext;
148 condstring_t rev_text;
149 color_t rev_text_color;
150 font_t rev_text_font;
151 int rev_maxtags;
152
153 colorlist_t merge_color;
154 stringlist_t merge_from;
155 stringlist_t merge_to;
156 int merge_findall;
157 int merge_front;
158 int merge_nocase;
159 int merge_arrows;
160 int merge_cvsnt;
161 color_t merge_cvsnt_color;
162 int merge_on_tag;
163 int arrow_width;
164 int arrow_length;
165
166 font_t branch_font;
167 color_t branch_color;
168 font_t branch_tag_font;
169 color_t branch_tag_color;
170 color_t branch_bgcolor;
171 int branch_lspace;
172 int branch_rspace;
173 int branch_tspace;
174 int branch_bspace;
175 int branch_connect;
176 int branch_margin;
177 int branch_dupbox;
178 int branch_fold;
179 int branch_foldall;
180 int branch_resort;
181 char *branch_subtree;
182
183 char *title;
184 int title_x;
185 int title_y;
186 font_t title_font;
187 int title_align;
188 color_t title_color;
189
190 int margin_top;
191 int margin_bottom;
192 int margin_left;
193 int margin_right;
194
195 int image_type;
196 int image_quality;
197 int image_compress;
198 int image_interlace;
199
200 char *map_name;
201 char *map_branch_href;
202 char *map_branch_alt;
203 char *map_rev_href;
204 char *map_rev_alt;
205 char *map_diff_href;
206 char *map_diff_alt;
207 char *map_merge_href;
208 char *map_merge_alt;
209
210 char *expand[10];
211 } config_t;
212
213 extern config_t conf;
214
215 #endif

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0