/[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.28, Sat Jul 20 20:41:40 2002 UTC revision 1.29, Tue Feb 11 10:43:44 2003 UTC
# Line 2  Line 2 
2   * CvsGraph graphical representation generator of brances and revisions   * CvsGraph graphical representation generator of brances and revisions
3   * of a file in cvs/rcs.   * of a file in cvs/rcs.
4   *   *
5   * Copyright (C) 2001,2002  B. Stultiens   * Copyright (C) 2001,2002,2003  B. Stultiens
6   *   *
7   * This program is free software; you can redistribute it and/or modify   * 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   * it under the terms of the GNU General Public License as published by
# Line 2261  Line 2261 
2261  void make_imagemap(rcsfile_t *rcs, FILE *fp, gdImagePtr im)  void make_imagemap(rcsfile_t *rcs, FILE *fp, gdImagePtr im)
2262  {  {
2263          int i, j;          int i, j;
2264          fprintf(fp, "<map name=\"%s\">\n", conf.map_name);          const char *htp = conf.html_level == HTMLLEVEL_X ? " /" : "";
2265    
2266            switch(conf.html_level)
2267            {
2268            case HTMLLEVEL_4:
2269                    fprintf(fp, "<map name=\"%s\" id=\"%s\">\n", conf.map_name, conf.map_name);
2270                    break;
2271            case HTMLLEVEL_X:
2272                    fprintf(fp, "<map id=\"%s\">\n", conf.map_name);
2273                    break;
2274            default:
2275                    fprintf(fp, "<map name=\"%s\">\n", conf.map_name);
2276            }
2277    
2278          for(i = 0; i < rcs->nbranches; i++)          for(i = 0; i < rcs->nbranches; i++)
2279          {          {
2280                  branch_t *b = rcs->branches[i];                  branch_t *b = rcs->branches[i];
# Line 2287  Line 2300 
2300                          x2 = b->cx + b->w/2;                          x2 = b->cx + b->w/2;
2301                          y2 = b->y + b->h;                          y2 = b->y + b->h;
2302                  }                  }
2303                  fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s>\n",                  fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s%s>\n",
2304                                  bhref, x1, y1, x2, y2, balt);                                  bhref, x1, y1, x2, y2, balt, htp);
2305                  if(im)                  if(im)
2306                  {                  {
2307                          gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);                          gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);
# Line 2321  Line 2334 
2334                                  x2 = r->cx + r->w/2;                                  x2 = r->cx + r->w/2;
2335                                  y2 = r->y + r->h;                                  y2 = r->y + r->h;
2336                          }                          }
2337                          fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s>\n",                          fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s%s>\n",
2338                                  href, x1, y1, x2, y2, alt);                                  href, x1, y1, x2, y2, alt, htp);
2339                          if(im)                          if(im)
2340                          {                          {
2341                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);
# Line 2389  Line 2402 
2402                                  }                                  }
2403                                  href = expand_string(conf.map_diff_href, rcs, r, r->rev, r1->rev, tag);                                  href = expand_string(conf.map_diff_href, rcs, r, r->rev, r1->rev, tag);
2404                                  alt = expand_string(conf.map_diff_alt, rcs, r, r->rev, r1->rev, tag);                                  alt = expand_string(conf.map_diff_alt, rcs, r, r->rev, r1->rev, tag);
2405                                  fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s>\n",                                  fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s%s>\n",
2406                                          href,                                          href,
2407                                          x1+xoff, y1+yoff, x2-xoff, y2-yoff,                                          x1+xoff, y1+yoff, x2-xoff, y2-yoff,
2408                                          alt);                                          alt, htp);
2409                                  if(im)                                  if(im)
2410                                  {                                  {
2411                                          gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);                                          gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);
# Line 2419  Line 2432 
2432                                  x2 = b->cx + b->w/2;                                  x2 = b->cx + b->w/2;
2433                                  y2 = y1 + b->h;                                  y2 = y1 + b->h;
2434                          }                          }
2435                          fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s>\n",                          fprintf(fp, "\t<area shape=\"rect\" %s coords=\"%d,%d,%d,%d\" %s%s>\n",
2436                                          bhref, x1, y1, x2, y2, balt);                                          bhref, x1, y1, x2, y2, balt, htp);
2437                          if(im)                          if(im)
2438                          {                          {
2439                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);                                  gdImageFilledRectangle(im, x1-2, y1-2, x1+2, y1+2, conf.title_color.id);
# Line 2458  Line 2471 
2471          "  -S           Also strip the first revision (config value is negated)\n"          "  -S           Also strip the first revision (config value is negated)\n"
2472          "  -u           Upside down image (mirror vertically; config value is negated)\n"          "  -u           Upside down image (mirror vertically; config value is negated)\n"
2473          "  -V           Print version and exit\n"          "  -V           Print version and exit\n"
2474            "  -x [34x]     Specify level of HTML 3.2 (default), 4.0 or XHTML\n"
2475          "  -[0-9] <txt> Use <txt> for expansion\n"          "  -[0-9] <txt> Use <txt> for expansion\n"
2476          ;          ;
2477    
2478  #define VERSION_STR     "1.3.0"  #define VERSION_STR     "1.3.1"
2479  #define NOTICE_STR      "Copyright (c) 2001,2002 B.Stultiens"  #define NOTICE_STR      "Copyright (c) 2001,2002,2003 B.Stultiens"
2480    
2481  static void append_slash(char **path)  static void append_slash(char **path)
2482  {  {
# Line 2491  Line 2505 
2505          int stripuntag = 0;          int stripuntag = 0;
2506          int stripfirst = 0;          int stripfirst = 0;
2507          int autostretch = 0;          int autostretch = 0;
2508            int htmllevel = 0;
2509          char *imgmapname = NULL;          char *imgmapname = NULL;
2510          char *imgmapfile = NULL;          char *imgmapfile = NULL;
2511          int lose = 0;          int lose = 0;
# Line 2499  Line 2514 
2514          rcsfile_t *rcs;          rcsfile_t *rcs;
2515          gdImagePtr im;          gdImagePtr im;
2516    
2517          while((optc = getopt(argc, argv, "0:1:2:3:4:5:6:7:8:9:bc:d:hI:ikM:m:O:o:qr:SsuV")) != EOF)          while((optc = getopt(argc, argv, "0:1:2:3:4:5:6:7:8:9:bc:d:hI:ikM:m:O:o:qr:SsuVx:")) != EOF)
2518          {          {
2519                  switch(optc)                  switch(optc)
2520                  {                  {
# Line 2551  Line 2566 
2566                  case 'V':                  case 'V':
2567                          fprintf(stdout, "cvsgraph v%s, %s\n", VERSION_STR, NOTICE_STR);                          fprintf(stdout, "cvsgraph v%s, %s\n", VERSION_STR, NOTICE_STR);
2568                          return 0;                          return 0;
2569                    case 'x':
2570                            switch(optarg[0])
2571                            {
2572                            case '3':
2573                                    htmllevel = HTMLLEVEL_3;
2574                                    break;
2575                            case '4':
2576                                    htmllevel = HTMLLEVEL_4;
2577                                    break;
2578                            case 'x':
2579                                    htmllevel = HTMLLEVEL_X;
2580                                    break;
2581                            default:
2582                                    fprintf(stderr, "Invalid HTML level in -x\n");
2583                                    lose++;
2584                            }
2585                            break;
2586                  case 'h':                  case 'h':
2587                          fprintf(stdout, "%s", usage_str);                          fprintf(stdout, "%s", usage_str);
2588                          return 0;                          return 0;
# Line 2628  Line 2660 
2660          if(stripuntag)  conf.strip_untagged = !conf.strip_untagged;          if(stripuntag)  conf.strip_untagged = !conf.strip_untagged;
2661          if(stripfirst)  conf.strip_first_rev = !conf.strip_first_rev;          if(stripfirst)  conf.strip_first_rev = !conf.strip_first_rev;
2662          if(autostretch) conf.auto_stretch = !conf.auto_stretch;          if(autostretch) conf.auto_stretch = !conf.auto_stretch;
2663            if(htmllevel)   conf.html_level = htmllevel;
2664    
2665          if(conf.rev_minline >= conf.rev_maxline)          if(conf.rev_minline >= conf.rev_maxline)
2666          {          {

Legend:
Removed from v.1.28  
changed lines
  Added in v.1.29

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0