/[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.51, Thu Oct 21 21:22:47 2004 UTC revision 1.57, Wed Jun 22 19:41:10 2005 UTC
# Line 762  Line 762 
762                  rcs->merges[rcs->nmerges].from.rev = *r;                  rcs->merges[rcs->nmerges].from.rev = *r;
763                  rcs->merges[rcs->nmerges].to.rev = rcs->srev[i];                  rcs->merges[rcs->nmerges].to.rev = rcs->srev[i];
764                  rcs->nmerges++;                  rcs->nmerges++;
765                    (*r)->stripped = -1;
766                    rcs->srev[i]->stripped = -1;
767          }          }
768  }  }
769    
# Line 1089  Line 1091 
1091          putenv("TZ=UTC0");          putenv("TZ=UTC0");
1092          t = mktime(&tm);          t = mktime(&tm);
1093          if(env)          if(env)
1094                  setenv("TZ", env, 1);          {
1095                    char *c = xmalloc(strlen(env) + 3 + 1); /* Extra space for TZ and = */
1096                    sprintf(c, "TZ=%s", env);
1097                    putenv(c);
1098                    xfree(c);
1099            }
1100          else          else
1101                  unsetenv("TZ");                  putenv("TZ");
1102    
1103          if(n != 6 || t == (time_t)(-1))          if(n != 6 || t == (time_t)(-1))
1104          {          {
# Line 1173  Line 1180 
1180    
1181          zap_string();          zap_string();
1182    
1183          sprintf(nb, "%d", rcs->nbranches);          sprintf(nb, "%d", rcs->nbranches + rcs->nfolds);
1184          sprintf(nr, "%d", rcs->nsrev);          sprintf(nr, "%d", rcs->nsrev);
1185          for(; *s; s++)          for(; *s; s++)
1186          {          {
# Line 1323  Line 1330 
1330   * Drawing routines   * Drawing routines
1331   **************************************************************************   **************************************************************************
1332   */   */
1333    static color_t *clr_id = NULL;
1334    static int nclr_id = 0;
1335    
1336    static color_t *clr(gdImagePtr im, const char *s, revision_t *r, branch_t *b)
1337    {
1338            int i;
1339            color_t *c = get_colorref(s);
1340            if(!c)
1341                    c = &black_color;
1342            for(i = 0; i < nclr_id; i++)
1343            {
1344                    if(c->r == clr_id[i].r && c->g == clr_id[i].g && c->b == clr_id[i].b)
1345                            return &clr_id[i];
1346            }
1347            /* FIXME: Do color evaluation */
1348            clr_id = xrealloc(clr_id, (nclr_id+1) * sizeof(*clr_id));
1349            clr_id[nclr_id] = *c;
1350            clr_id[nclr_id].id = gdImageColorAllocate(im, c->r, c->g, c->b);
1351            return &clr_id[nclr_id++];
1352    }
1353    
1354  static int get_swidth(const char *s, font_t *f)  static int get_swidth(const char *s, font_t *f)
1355  {  {
1356          int n;          int n;
# Line 1509  Line 1537 
1537                  ty = r->y;                  ty = r->y;
1538                  x2 = r->cx;                  x2 = r->cx;
1539          }          }
1540          draw_rbox(im, lx, ty, rx, ty+r->h, 0, &conf.rev_color, &conf.rev_bgcolor);          draw_rbox(im, lx, ty, rx, ty+r->h, 0, clr(im, "rev_color", r, NULL), clr(im, "rev_bgcolor", r, NULL));
1541          ty += conf.rev_tspace;          ty += conf.rev_tspace;
1542          if(!conf.rev_hidenumber)          if(!conf.rev_hidenumber)
1543          {          {
1544                  draw_string(im, r->rev->rev, &conf.rev_font, x2, ty, ALIGN_HC, &conf.rev_color);                  draw_string(im, r->rev->rev, &conf.rev_font, x2, ty, ALIGN_HC, clr(im, "rev_color", r, NULL));
1545                  ty += get_sheight(r->rev->rev, &conf.rev_font);                  ty += get_sheight(r->rev->rev, &conf.rev_font);
1546          }          }
1547          draw_stringnl(im, r->revtext, &conf.rev_text_font, x2, ty, ALIGN_HC, &conf.rev_text_color);          draw_stringnl(im, r->revtext, &conf.rev_text_font, x2, ty, ALIGN_HC, clr(im, "rev_text_color", r, NULL));
1548          ty += get_sheight(r->revtext, &conf.rev_text_font);          ty += get_sheight(r->revtext, &conf.rev_text_font);
1549          for(i = 0; i < r->ntags; i++)          for(i = 0; i < r->ntags; i++)
1550          {          {
1551                  draw_string(im, r->tags[i]->tag, &conf.tag_font, x2, ty, ALIGN_HC, &conf.tag_color);                  draw_string(im, r->tags[i]->tag, &conf.tag_font, x2, ty, ALIGN_HC, clr(im, "tag_color", r, NULL));
1552                  ty += get_sheight(r->tags[i]->tag, &conf.tag_font) + conf.rev_separator;                  ty += get_sheight(r->tags[i]->tag, &conf.tag_font) + conf.rev_separator;
1553          }          }
1554  }  }
# Line 1545  Line 1573 
1573                  rx = lx + b->w;                  rx = lx + b->w;
1574                  x2 = b->cx;                  x2 = b->cx;
1575          }          }
1576          draw_rbox(im, lx+xp, yp, rx+xp, yp+b->h, 5, &conf.branch_color, &conf.branch_bgcolor);          draw_rbox(im, lx+xp, yp, rx+xp, yp+b->h, 5, clr(im, "branch_color", NULL, b), clr(im, "branch_bgcolor", NULL, b));
1577          yy = conf.branch_tspace;          yy = conf.branch_tspace;
1578          if(!b->nfolds)          if(!b->nfolds)
1579          {          {
1580                  if(!conf.rev_hidenumber)                  if(!conf.rev_hidenumber)
1581                  {                  {
1582                          draw_string(im, b->branch->branch, &conf.branch_font, x2+xp, yp+yy, ALIGN_HC, &conf.branch_color);                          draw_string(im, b->branch->branch, &conf.branch_font, x2+xp, yp+yy, ALIGN_HC, clr(im, "branch_color", NULL, b));
1583                          yy += get_sheight(b->branch->branch, &conf.branch_font);                          yy += get_sheight(b->branch->branch, &conf.branch_font);
1584                  }                  }
1585                  for(i = 0; i < b->ntags; i++)                  for(i = 0; i < b->ntags; i++)
1586                  {                  {
1587                          draw_string(im, b->tags[i]->tag, &conf.branch_tag_font, x2+xp, yp+yy, ALIGN_HC, &conf.branch_tag_color);                          draw_string(im, b->tags[i]->tag, &conf.branch_tag_font, x2+xp, yp+yy, ALIGN_HC, clr(im, "branch_tag_color", NULL, b));
1588                          yy += get_sheight(b->tags[i]->tag, &conf.branch_tag_font);                          yy += get_sheight(b->tags[i]->tag, &conf.branch_tag_font);
1589                  }                  }
1590          }          }
# Line 1565  Line 1593 
1593                  int y1, y2;                  int y1, y2;
1594                  int tx = lx + b->fw + conf.branch_lspace;                  int tx = lx + b->fw + conf.branch_lspace;
1595                  int nx = tx - get_swidth(" ", &conf.branch_font);                  int nx = tx - get_swidth(" ", &conf.branch_font);
1596                  draw_string(im, b->branch->branch, &conf.branch_font, nx+xp, yp+yy, ALIGN_HR, &conf.branch_color);                  draw_string(im, b->branch->branch, &conf.branch_font, nx+xp, yp+yy, ALIGN_HR, clr(im, "branch_color", NULL, b));
1597                  y1 = get_sheight(b->branch->branch, &conf.branch_font);                  y1 = get_sheight(b->branch->branch, &conf.branch_font);
1598                  draw_string(im, b->tags[0]->tag, &conf.branch_tag_font, tx+xp, yp+yy, ALIGN_HL, &conf.branch_tag_color);                  draw_string(im, b->tags[0]->tag, &conf.branch_tag_font, tx+xp, yp+yy, ALIGN_HL, clr(im, "branch_tag_color", NULL, b));
1599                  y2 = get_sheight(b->tags[0]->tag, &conf.branch_font);                  y2 = get_sheight(b->tags[0]->tag, &conf.branch_font);
1600                  yy += MAX(y1, y2);                  yy += MAX(y1, y2);
1601                  for(i = 0; i < b->nfolds; i++)                  for(i = 0; i < b->nfolds; i++)
1602                  {                  {
1603                          draw_string(im, b->folds[i]->branch->branch, &conf.branch_font, nx+xp, yp+yy, ALIGN_HR, &conf.branch_color);                          draw_string(im, b->folds[i]->branch->branch, &conf.branch_font, nx+xp, yp+yy, ALIGN_HR, clr(im, "branch_color", NULL, b));
1604                          y1 = get_sheight(b->folds[i]->branch->branch, &conf.branch_font);                          y1 = get_sheight(b->folds[i]->branch->branch, &conf.branch_font);
1605                          draw_string(im, b->folds[i]->tags[0]->tag, &conf.branch_tag_font, tx+xp, yp+yy, ALIGN_HL, &conf.branch_tag_color);                          draw_string(im, b->folds[i]->tags[0]->tag, &conf.branch_tag_font, tx+xp, yp+yy, ALIGN_HL, clr(im, "branch_tag_color", NULL, b));
1606                          y2 = get_sheight(b->folds[i]->tags[0]->tag, &conf.branch_tag_font);                          y2 = get_sheight(b->folds[i]->tags[0]->tag, &conf.branch_tag_font);
1607                          yy += MAX(y1, y2);                          yy += MAX(y1, y2);
1608                  }                  }
# Line 1589  Line 1617 
1617          int l;          int l;
1618          int sign;          int sign;
1619    
1620          line[0] = conf.rev_color.id;          line[1] = line[2] = gdTransparent;
         line[1] = gdTransparent;  
         line[1] = gdTransparent;  
         line[3] = conf.rev_color.id;  
