/[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.16, Tue Dec 18 22:50:12 2001 UTC revision 1.17, Wed Dec 19 18:10:58 2001 UTC
# Line 91  Line 91 
91    
92  /*  /*
93   **************************************************************************   **************************************************************************
94   * Dubug routines   * Debug routines
95   **************************************************************************   **************************************************************************
96   */   */
97  void dump_rev(char *p, rev_t *r)  void dump_rev(char *p, rev_t *r)
# Line 313  Line 313 
313   * the bounding boxes of each branch. The revisions expand vertically   * the bounding boxes of each branch. The revisions expand vertically
314   * and the branches expand horizontally.   * and the branches expand horizontally.
315   * The reorganisation is performed in these steps:   * The reorganisation is performed in these steps:
316   * 1 - sort deltas and detla text on revision number for quick lookup   * 1 - sort deltas and delta text on revision number for quick lookup
317   * 2 - start at the denoted head revision:   * 2 - start at the denoted head revision:
318   *      * create a branch structure and add this revision   *      * create a branch structure and add this revision
319   *      * for each 'branches' in the delta do:   *      * for each 'branches' in the delta do:
# Line 832  Line 832 
832                                  /*                                  /*
833                                   * We should not add anything here because we can encounter                                   * We should not add anything here because we can encounter
834                                   * a completely empty path, in which case we do not want                                   * a completely empty path, in which case we do not want
835                                   * to add any slash. This prevents a inadvertent root redirect.                                   * to add any slash. This prevents an inadvertent root redirect.
836                                   *                                   *
837                                   * else                                   * else
838                                   *      add_string_str("/");                                   *      add_string_str("/");
# Line 1001  Line 1001 
1001          }          }
1002  }  }
1003    
1004  void draw_branch_box(gdImagePtr im, branch_t *b, int offset)  void draw_branch_box(gdImagePtr im, branch_t *b, int ypos)
1005  {  {
1006          int lx = b->cx - b->w/2;          int lx = b->cx - b->w/2;
1007          int rx = lx + b->w;          int rx = lx + b->w;
1008          int i;          int i;
1009          int yy;          int yy;
1010    
1011          draw_rbox(im, lx, b->y+offset, rx, b->y+b->h+offset, 5, &conf.branch_color, &conf.branch_bgcolor);          draw_rbox(im, lx, ypos, rx, ypos+b->h, 5, &conf.branch_color, &conf.branch_bgcolor);
1012          yy = conf.branch_tspace;          yy = conf.branch_tspace;
1013          draw_string(im, b->branch->branch, &conf.branch_font, b->cx, b->y+yy+offset, ALIGN_HC, &conf.branch_color);          draw_string(im, b->branch->branch, &conf.branch_font, b->cx, ypos+yy, ALIGN_HC, &conf.branch_color);
1014          yy += get_sheight(b->branch->branch, &conf.branch_font);          yy += get_sheight(b->branch->branch, &conf.branch_font);
1015          for(i = 0; i < b->ntags; i++)          for(i = 0; i < b->ntags; i++)
1016          {          {
1017                  draw_string(im, b->tags[i]->tag, &conf.branch_font, b->cx, b->y+yy+offset, ALIGN_HC, &conf.branch_color);                  draw_string(im, b->tags[i]->tag, &conf.branch_font, b->cx, ypos+yy, ALIGN_HC, &conf.branch_color);
1018                  yy += get_sheight(b->tags[i]->tag, &conf.branch_font);                  yy += get_sheight(b->tags[i]->tag, &conf.branch_font);
1019          }          }
1020  }  }
# Line 1023  Line 1023 
1023  {  {
1024          int yy;          int yy;
1025          int i;          int i;
1026          /*draw_rbox(im, cx-b->tw/2-1, ty-1, cx+b->tw/2+1, ty+b->th+1, 0, &conf.title_color);*/          int line[4];
1027          draw_branch_box(im, b, 0);  
1028            line[0] = conf.rev_color.id;
1029            line[1] = gdTransparent;
1030            line[1] = gdTransparent;
1031            line[3] = conf.rev_color.id;
1032    
1033            draw_branch_box(im, b, b->y);
1034    
1035          if(conf.upside_down)          if(conf.upside_down)
1036          {          {
# Line 1032  Line 1038 
1038                  for(i = 0; i < b->nrevs; i++)                  for(i = 0; i < b->nrevs; i++)
1039                  {                  {
1040                          revision_t *r = b->revs[i];                          revision_t *r = b->revs[i];
1041                          gdImageLine(im, r->cx, yy, r->cx, r->y+r->h, conf.rev_color.id);                          gdImageSetStyle(im, line, r->stripped ? 4 : 1);
1042                            gdImageLine(im, r->cx, yy, r->cx, r->y+r->h, gdStyled);
1043                          draw_rev(im, r);                          draw_rev(im, r);
1044                          yy = r->y;                          yy = r->y;
1045                  }                  }
1046                  if(conf.branch_mirror)                  if(conf.branch_dupbox)
1047                  {                  {
1048                          gdImageLine(im, b->cx, yy, b->cx, yy-conf.rev_minline, conf.rev_color.id);                          i = b->y - b->th + b->h;
1049                          draw_branch_box(im, b, yy-b->y-b->h-conf.rev_minline);                          gdImageLine(im, b->cx, yy, b->cx, i, conf.rev_color.id);
1050                            draw_branch_box(im, b, i);
1051                  }                  }
1052          }          }
1053          else          else
# Line 1048  Line 1056 
1056                  for(i = 0; i < b->nrevs; i++)                  for(i = 0; i < b->nrevs; i++)
1057                  {                  {
1058                          revision_t *r = b->revs[i];                          revision_t *r = b->revs[i];
1059                          gdImageLine(im, r->cx, yy, r->cx, r->y, conf.rev_color.id);                          gdImageSetStyle(im, line, r->stripped ? 4 : 1);
1060                            gdImageLine(im, r->cx, yy, r->cx, r->y, gdStyled);
1061                          draw_rev(im, r);                          draw_rev(im, r);
1062                          yy = r->y + r->h;                          yy = r->y + r->h;
1063                  }                  }
1064                  if(conf.branch_mirror)                  if(conf.branch_dupbox)
1065                  {                  {
1066                          gdImageLine(im, b->cx, yy, b->cx, yy+conf.rev_minline, conf.rev_color.id);                          i = b->y + b->th - b->h;
1067                          draw_branch_box(im, b, yy-b->y+conf.rev_minline);                          gdImageLine(im, b->cx, yy, b->cx, i, conf.rev_color.id);
1068                            draw_branch_box(im, b, i);
1069                  }                  }
1070          }          }
1071  }  }
# Line 1224  Line 1234 
1234                                  {                                  {
1235                                          memmove(&bp->revs[j], &bp->revs[j+1], (bp->nrevs-j-1) * sizeof(bp->revs[0]));                                          memmove(&bp->revs[j], &bp->revs[j+1], (bp->nrevs-j-1) * sizeof(bp->revs[0]));
1236                                          bp->nrevs--;                                          bp->nrevs--;
1237                                            bp->revs[j]->stripped = 1;
1238                                          j--;                                          j--;
1239                                  }                                  }
1240                          }                          }
# Line 1277  Line 1288 
1288                                  w = bp->revs[j]->w;                                  w = bp->revs[j]->w;
1289                          h += bp->revs[j]->h + conf.rev_minline;                          h += bp->revs[j]->h + conf.rev_minline;
1290                  }                  }
1291                  if(conf.branch_mirror)                  if(conf.branch_dupbox)
1292                          h += bp->h + conf.rev_minline;                          h += bp->h + conf.rev_minline;
1293                  bp->th = h;                  bp->th = h;
1294                  bp->tw = w;                  bp->tw = w;
# Line 1416  Line 1427 
1427                                  xfree(alt);                                  xfree(alt);
1428                          }                          }
1429                  }                  }
1430                  if(conf.branch_mirror)                  if(conf.branch_dupbox)
1431                  {                  {
1432                          int y;                          int y;
1433                          if(conf.upside_down)                          if(conf.upside_down)
# Line 1526  Line 1537 
1537          char *cvsmodule = NULL;          char *cvsmodule = NULL;
1538          int imagemap = 0;          int imagemap = 0;
1539          int upsidedown = 0;          int upsidedown = 0;
1540          int bmirror = 0;          int bdupbox = 0;
1541          int stripuntag = 0;          int stripuntag = 0;
1542          char *imgmapname = NULL;          char *imgmapname = NULL;
1543          int lose = 0;          int lose = 0;
# Line 1539  Line 1550 
1550                  switch(optc)                  switch(optc)
1551                  {                  {
1552                  case 'b':                  case 'b':
1553                          bmirror = 1;                          bdupbox = 1;
1554                          break;                          break;
1555                  case 'c':                  case 'c':
1556                          confpath = xstrdup(optarg);                          confpath = xstrdup(optarg);
# Line 1651  Line 1662 
1662          if(cvsmodule)   conf.cvsmodule = cvsmodule;          if(cvsmodule)   conf.cvsmodule = cvsmodule;
1663          if(imgmapname)  conf.map_name = imgmapname;          if(imgmapname)  conf.map_name = imgmapname;
1664          if(upsidedown)  conf.upside_down = !conf.upside_down;          if(upsidedown)  conf.upside_down = !conf.upside_down;
1665          if(bmirror)     conf.branch_mirror = !conf.branch_mirror;          if(bdupbox)     conf.branch_dupbox = !conf.branch_dupbox;
1666          if(stripuntag)  conf.strip_untagged = !conf.strip_untagged;          if(stripuntag)  conf.strip_untagged = !conf.strip_untagged;
1667    
1668          append_slash(&conf.cvsroot);          append_slash(&conf.cvsroot);

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0