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

Diff of /cvsgraph/cvsgraph.c

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

revision 1.12, Thu Mar 22 21:42:48 2001 UTC revision 1.15, Wed Nov 28 16:19:49 2001 UTC
# Line 19  Line 19 
19   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20   */   */
21    
22    #include "config.h"
23    
24  #include <stdio.h>  #include <stdio.h>
25  #include <stdlib.h>  #include <stdlib.h>
26  #include <unistd.h>  #include <unistd.h>
# Line 30  Line 32 
32  #include <fcntl.h>  #include <fcntl.h>
33  #include <regex.h>  #include <regex.h>
34  #include <errno.h>  #include <errno.h>
 #include <getopt.h>  
35  #include <ctype.h>  #include <ctype.h>
36  #include <time.h>  #include <time.h>
37    
38    #ifdef HAVE_GETOPT_H
39    # include <getopt.h>
40    #endif
41    
42  #include <gd.h>  #include <gd.h>
43  #include <gdfontt.h>  #include <gdfontt.h>
44    
 #include "config.h"  
45  #include "cvsgraph.h"  #include "cvsgraph.h"
46  #include "utils.h"  #include "utils.h"
47  #include "readconf.h"  #include "readconf.h"
# Line 201  Line 205 
205    
206          cmd = xmalloc(strlen(cvsroot) + strlen(module) + strlen(file) + 1);          cmd = xmalloc(strlen(cvsroot) + strlen(module) + strlen(file) + 1);
207          sprintf(cmd, "%s%s%s", cvsroot, module, file);          sprintf(cmd, "%s%s%s", cvsroot, module, file);
208          if(!(rcsin = fopen(cmd, "r")))          if(!(rcsin = fopen(cmd, "rb")))
209          {          {
210                  perror(cmd);                  perror(cmd);
211                  return NULL;                  return NULL;
# Line 1045  Line 1049 
1049          int i;          int i;
1050          char *cptr;          char *cptr;
1051    
1052          im = gdImageCreate(rcs->tw+conf.margin_left+conf.margin_right, rcs->th+conf.margin_top+conf.margin_bottom);          cptr = expand_string(conf.title, rcs, NULL, NULL, NULL, NULL);
1053            i = get_swidth(cptr, &conf.title_font);
1054            if(rcs->tw+conf.margin_left+conf.margin_right > i)
1055                    i = rcs->tw+conf.margin_left+conf.margin_right;
1056            im = gdImageCreate(i, rcs->th+conf.margin_top+conf.margin_bottom);
1057          alloc_color(im, &conf.color_bg);          alloc_color(im, &conf.color_bg);
1058          alloc_color(im, &conf.tag_color);          alloc_color(im, &conf.tag_color);
1059          alloc_color(im, &conf.rev_color);          alloc_color(im, &conf.rev_color);
# Line 1064  Line 1072 
1072                  if(rcs->branches[i]->branchpoint)                  if(rcs->branches[i]->branchpoint)
1073                          draw_connector(im, rcs->branches[i]);                          draw_connector(im, rcs->branches[i]);
1074          }          }
         cptr = expand_string(conf.title, rcs, NULL, NULL, NULL, NULL);  
1075          draw_stringnl(im, cptr, &conf.title_font, conf.title_x, conf.title_y, conf.title_align, &conf.title_color);          draw_stringnl(im, cptr, &conf.title_font, conf.title_x, conf.title_y, conf.title_align, &conf.title_color);
1076          xfree(cptr);          xfree(cptr);
1077    
# Line 1297  Line 1304 
1304                  for(j = 0; j < b->nrevs; j++)                  for(j = 0; j < b->nrevs; j++)
1305                  {                  {
1306                          revision_t *r = b->revs[j];                          revision_t *r = b->revs[j];
1307                            revision_t* r1;
1308                            int xoff;
1309                            int x1;
1310                            int x2;
1311                            int y1;
1312    
1313                          tag = r->ntags ? r->tags[0] : NULL;                          tag = r->ntags ? r->tags[0] : NULL;
1314                          href = expand_string(conf.map_rev_href, rcs, r, r->rev, NULL, tag);                          href = expand_string(conf.map_rev_href, rcs, r, r->rev, NULL, tag);
1315                          alt = expand_string(conf.map_rev_alt, rcs, r, r->rev, NULL, tag);                          alt = expand_string(conf.map_rev_alt, rcs, r, r->rev, NULL, tag);
# Line 1306  Line 1319 
1319                                  alt);                                  alt);
1320                          xfree(href);                          xfree(href);
1321                          xfree(alt);                          xfree(alt);
1322                          if(j > 0)                          if ( j > 0 || b->branchpoint )
1323                          {                          {
1324                                  revision_t *r1 = b->revs[j-1];                              if ( j > 0 )
1325                                  int x1 = r->cx - MIN(r->w, r1->w)/4;                              {
1326                                  int x2 = r->cx + MIN(r->w, r1->w)/4;                                  r1 = b->revs[j-1];
1327                                  href = expand_string(conf.map_diff_href, rcs, r, r->rev, r1->rev, tag);                                  xoff = MIN(r->w, r1->w)/4;
1328                                  alt = expand_string(conf.map_diff_alt, rcs, r, r->rev, r1->rev, tag);                                  y1 = r1->y + r1->h;
1329                                  fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s>\n",                              }
1330                                          href,                              else
1331                                          x1, r1->y + r1->h + 1, x2, r->y - 1,                              {
1332                                          alt);                                  r1 = b->branchpoint;
1333                                  xfree(href);                                  xoff = MIN(r->w, b->w)/4;
1334                                  xfree(alt);                                  y1 = b->y + b->h;
1335                                }
1336                                x1 = r->cx - xoff;
1337                                x2 = r->cx + xoff;
1338    
1339                                href = expand_string(conf.map_diff_href, rcs, r, r->rev, r1->rev, tag);
1340                                alt = expand_string(conf.map_diff_alt, rcs, r, r->rev, r1->rev, tag);
1341                                fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s>\n",
1342                                        href,
1343                                        x1, y1 + 1, x2, r->y - 1,
1344                                        alt);
1345                                xfree(href);
1346                                xfree(alt);
1347                          }                          }
1348                  }                  }
1349          }          }
# Line 1386  Line 1411 
1411          "  -[0-9] <txt> Use <txt> for expansion\n"          "  -[0-9] <txt> Use <txt> for expansion\n"
1412          ;          ;
1413    
1414  #define VERSION_STR     "1.1.2"  #define VERSION_STR     "1.1.4"
1415  #define NOTICE_STR      "Copyright (c) 2001 B.Stultiens"  #define NOTICE_STR      "Copyright (c) 2001 B.Stultiens"
1416    
1417  void append_slash(char **path)  void append_slash(char **path)
# Line 1545  Line 1570 
1570    
1571          if(outfile)          if(outfile)
1572          {          {
1573                  if((fp = fopen(outfile, "w")) == NULL)                  if((fp = fopen(outfile, "wb")) == NULL)
1574                  {                  {
1575                          perror(outfile);                          perror(outfile);
1576                          return 1;                          return 1;
1577                  }                  }
1578          }          }
1579          else          else
1580            {
1581                  fp = stdout;                  fp = stdout;
1582    #ifdef __WIN32__
1583                    /* Bad hack for DOS/Windows */
1584                    if(setmode(fileno(fp), O_BINARY) == -1)
1585                    {
1586                            perror("Set binary mode for stdout");
1587                            return 1;
1588                    }
1589    #endif
1590            }
1591    
1592          make_layout(rcs);          make_layout(rcs);
1593    

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.15

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0