1621    
1622          /* Trivial clip the branch */          /* Trivial clip the branch */
1623          if(conf.left_right)          if(conf.left_right)
# Line 1616  Line 1641 
1641                          for(i = 0; i < b->nrevs; i++)                          for(i = 0; i < b->nrevs; i++)
1642                          {                          {
1643                                  revision_t *r = b->revs[i];                                  revision_t *r = b->revs[i];
1644                                  gdImageSetStyle(im, line, r->stripped ? 4 : 1);                                  line[0] = line[3] = clr(im, "rev_color", r, b)->id;
1645                                    gdImageSetStyle(im, line, r->stripped > 0 ? 4 : 1);
1646                                  gdImageLine(im, xx, r->y, r->cx+r->w, r->y, gdStyled);                                  gdImageLine(im, xx, r->y, r->cx+r->w, r->y, gdStyled);
1647                                  for(sign = l = 1; l < conf.thick_lines; l++)                                  for(sign = l = 1; l < conf.thick_lines; l++)
1648                                  {                                  {
# Line 1630  Line 1656 
1656                          if(conf.branch_dupbox && b->nrevs)                          if(conf.branch_dupbox && b->nrevs)
1657                          {                          {
1658                                  i = b->cx - b->tw + b->w;                                  i = b->cx - b->tw + b->w;
1659                                  gdImageLine(im, xx, b->y, i+b->w, b->y, conf.rev_color.id);                                  gdImageLine(im, xx, b->y, i+b->w, b->y, clr(im, "rev_color", NULL, b)->id);
1660                                  for(sign = l = 1; l < conf.thick_lines; l++)                                  for(sign = l = 1; l < conf.thick_lines; l++)
1661                                  {                                  {
1662                                          int pp = (l+1)/2*sign;                                          int pp = (l+1)/2*sign;
1663                                          gdImageLine(im, xx, b->y+pp, i+b->w, b->y+pp, conf.rev_color.id);                                          gdImageLine(im, xx, b->y+pp, i+b->w, b->y+pp, clr(im, "rev_color", NULL, b)->id);
1664                                          sign *= -1;                                          sign *= -1;
1665                                  }                                  }
1666                                  draw_branch_box(im, b, i - b->cx, b->y - b->h/2);                                  draw_branch_box(im, b, i - b->cx, b->y - b->h/2);
# Line 1646  Line 1672 
1672                          for(i = 0; i < b->nrevs; i++)                          for(i = 0; i < b->nrevs; i++)
1673                          {                          {
1674                                  revision_t *r = b->revs[i];                                  revision_t *r = b->revs[i];
1675                                  gdImageSetStyle(im, line, r->stripped ? 4 : 1);                                  line[0] = line[3] = clr(im, "rev_color", r, b)->id;
1676                                    gdImageSetStyle(im, line, r->stripped > 0 ? 4 : 1);
1677                                  gdImageLine(im, xx, r->y, r->cx, r->y, gdStyled);                                  gdImageLine(im, xx, r->y, r->cx, r->y, gdStyled);
1678                                  for(sign = l = 1; l < conf.thick_lines; l++)                                  for(sign = l = 1; l < conf.thick_lines; l++)
1679                                  {                                  {
# Line 1660  Line 1687 
1687                          if(conf.branch_dupbox && b->nrevs)                          if(conf.branch_dupbox && b->nrevs)
1688                          {                          {
1689                                  i = b->cx + b->tw - b->w;                                  i = b->cx + b->tw - b->w;
1690                                  gdImageLine(im, xx, b->y, i, b->y, conf.rev_color.id);                                  gdImageLine(im, xx, b->y, i, b->y, clr(im, "rev_color", NULL, b)->id);
1691                                  for(sign = l = 1; l < conf.thick_lines; l++)                                  for(sign = l = 1; l < conf.thick_lines; l++)
1692                                  {                                  {
1693                                          int pp = (l+1)/2*sign;                                          int pp = (l+1)/2*sign;
1694                                          gdImageLine(im, xx, b->y+pp, i, b->y+pp, conf.rev_color.id);                                          gdImageLine(im, xx, b->y+pp, i, b->y+pp, clr(im, "rev_color", NULL, b)->id);
1695                                          sign *= -1;                                          sign *= -1;
1696                                  }                                  }
1697                                  draw_branch_box(im, b, i - b->cx, b->y - b->h/2);                                  draw_branch_box(im, b, i - b->cx, b->y - b->h/2);
# Line 1679  Line 1706 
1706                          for(i = 0; i < b->nrevs; i++)                          for(i = 0; i < b->nrevs; i++)
1707                          {                          {
1708                                  revision_t *r = b->revs[i];                                  revision_t *r = b->revs[i];
1709                                  gdImageSetStyle(im, line, r->stripped ? 4 : 1);                                  line[0] = line[3] = clr(im, "rev_color", r, b)->id;
1710                                    gdImageSetStyle(im, line, r->stripped > 0 ? 4 : 1);
1711                                  gdImageLine(im, r->cx, yy, r->cx, r->y+r->h, gdStyled);                                  gdImageLine(im, r->cx, yy, r->cx, r->y+r->h, gdStyled);
1712                                  for(sign = l = 1; l < conf.thick_lines; l++)                                  for(sign = l = 1; l < conf.thick_lines; l++)
1713                                  {                                  {
# Line 1693  Line 1721 
1721                          if(conf.branch_dupbox && b->nrevs)                          if(conf.branch_dupbox && b->nrevs)
1722                          {                          {
1723                                  i = b->y - b->th + b->h;                                  i = b->y - b->th + b->h;
1724                                  gdImageLine(im, b->cx, yy, b->cx, i, conf.rev_color.id);                                  gdImageLine(im, b->cx, yy, b->cx, i, clr(im, "rev_color", NULL, b)->id);
1725                                  for(sign = l = 1; l < conf.thick_lines; l++)                                  for(sign = l = 1; l < conf.thick_lines; l++)
1726                                  {                                  {
1727                                          int pp = (l+1)/2*sign;                                          int pp = (l+1)/2*sign;
1728                                          gdImageLine(im, b->cx+pp, yy, b->cx+pp, i, conf.rev_color.id);                                          gdImageLine(im, b->cx+pp, yy, b->cx+pp, i, clr(im, "rev_color", NULL, b)->id);
1729                                          sign *= -1;                                          sign *= -1;
1730                                  }                                  }
1731                                  draw_branch_box(im, b, 0, i);                                  draw_branch_box(im, b, 0, i);
# Line 1709  Line 1737 
1737                          for(i = 0; i < b->nrevs; i++)                          for(i = 0; i < b->nrevs; i++)
1738                          {                          {
1739                                  revision_t *r = b->revs[i];                                  revision_t *r = b->revs[i];
1740                                  gdImageSetStyle(im, line, r->stripped ? 4 : 1);                                  line[0] = line[3] = clr(im, "rev_color", r, b)->id;
1741                                    gdImageSetStyle(im, line, r->stripped > 0 ? 4 : 1);
1742                                  gdImageLine(im, r->cx, yy, r->cx, r->y, gdStyled);                                  gdImageLine(im, r->cx, yy, r->cx, r->y, gdStyled);
1743                                  for(sign = l = 1; l < conf.thick_lines; l++)                                  for(sign = l = 1; l < conf.thick_lines; l++)
1744                                  {                                  {
# Line 1723  Line 1752 
1752                          if(conf.branch_dupbox && b->nrevs)                          if(conf.branch_dupbox && b->nrevs)
1753                          {                          {
1754                                  i = b->y + b->th - b->h;                                  i = b->y + b->th - b->h;
1755                                  gdImageLine(im, b->cx, yy, b->cx, i, conf.rev_color.id);                                  gdImageLine(im, b->cx, yy, b->cx, i, clr(im, "rev_color", NULL, b)->id);
1756                                  for(sign = l = 1; l < conf.thick_lines; l++)                                  for(sign = l = 1; l < conf.thick_lines; l++)
1757                                  {                                  {
1758                                          int pp = (l+1)/2*sign;                                          int pp = (l+1)/2*sign;
1759                                          gdImageLine(im, b->cx+pp, yy, b->cx+pp, i, conf.rev_color.id);                                          gdImageLine(im, b->cx+pp, yy, b->cx+pp, i, clr(im, "rev_color", NULL, b)->id);
1760                                          sign *= -1;                                          sign *= -1;
1761                                  }                                  }
1762                                  draw_branch_box(im, b, 0, i);                                  draw_branch_box(im, b, 0, i);
# Line 1764  Line 1793 
1793                  if(conf.upside_down)                  if(conf.upside_down)
1794                          y2 += b->h;                          y2 += b->h;
1795          }          }
1796          gdImageLine(im, x1, y1, x2, y1, conf.branch_color.id);          gdImageLine(im, x1, y1, x2, y1, clr(im, "branch_color", NULL, b)->id);
1797          gdImageLine(im, x2, y1, x2, y2, conf.branch_color.id);          gdImageLine(im, x2, y1, x2, y2, clr(im, "branch_color", NULL, b)->id);
1798          for(sign = l = 1; l < conf.thick_lines; l++)          for(sign = l = 1; l < conf.thick_lines; l++)
1799          {          {
1800                  int pp = (l+1)/2*sign;                  int pp = (l+1)/2*sign;
1801                  gdImageLine(im, x1, y1+pp, x2, y1+pp, conf.branch_color.id);                  gdImageLine(im, x1, y1+pp, x2, y1+pp, clr(im, "branch_color", NULL, b)->id);
1802                  gdImageLine(im, x2+pp, y1, x2+pp, y2, conf.branch_color.id);                  gdImageLine(im, x2+pp, y1, x2+pp, y2, clr(im, "branch_color", NULL, b)->id);
1803                  sign *= -1;                  sign *= -1;
1804          }          }
1805  }  }
# Line 1789  Line 1818 
1818                  case TR_TAG:                  case TR_TAG:
1819                          fr = rcs->merges[i].from.tag->logrev;                          fr = rcs->merges[i].from.tag->logrev;
1820                          tr = rcs->merges[i].to.tag->logrev;                          tr = rcs->merges[i].to.tag->logrev;
1821                          colorid = conf.merge_color.id;                          colorid = clr(im, "merge_color.id", NULL, NULL)->id;
1822                          break;                          break;
1823                  case TR_REVISION:                  case TR_REVISION:
1824                          fr = rcs->merges[i].from.rev;                          fr = rcs->merges[i].from.rev;
1825                          tr = rcs->merges[i].to.rev;                          tr = rcs->merges[i].to.rev;
1826                          colorid = conf.merge_cvsnt_color.id;                          colorid = clr(im, "merge_cvsnt_color", NULL, NULL)->id;
1827                          break;                          break;
1828                  default:                  default:
1829                          continue;                          continue;
# Line 2007  Line 2036 
2036    
2037          for(i = 0; i < nmsg_stack; i++)          for(i = 0; i < nmsg_stack; i++)
2038          {          {
2039                  draw_stringnl(im, msg_stack[i].msg, &conf.msg_font, conf.margin_left, offset, ALIGN_HL|ALIGN_VT, &conf.msg_color);                  draw_stringnl(im, msg_stack[i].msg, &conf.msg_font, conf.margin_left, offset, ALIGN_HL|ALIGN_VT, clr(im, "msg_color", NULL, NULL));
2040                  offset += msg_stack[i].h;                  offset += msg_stack[i].h;
2041          }          }
2042  }  }
# Line 2069  Line 2098 
2098          }          }
2099    
2100          im = gdImageCreate(w, h);          im = gdImageCreate(w, h);
2101          alloc_color(im, &conf.color_bg);          alloc_color(im, &conf.color_bg);        /* The background is always a unique color */
2102          alloc_color(im, &conf.tag_color);          clr(im, "__black_color__", NULL, NULL);
         alloc_color(im, &conf.rev_color);  
         alloc_color(im, &conf.rev_bgcolor);  
         alloc_color(im, &conf.rev_text_color);  
         alloc_color(im, &conf.branch_color);  
         alloc_color(im, &conf.branch_tag_color);  
         alloc_color(im, &conf.branch_bgcolor);  
         alloc_color(im, &conf.title_color);  
         alloc_color(im, &conf.merge_color);  
         alloc_color(im, &conf.merge_cvsnt_color);  
         alloc_color(im, &conf.msg_color);  
         alloc_color(im, &black_color);  
         alloc_color(im, &white_color);  
2103    
2104          if(conf.transparent_bg)          if(conf.transparent_bg)
2105                  gdImageColorTransparent(im, conf.color_bg.id);                  gdImageColorTransparent(im, conf.color_bg.id);
# Line 2113  Line 2130 
2130                  gdImageFilledRectangle(im, w-conf.margin_right, 0, w-1, h-1, conf.color_bg.id);                  gdImageFilledRectangle(im, w-conf.margin_right, 0, w-1, h-1, conf.color_bg.id);
2131          }          }
2132    
2133          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, clr(im, "title_color", NULL, NULL));
2134          xfree(cptr);          xfree(cptr);
2135    
2136          if(conf.merge_front)          if(conf.merge_front)
# Line 2758  Line 2775 
2775                                                          &rcs->branches[j+1],                                                          &rcs->branches[j+1],
2776                                                          (rcs->nbranches - j - 1)*sizeof(rcs->branches[0]));                                                          (rcs->nbranches - j - 1)*sizeof(rcs->branches[0]));
2777                                                  rcs->nbranches--;                                                  rcs->nbranches--;
2778                                                    rcs->nfolds++;
2779                                                  break;                                                  break;
2780                                          }                                          }
2781    
# Line 2810  Line 2828 
2828                          branch_t *bp = rcs->branches[i];                          branch_t *bp = rcs->branches[i];
2829                          for(j = fr; j < bp->nrevs-1; j++)                          for(j = fr; j < bp->nrevs-1; j++)
2830                          {                          {
2831                                  if(!bp->revs[j]->ntags && !bp->revs[j]->nbranches)                                  if(!bp->revs[j]->ntags && bp->revs[j]->stripped >= 0 && !bp->revs[j]->nbranches)
2832                                  {                                  {
2833                                            bp->revs[j]->stripped = 1;
2834                                          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]));
2835                                          bp->nrevs--;                                          bp->nrevs--;
                                         bp->revs[j]->stripped = 1;  
2836                                          j--;                                          j--;
2837                                  }                                  }
2838                          }                          }
# Line 3191  Line 3209 
3209    
3210          if(im)          if(im)
3211          {          {
3212                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, clr(im, "title_color", NULL, NULL)->id);
3213                  gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, conf.tag_color.id);                  gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, clr(im, "tag_color.id", NULL, NULL)->id);
3214                  gdImageLine(im, x1, y1, x2, y2, conf.title_color.id);                  gdImageLine(im, x1, y1, x2, y2, clr(im, "title_color", NULL, NULL)->id);
3215          }          }
3216  }  }
3217    
# Line 3377  Line 3395 
3395                                          bhref, x1, y1, x2, y2, balt, htp);                                          bhref, x1, y1, x2, y2, balt, htp);
3396                          if(im)                          if(im)
3397                          {                          {
3398                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, clr(im, "title_color", NULL, NULL)->id);
3399                                  gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, conf.tag_color.id);                                  gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, clr(im, "tag_color", NULL, NULL)->id);
3400                                  gdImageLine(im, x1, y1, x2, y2, conf.title_color.id);                                  gdImageLine(im, x1, y1, x2, y2, clr(im, "title_color", NULL, NULL)->id);
3401                          }                          }
3402                  }                  }
3403                  else                  else
# Line 3454  Line 3472 
3472                                  href, x1, y1, x2, y2, alt, htp);                                  href, x1, y1, x2, y2, alt, htp);
3473                          if(im)                          if(im)
3474                          {                          {
3475                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, clr(im, "title_color", NULL, NULL)->id);
3476                                  gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, conf.tag_color.id);                                  gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, clr(im, "tag_color", NULL, NULL)->id);
3477                                  gdImageLine(im, x1, y1, x2, y2, conf.title_color.id);                                  gdImageLine(im, x1, y1, x2, y2, clr(im, "title_color", NULL, NULL)->id);
3478                          }                          }
3479                          xfree(href);                          xfree(href);
3480                          xfree(alt);                          xfree(alt);
# Line 3524  Line 3542 
3542                                          alt, htp);                                          alt, htp);
3543                                  if(im)                                  if(im)
3544                                  {                                  {
3545                                          gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);                                          gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, clr(im, "title_color", NULL, NULL)->id);
3546                                          gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, conf.tag_color.id);                                          gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, clr(im, "tag_color", NULL, NULL)->id);
3547                                          gdImageLine(im, x1, y1, x2, y2, conf.title_color.id);                                          gdImageLine(im, x1, y1, x2, y2, clr(im, "title_color", NULL, NULL)->id);
3548                                  }                                  }
3549                                  xfree(href);                                  xfree(href);
3550                                  xfree(alt);                                  xfree(alt);
# Line 3552  Line 3570 
3570                                          bhref, x1, y1, x2, y2, balt, htp);                                          bhref, x1, y1, x2, y2, balt, htp);
3571                          if(im)                          if(im)
3572                          {                          {
3573                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, clr(im, "title_color", NULL, NULL)->id);
3574                                  gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, conf.tag_color.id);                                  gdImageFilledRectangle(im, x2-2, y2-2, x2+2, y2+2, clr(im, "tag_color", NULL, NULL)->id);
3575                                  gdImageLine(im, x1, y1, x2, y2, conf.title_color.id);                                  gdImageLine(im, x1, y1, x2, y2, clr(im, "title_color", NULL, NULL)->id);
3576                          }                          }
3577                  }                  }
3578                  xfree(bhref);                  xfree(bhref);
# Line 3594  Line 3612 
3612          "  -[0-9] <txt> Use <txt> for expansion\n"          "  -[0-9] <txt> Use <txt> for expansion\n"
3613          ;          ;
3614    
3615  #define VERSION_STR     "1.5.1"  #define VERSION_STR     "1.5.2"
3616  #define NOTICE_STR      "Copyright (c) 2001,2002,2003,2004 B.Stultiens"  #define NOTICE_STR      "Copyright (c) 2001,2002,2003,2004 B.Stultiens"
3617    
3618  static void append_slash(char **path)  static void append_slash(char **path)
# Line 3761  Line 3779 
3779          conf.merge_from         = xstrdup("");          conf.merge_from         = xstrdup("");
3780          conf.merge_to           = xstrdup("");          conf.merge_to           = xstrdup("");
3781          conf.merge_arrows       = 1;          conf.merge_arrows       = 1;
3782            conf.merge_cvsnt        = 1;
3783          conf.arrow_width        = ARROW_WIDTH;          conf.arrow_width        = ARROW_WIDTH;
3784          conf.arrow_length       = ARROW_LENGTH;          conf.arrow_length       = ARROW_LENGTH;
3785    

Legend:
Removed from v.1.51  
changed lines
  Added in v.1.57

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0