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 216