home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume21 / xfig / patch02d < prev    next >
Encoding:
Text File  |  1993-10-21  |  34.8 KB  |  1,062 lines

  1. Newsgroups: comp.sources.x
  2. From: envbvs@epb12.lbl.gov (Brian V. Smith)
  3. Subject: v21i024:  xfig - Draw amd manipulate objects in an X-Window, Patch02d/16
  4. Message-ID: <1993Oct21.185801.6835@sparky.sterling.com>
  5. X-Md4-Signature: 7fded8b7eef88b3b4fa22ff171bca3db
  6. Sender: chris@sparky.sterling.com (Chris Olson)
  7. Organization: Sterling Software
  8. Date: Thu, 21 Oct 1993 18:58:01 GMT
  9. Approved: chris@sterling.com
  10.  
  11. Submitted-by: envbvs@epb12.lbl.gov (Brian V. Smith)
  12. Posting-number: Volume 21, Issue 24
  13. Archive-name: xfig/patch02d
  14. Environment: patch, X11, xfig
  15. Patch-To: xfig: Volume 19, Issue 113-139
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then feed it
  19. # into a shell via "sh file" or similar.  To overwrite existing files,
  20. # type "sh file -c".
  21. # Contents:  xfig.05
  22. # Wrapped by chris@sparky on Thu Oct 21 13:40:05 1993
  23. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  24. echo If this archive is complete, you will see the following message:
  25. echo '          "shar: End of archive 4 (of 16)."'
  26. if test -f 'xfig.05' -a "${1}" != "-c" ; then 
  27.   echo shar: Will not clobber existing file \"'xfig.05'\"
  28. else
  29.   echo shar: Extracting \"'xfig.05'\" \(32473 characters\)
  30.   sed "s/^X//" >'xfig.05' <<'END_OF_FILE'
  31. X      points = tmp_p;
  32. X      }
  33. X+     /* ignore identical points */
  34. X+     if (npoints > 0 && 
  35. X+     points[npoints-1].x == (short) x && points[npoints-1].y == (short) y)
  36. X+         return;
  37. X      points[npoints].x = (short) x;
  38. X      points[npoints].y = (short) y;
  39. X      npoints++;
  40. X***************
  41. X*** 292,298 ****
  42. X      double    xleft, xright, d, asqr, bsqr;
  43. X      int    ymax, yy=0;
  44. X      int    k,m,dir;
  45. X!     float    savezoom, savexoff, saveyoff;
  46. X      int    zoomthick;
  47. X      XPoint    *ipnts;
  48. X  
  49. X--- 296,303 ----
  50. X      double    xleft, xright, d, asqr, bsqr;
  51. X      int    ymax, yy=0;
  52. X      int    k,m,dir;
  53. X!     float    savezoom;
  54. X!     int    savexoff, saveyoff;
  55. X      int    zoomthick;
  56. X      XPoint    *ipnts;
  57. X  
  58. X***************
  59. X*** 313,319 ****
  60. X      savexoff = zoomxoff;
  61. X      saveyoff = zoomyoff;
  62. X      zoomscale = 1.0;
  63. X!     zoomxoff = zoomyoff = 0.0;
  64. X  
  65. X      cphi = cos((double)angle);
  66. X      sphi = sin((double)angle);
  67. X--- 318,324 ----
  68. X      savexoff = zoomxoff;
  69. X      saveyoff = zoomyoff;
  70. X      zoomscale = 1.0;
  71. X!     zoomxoff = zoomyoff = 0;
  72. X  
  73. X      cphi = cos((double)angle);
  74. X      sphi = sin((double)angle);
  75. X***************
  76. X*** 440,446 ****
  77. X          if (line->eps->file[0] == '\0')
  78. X          string = EMPTY_EPS;
  79. X          else {
  80. X!         string = rindex(line->eps->file, '/');
  81. X          if (string == NULL)
  82. X              string = line->eps->file;
  83. X          else
  84. X--- 445,451 ----
  85. X          if (line->eps->file[0] == '\0')
  86. X          string = EMPTY_EPS;
  87. X          else {
  88. X!         string = strrchr(line->eps->file, '/');
  89. X          if (string == NULL)
  90. X              string = line->eps->file;
  91. X          else
  92. X***************
  93. X*** 453,463 ****
  94. X          ymin = min3(p0->y, p1->y, p2->y);
  95. X          xmax = max3(p0->x, p1->x, p2->x);
  96. X          ymax = max3(p0->y, p1->y, p2->y);
  97. X!         canvas_font = lookfont(0, 12, 0.0);    /* get a size 12 font */
  98. X          txt = pf_textwidth(canvas_font, strlen(string), string);
  99. X          x = (xmin + xmax) / 2 - txt.x / 2;
  100. X          y = (ymin + ymax) / 2;
  101. X!         pw_text(canvas_win, x, y, op, canvas_font, string, DEFAULT_COLOR);
  102. X          /* return; */
  103. X      }
  104. X      }
  105. X--- 458,469 ----
  106. X          ymin = min3(p0->y, p1->y, p2->y);
  107. X          xmax = max3(p0->x, p1->x, p2->x);
  108. X          ymax = max3(p0->y, p1->y, p2->y);
  109. X!         canvas_font = lookfont(0, 12);    /* get a size 12 font */
  110. X          txt = pf_textwidth(canvas_font, strlen(string), string);
  111. X          x = (xmin + xmax) / 2 - txt.x / 2;
  112. X          y = (ymin + ymax) / 2;
  113. X!         pw_text(canvas_win, x, y, op, canvas_font, 
  114. X!             0.0, string, DEFAULT_COLOR);
  115. X          /* return; */
  116. X      }
  117. X      }
  118. X***************
  119. X*** 832,846 ****
  120. X  {
  121. X      PR_SIZE        size;
  122. X      int            x,y;
  123. X-     float        angle;
  124. X      int            xmin, ymin, xmax, ymax;
  125. X      int            x1,y1, x2,y2, x3,y3, x4,y4;
  126. X  
  127. X!     if (appres.textoutline)    /* get corners of rectangle at actual angle */
  128. X!     text_bound_both(text, &xmin, &ymin, &xmax, &ymax, 
  129. X!               &x1,&y1, &x2,&y2, &x3,&y3, &x4,&y4);
  130. X!     else
  131. X!     text_bound(text, &xmin, &ymin, &xmax, &ymax);
  132. X  
  133. X      if (!overlapping(ZOOMX(xmin), ZOOMY(ymin), ZOOMX(xmax), ZOOMY(ymax),
  134. X               clip_xmin, clip_ymin, clip_xmax, clip_ymax))
  135. X--- 838,848 ----
  136. X  {
  137. X      PR_SIZE        size;
  138. X      int            x,y;
  139. X      int            xmin, ymin, xmax, ymax;
  140. X      int            x1,y1, x2,y2, x3,y3, x4,y4;
  141. X  
  142. X!     text_bound(text, &xmin, &ymin, &xmax, &ymax, 
  143. X!            &x1,&y1, &x2,&y2, &x3,&y3, &x4,&y4);
  144. X  
  145. X      if (!overlapping(ZOOMX(xmin), ZOOMY(ymin), ZOOMX(xmax), ZOOMY(ymax),
  146. X               clip_xmin, clip_ymin, clip_xmax, clip_ymax))
  147. X***************
  148. X*** 856,893 ****
  149. X  
  150. X      x = text->base_x;
  151. X      y = text->base_y;
  152. X-     angle = text->angle*180.0/M_PI;
  153. X      if (text->type == T_CENTER_JUSTIFIED || text->type == T_RIGHT_JUSTIFIED) {
  154. X      size = pf_textwidth(text->fontstruct, strlen(text->cstring), 
  155. X                  text->cstring);
  156. X      size.x = size.x/zoomscale;
  157. X      if (text->type == T_CENTER_JUSTIFIED) {
  158. X!         if (angle < 90.0 - 0.001)
  159. X!         x -= size.x / 2;    /*   0 to  89 degrees */
  160. X!         else if (angle < 180.0 - 0.001)
  161. X!         y += size.x / 2;    /*  90 to 179 degrees */
  162. X!         else if (angle < 270.0 - 0.001)
  163. X!         x += size.x / 2;    /* 180 to 269 degrees */
  164. X!         else 
  165. X!         y -= size.x / 2;    /* 270 to 359 degrees */
  166. X! 
  167. X      } else {    /* T_RIGHT_JUSTIFIED */
  168. X!         if (angle < 90.0 - 0.001)
  169. X!         x -= size.x;        /*   0 to  89 degrees */
  170. X!         else if (angle < 180.0 - 0.001)
  171. X!         y += size.x;        /*  90 to 179 degrees */
  172. X!         else if (angle < 270.0 - 0.001)
  173. X!         x += size.x;        /* 180 to 269 degrees */
  174. X!         else 
  175. X!         y -= size.x;        /* 270 to 359 degrees */
  176. X      }
  177. X      }
  178. X      if (hidden_text(text))
  179. X!     pw_text(canvas_win, x, y, op, lookfont(0,12,text->angle),
  180. X!         hidden_text_string, DEFAULT_COLOR);
  181. X      else
  182. X      pw_text(canvas_win, x, y, op, text->fontstruct,
  183. X!         text->cstring, text->color);
  184. X  }
  185. X  
  186. X  /*********************** COMPOUND ***************************/
  187. X--- 858,881 ----
  188. X  
  189. X      x = text->base_x;
  190. X      y = text->base_y;
  191. X      if (text->type == T_CENTER_JUSTIFIED || text->type == T_RIGHT_JUSTIFIED) {
  192. X      size = pf_textwidth(text->fontstruct, strlen(text->cstring), 
  193. X                  text->cstring);
  194. X      size.x = size.x/zoomscale;
  195. X      if (text->type == T_CENTER_JUSTIFIED) {
  196. X!         x = round(x-cos(text->angle)*size.x/2);
  197. X!         y = round(y+sin(text->angle)*size.x/2);
  198. X      } else {    /* T_RIGHT_JUSTIFIED */
  199. X!         x = round(x-cos(text->angle)*size.x);
  200. X!         y = round(y+sin(text->angle)*size.x);
  201. X      }
  202. X      }
  203. X      if (hidden_text(text))
  204. X!     pw_text(canvas_win, x, y, op, lookfont(0,12),
  205. X!         text->angle, hidden_text_string, DEFAULT_COLOR);
  206. X      else
  207. X      pw_text(canvas_win, x, y, op, text->fontstruct,
  208. X!         text->angle, text->cstring, text->color);
  209. X  }
  210. X  
  211. X  /*********************** COMPOUND ***************************/
  212. X***************
  213. X*** 1038,1046 ****
  214. X      dec = 1;
  215. X      }
  216. X      if (xstart == xend && ystart == yend) {
  217. X!     test_succeed = margin = 1;
  218. X      } else {
  219. X!     test_succeed = margin = 1;
  220. X      }
  221. X  
  222. X      if (!add_point(xoff + x, yoff - y))
  223. X--- 1026,1034 ----
  224. X      dec = 1;
  225. X      }
  226. X      if (xstart == xend && ystart == yend) {
  227. X!     test_succeed = margin = 2;
  228. X      } else {
  229. X!     test_succeed = margin = 3;
  230. X      }
  231. X  
  232. X      if (!add_point(xoff + x, yoff - y))
  233. X***************
  234. X*** 1072,1079 ****
  235. X      if (!add_point(xoff + x, yoff - y))
  236. X          break;
  237. X  
  238. X!     if (abs(x - xend) < margin && abs(y - yend) < margin)
  239. X!         test_succeed--;
  240. X      }
  241. X  
  242. X      if (xstart == xend && ystart == yend)    /* end points should touch */
  243. X--- 1060,1068 ----
  244. X      if (!add_point(xoff + x, yoff - y))
  245. X          break;
  246. X  
  247. X!     if ((abs(x - xend) < margin && abs(y - yend) < margin) &&
  248. X!         (x != xend || y != yend))
  249. X!         test_succeed--;
  250. X      }
  251. X  
  252. X      if (xstart == xend && ystart == yend)    /* end points should touch */
  253. Xdiff -rc xfig.2.1.7a/u_elastic.c xfig.2.1.8/u_elastic.c
  254. X*** xfig.2.1.7a/u_elastic.c    Fri Feb 12 09:04:23 1993
  255. X--- xfig.2.1.8/u_elastic.c    Mon Sep 13 16:52:45 1993
  256. X***************
  257. X*** 161,177 ****
  258. X  {
  259. X      float        angle, dx, dy;
  260. X  
  261. X      if (x == cur_x && y == cur_y)
  262. X      return;
  263. X  
  264. X      dx = x - fix_x;
  265. X      dy = fix_y - y;
  266. X!     if (sqrt((double) (dx * dx + dy * dy)) < 7)
  267. X      return;
  268. X      if (dx == 0)
  269. X!     angle = -90;
  270. X      else
  271. X!     angle = 180 * atan((double) (dy / dx)) / 3.1416;
  272. X  
  273. X      elastic_line();
  274. X      if (manhattan_mode) {
  275. X--- 161,179 ----
  276. X  {
  277. X      float        angle, dx, dy;
  278. X  
  279. X+     length_msg(MSG_LENGTH);
  280. X      if (x == cur_x && y == cur_y)
  281. X      return;
  282. X  
  283. X      dx = x - fix_x;
  284. X      dy = fix_y - y;
  285. X!     /* only move if the pointer has moved at least 2 pixels */
  286. X!     if (sqrt((double) (dx * dx + dy * dy)) < 2.0)
  287. X      return;
  288. X      if (dx == 0)
  289. X!     angle = -90.0;
  290. X      else
  291. X!     angle = 180.0 * atan((double) (dy / dx)) / M_PI;
  292. X  
  293. X      elastic_line();
  294. X      if (manhattan_mode) {
  295. X***************
  296. X*** 187,207 ****
  297. X          else
  298. X          angle90_line(x, y);
  299. X      } else {
  300. X!         if (angle < -45)
  301. X          angle90_line(x, y);
  302. X!         else if (angle < 45)
  303. X          angle0_line(x, y);
  304. X          else
  305. X          angle90_line(x, y);
  306. X      }
  307. X      } else {
  308. X!     if (angle < 0)
  309. X          angle135_line(x, y);
  310. X      else
  311. X          angle45_line(x, y);
  312. X      }
  313. X      elastic_line();
  314. X-     length_msg(MSG_LENGTH);
  315. X  }
  316. X  
  317. X  angle0_line(x, y)
  318. X--- 189,208 ----
  319. X          else
  320. X          angle90_line(x, y);
  321. X      } else {
  322. X!         if (angle < -45.0)
  323. X          angle90_line(x, y);
  324. X!         else if (angle < 45.0)
  325. X          angle0_line(x, y);
  326. X          else
  327. X          angle90_line(x, y);
  328. X      }
  329. X      } else {
  330. X!     if (angle < 0.0)
  331. X          angle135_line(x, y);
  332. X      else
  333. X          angle45_line(x, y);
  334. X      }
  335. X      elastic_line();
  336. X  }
  337. X  
  338. X  angle0_line(x, y)
  339. X***************
  340. X*** 442,449 ****
  341. X      rx = cur_x - fix_x;
  342. X      ry = cur_y - fix_y;
  343. X      if (cur_angle != 0.0) {
  344. X!     angle_ellipse(fix_x, fix_y, rx, ry, cur_angle,
  345. X!           INV_PAINT, 1, RUBBER_LINE, 0.0, 0, DEFAULT_COLOR);
  346. X      } else {
  347. X      x1 = fix_x + rx;
  348. X      x2 = fix_x - rx;
  349. X--- 443,450 ----
  350. X      rx = cur_x - fix_x;
  351. X      ry = cur_y - fix_y;
  352. X      if (cur_angle != 0.0) {
  353. X!     angle_ellipse(fix_x, fix_y, rx, ry, cur_angle, INV_PAINT, 1, 
  354. X!          RUBBER_LINE, 0.0, 0, DEFAULT_COLOR);
  355. X      } else {
  356. X      x1 = fix_x + rx;
  357. X      x2 = fix_x - rx;
  358. X***************
  359. X*** 754,760 ****
  360. X  elastic_movetext()
  361. X  {
  362. X      pw_text(canvas_win, cur_x + x1off, cur_y + y1off, INV_PAINT,
  363. X!         new_t->fontstruct, new_t->cstring, new_t->color);
  364. X  }
  365. X  
  366. X  
  367. X--- 755,762 ----
  368. X  elastic_movetext()
  369. X  {
  370. X      pw_text(canvas_win, cur_x + x1off, cur_y + y1off, INV_PAINT,
  371. X!         new_t->fontstruct, new_t->angle, 
  372. X!         new_t->cstring, new_t->color);
  373. X  }
  374. X  
  375. X  
  376. Xdiff -rc xfig.2.1.7a/u_error.c xfig.2.1.8/u_error.c
  377. X*** xfig.2.1.7a/u_error.c    Mon Mar 29 14:31:49 1993
  378. X--- xfig.2.1.8/u_error.c    Tue Aug 31 10:04:18 1993
  379. X***************
  380. X*** 85,91 ****
  381. X      } else
  382. X      fprintf(stderr, "xfig: figure empty or not modified - exiting\n");
  383. X  
  384. X!     quit();
  385. X  }
  386. X  
  387. X  /* ARGSUSED */
  388. X--- 85,91 ----
  389. X      } else
  390. X      fprintf(stderr, "xfig: figure empty or not modified - exiting\n");
  391. X  
  392. X!     goodbye();    /* finish up and exit */
  393. X  }
  394. X  
  395. X  /* ARGSUSED */
  396. X***************
  397. X*** 101,107 ****
  398. X      {
  399. X      return;
  400. X      }
  401. X-     /* free all the GC's */
  402. X-     free_GCs();
  403. X      emergency_quit();
  404. X  }
  405. X--- 101,105 ----
  406. Xdiff -rc xfig.2.1.7a/u_fonts.c xfig.2.1.8/u_fonts.c
  407. X*** xfig.2.1.7a/u_fonts.c    Mon Mar 29 14:24:40 1993
  408. X--- xfig.2.1.8/u_fonts.c    Fri Sep 17 10:25:48 1993
  409. X***************
  410. X*** 18,32 ****
  411. X  
  412. X  /* printer font names for indicator window */
  413. X  
  414. X! struct _xfstruct x_fontinfo[NUM_X_FONTS] = {
  415. X      {"-adobe-times-medium-r-*--", (struct xfont*) NULL},
  416. X      {"-adobe-times-medium-i-*--", (struct xfont*) NULL},
  417. X      {"-adobe-times-bold-r-*--", (struct xfont*) NULL},
  418. X      {"-adobe-times-bold-i-*--", (struct xfont*) NULL},
  419. X!     {"-schumacher-clean-medium-r-*--", (struct xfont*) NULL},
  420. X      {"-schumacher-clean-medium-i-*--", (struct xfont*) NULL},
  421. X      {"-schumacher-clean-bold-r-*--", (struct xfont*) NULL},
  422. X      {"-schumacher-clean-bold-i-*--", (struct xfont*) NULL},
  423. X      {"-adobe-courier-medium-r-*--", (struct xfont*) NULL},
  424. X      {"-adobe-courier-medium-o-*--", (struct xfont*) NULL},
  425. X      {"-adobe-courier-bold-r-*--", (struct xfont*) NULL},
  426. X--- 18,36 ----
  427. X  
  428. X  /* printer font names for indicator window */
  429. X  
  430. X! struct _xfstruct x_fontinfo[NUM_FONTS] = {
  431. X      {"-adobe-times-medium-r-*--", (struct xfont*) NULL},
  432. X      {"-adobe-times-medium-i-*--", (struct xfont*) NULL},
  433. X      {"-adobe-times-bold-r-*--", (struct xfont*) NULL},
  434. X      {"-adobe-times-bold-i-*--", (struct xfont*) NULL},
  435. X!     {"-schumacher-clean-medium-r-*--", (struct xfont*) NULL},    /* closest to Avant-Garde */
  436. X      {"-schumacher-clean-medium-i-*--", (struct xfont*) NULL},
  437. X      {"-schumacher-clean-bold-r-*--", (struct xfont*) NULL},
  438. X      {"-schumacher-clean-bold-i-*--", (struct xfont*) NULL},
  439. X+     {"-adobe-times-medium-r-*--", (struct xfont*) NULL},    /* closest to Bookman */
  440. X+     {"-adobe-times-medium-i-*--", (struct xfont*) NULL},
  441. X+     {"-adobe-times-bold-r-*--", (struct xfont*) NULL},
  442. X+     {"-adobe-times-bold-i-*--", (struct xfont*) NULL},
  443. X      {"-adobe-courier-medium-r-*--", (struct xfont*) NULL},
  444. X      {"-adobe-courier-medium-o-*--", (struct xfont*) NULL},
  445. X      {"-adobe-courier-bold-r-*--", (struct xfont*) NULL},
  446. X***************
  447. X*** 35,45 ****
  448. X      {"-adobe-helvetica-medium-o-*--", (struct xfont*) NULL},
  449. X      {"-adobe-helvetica-bold-r-*--", (struct xfont*) NULL},
  450. X      {"-adobe-helvetica-bold-o-*--", (struct xfont*) NULL},
  451. X      {"-adobe-new century schoolbook-medium-r-*--", (struct xfont*) NULL},
  452. X      {"-adobe-new century schoolbook-medium-i-*--", (struct xfont*) NULL},
  453. X      {"-adobe-new century schoolbook-bold-r-*--", (struct xfont*) NULL},
  454. X      {"-adobe-new century schoolbook-bold-i-*--", (struct xfont*) NULL},
  455. X!     {"-*-lucidabright-medium-r-*--", (struct xfont*) NULL},
  456. X      {"-*-lucidabright-medium-i-*--", (struct xfont*) NULL},
  457. X      {"-*-lucidabright-demibold-r-*--", (struct xfont*) NULL},
  458. X      {"-*-lucidabright-demibold-i-*--", (struct xfont*) NULL},
  459. X--- 39,53 ----
  460. X      {"-adobe-helvetica-medium-o-*--", (struct xfont*) NULL},
  461. X      {"-adobe-helvetica-bold-r-*--", (struct xfont*) NULL},
  462. X      {"-adobe-helvetica-bold-o-*--", (struct xfont*) NULL},
  463. X+     {"-adobe-helvetica-medium-r-*--", (struct xfont*) NULL},    /* closest to Helv-nar. */
  464. X+     {"-adobe-helvetica-medium-o-*--", (struct xfont*) NULL},
  465. X+     {"-adobe-helvetica-bold-r-*--", (struct xfont*) NULL},
  466. X+     {"-adobe-helvetica-bold-o-*--", (struct xfont*) NULL},
  467. X      {"-adobe-new century schoolbook-medium-r-*--", (struct xfont*) NULL},
  468. X      {"-adobe-new century schoolbook-medium-i-*--", (struct xfont*) NULL},
  469. X      {"-adobe-new century schoolbook-bold-r-*--", (struct xfont*) NULL},
  470. X      {"-adobe-new century schoolbook-bold-i-*--", (struct xfont*) NULL},
  471. X!     {"-*-lucidabright-medium-r-*--", (struct xfont*) NULL},    /* closest to Palatino */
  472. X      {"-*-lucidabright-medium-i-*--", (struct xfont*) NULL},
  473. X      {"-*-lucidabright-demibold-r-*--", (struct xfont*) NULL},
  474. X      {"-*-lucidabright-demibold-i-*--", (struct xfont*) NULL},
  475. X***************
  476. X*** 48,99 ****
  477. X      {"-*-zapfdingbats-*-*-*--", (struct xfont*) NULL},
  478. X  };
  479. X  
  480. X! struct _fstruct ps_fontinfo[NUM_PS_FONTS + 1] = {
  481. X      {"Default", -1},
  482. X!     {"Times-Roman", 0},
  483. X!     {"Times-Italic", 1},
  484. X!     {"Times-Bold", 2},
  485. X!     {"Times-BoldItalic", 3},
  486. X!     {"AvantGarde-Book", 4},
  487. X!     {"AvantGarde-BookOblique", 5},
  488. X!     {"AvantGarde-Demi", 6},
  489. X!     {"AvantGarde-DemiOblique", 7},
  490. X!     {"Bookman-Light", 0},
  491. X!     {"Bookman-LightItalic", 0},
  492. X!     {"Bookman-Demi", 0},
  493. X!     {"Bookman-DemiItalic", 0},
  494. X!     {"Courier", 8},
  495. X!     {"Courier-Oblique", 9},
  496. X!     {"Courier-Bold", 10},
  497. X!     {"Courier-BoldOblique", 11},
  498. X!     {"Helvetica", 12},
  499. X!     {"Helvetica-Oblique", 13},
  500. X!     {"Helvetica-Bold", 14},
  501. X!     {"Helvetica-BoldOblique", 15},
  502. X!     {"Helvetica-Narrow", 0},
  503. X!     {"Helvetica-Narrow-Oblique", 0},
  504. X!     {"Helvetica-Narrow-Bold", 0},
  505. X!     {"Helvetica-Narrow-BoldOblique", 0},
  506. X!     {"NewCenturySchlbk-Roman", 16},
  507. X!     {"NewCenturySchlbk-Italic", 17},
  508. X!     {"NewCenturySchlbk-Bold", 18},
  509. X!     {"NewCenturySchlbk-BoldItalic", 19},
  510. X!     {"Palatino-Roman", 20},
  511. X!     {"Palatino-Italic", 21},
  512. X!     {"Palatino-Bold", 22},
  513. X!     {"Palatino-BoldItalic", 23},
  514. X!     {"Symbol", 24},
  515. X!     {"ZapfChancery-MediumItalic", 25},
  516. X!     {"ZapfDingbats", 26},
  517. X  };
  518. X  
  519. X  struct _fstruct latex_fontinfo[NUM_LATEX_FONTS] = {
  520. X!     {"Default", 0},
  521. X!     {"Roman", 0},
  522. X!     {"Bold", 2},
  523. X!     {"Italic", 1},
  524. X!     {"Modern", 12},
  525. X!     {"Typewriter", 8},
  526. X  };
  527. X  
  528. X  x_fontnum(psflag, fnum)
  529. X--- 56,107 ----
  530. X      {"-*-zapfdingbats-*-*-*--", (struct xfont*) NULL},
  531. X  };
  532. X  
  533. X! struct _fstruct ps_fontinfo[NUM_FONTS + 1] = {
  534. X      {"Default", -1},
  535. X!     {"Times-Roman",            0},
  536. X!     {"Times-Italic",            1},
  537. X!     {"Times-Bold",            2},
  538. X!     {"Times-BoldItalic",        3},
  539. X!     {"AvantGarde-Book",            4},
  540. X!     {"AvantGarde-BookOblique",        5},
  541. X!     {"AvantGarde-Demi",            6},
  542. X!     {"AvantGarde-DemiOblique",        7},
  543. X!     {"Bookman-Light",            8},
  544. X!     {"Bookman-LightItalic",        9},
  545. X!     {"Bookman-Demi",            10},
  546. X!     {"Bookman-DemiItalic",        11},
  547. X!     {"Courier",                12},
  548. X!     {"Courier-Oblique",            13},
  549. X!     {"Courier-Bold",            14},
  550. X!     {"Courier-BoldOblique",        15},
  551. X!     {"Helvetica",            16},
  552. X!     {"Helvetica-Oblique",        17},
  553. X!     {"Helvetica-Bold",            18},
  554. X!     {"Helvetica-BoldOblique",        19},
  555. X!     {"Helvetica-Narrow",        20},
  556. X!     {"Helvetica-Narrow-Oblique",    21},
  557. X!     {"Helvetica-Narrow-Bold",        22},
  558. X!     {"Helvetica-Narrow-BoldOblique",    23},
  559. X!     {"NewCenturySchlbk-Roman",        24},
  560. X!     {"NewCenturySchlbk-Italic",        25},
  561. X!     {"NewCenturySchlbk-Bold",        26},
  562. X!     {"NewCenturySchlbk-BoldItalic",    27},
  563. X!     {"Palatino-Roman",            28},
  564. X!     {"Palatino-Italic",            29},
  565. X!     {"Palatino-Bold",            30},
  566. X!     {"Palatino-BoldItalic",        31},
  567. X!     {"Symbol",                32},
  568. X!     {"ZapfChancery-MediumItalic",    33},
  569. X!     {"ZapfDingbats",            34},
  570. X  };
  571. X  
  572. X  struct _fstruct latex_fontinfo[NUM_LATEX_FONTS] = {
  573. X!     {"Default",        0},
  574. X!     {"Roman",        0},
  575. X!     {"Bold",        2},
  576. X!     {"Italic",        1},
  577. X!     {"Modern",        16},
  578. X!     {"Typewriter",    12},
  579. X  };
  580. X  
  581. X  x_fontnum(psflag, fnum)
  582. X***************
  583. X*** 110,116 ****
  584. X  
  585. X      if (font == NULL)
  586. X      return(DEF_PS_FONT);
  587. X!     for (i=0; i<NUM_PS_FONTS; i++)
  588. X      if (strcmp(ps_fontinfo[i].name, font) == 0)
  589. X          return (i-1);
  590. X      return(DEF_PS_FONT);
  591. X--- 118,124 ----
  592. X  
  593. X      if (font == NULL)
  594. X      return(DEF_PS_FONT);
  595. X!     for (i=0; i<NUM_FONTS; i++)
  596. X      if (strcmp(ps_fontinfo[i].name, font) == 0)
  597. X          return (i-1);
  598. X      return(DEF_PS_FONT);
  599. Xdiff -rc xfig.2.1.7a/u_fonts.h xfig.2.1.8/u_fonts.h
  600. X*** xfig.2.1.7a/u_fonts.h    Wed Jan  6 15:02:53 1993
  601. X--- xfig.2.1.8/u_fonts.h    Mon Aug 23 15:23:31 1993
  602. X***************
  603. X*** 20,27 ****
  604. X  #define LATEX_FONTPANE_WD 112
  605. X  #define PS_FONTPANE_HT 20
  606. X  #define LATEX_FONTPANE_HT 20
  607. X! #define NUM_X_FONTS 27
  608. X! #define NUM_PS_FONTS 35
  609. X  #define NUM_LATEX_FONTS 6
  610. X  
  611. X  /* element of linked list for each font
  612. X--- 20,26 ----
  613. X  #define LATEX_FONTPANE_WD 112
  614. X  #define PS_FONTPANE_HT 20
  615. X  #define LATEX_FONTPANE_HT 20
  616. X! #define NUM_FONTS 35
  617. X  #define NUM_LATEX_FONTS 6
  618. X  
  619. X  /* element of linked list for each font
  620. X***************
  621. X*** 33,47 ****
  622. X      int            size;    /* size in points */
  623. X      Font        fid;    /* X font id */
  624. X      char       *fname;    /* actual name of X font found */
  625. X!     struct flist   *list;    /* list of fonts by angle */
  626. X      struct xfont   *next;    /* next in the list */
  627. X  };
  628. X- 
  629. X- struct flist {
  630. X-     int            dir;    /* direction (0=0 degrees, 1=90, 2=180, 3=270) */
  631. X-     XRotFontStruct *fstruct;    /* X font structure */
  632. X-     struct flist   *next;
  633. X-     };
  634. X  
  635. X  struct _fstruct {
  636. X      char       *name;    /* Postscript font name */
  637. X--- 32,40 ----
  638. X      int            size;    /* size in points */
  639. X      Font        fid;    /* X font id */
  640. X      char       *fname;    /* actual name of X font found */
  641. X!     XFontStruct       *fstruct;    /* X font structure */
  642. X      struct xfont   *next;    /* next in the list */
  643. X  };
  644. X  
  645. X  struct _fstruct {
  646. X      char       *name;    /* Postscript font name */
  647. Xdiff -rc xfig.2.1.7a/u_free.c xfig.2.1.8/u_free.c
  648. X*** xfig.2.1.7a/u_free.c    Wed Jan  6 12:03:02 1993
  649. X--- xfig.2.1.8/u_free.c    Tue May 11 09:08:41 1993
  650. X***************
  651. X*** 169,175 ****
  652. X      int i;
  653. X  
  654. X      XFreeGC(tool_d, gc);
  655. X-     XFreeGC(tool_d, bold_gc);
  656. X      XFreeGC(tool_d, button_gc);
  657. X      XFreeGC(tool_d, color_gc);
  658. X      XFreeGC(tool_d, ind_button_gc);
  659. X--- 169,174 ----
  660. Xdiff -rc xfig.2.1.7a/u_markers.c xfig.2.1.8/u_markers.c
  661. X*** xfig.2.1.7a/u_markers.c    Wed Dec  9 17:15:16 1992
  662. X--- xfig.2.1.8/u_markers.c    Wed Jun 16 14:55:28 1993
  663. X***************
  664. X*** 40,47 ****
  665. X      int            x, y;
  666. X  {
  667. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  668. X!     set_marker(canvas_win, x - 2, y - 2, 5, 5, 0, 0);
  669. X!     set_marker(canvas_win, x - 1, y - 1, 3, 3, 0, 0);
  670. X  }
  671. X  
  672. X  ellipse_in_mask()
  673. X--- 40,47 ----
  674. X      int            x, y;
  675. X  {
  676. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  677. X!     set_marker(canvas_win, x - 2, y - 2, MARK_SIZ, MARK_SIZ, 0, 0);
  678. X!     set_marker(canvas_win, x - 1, y - 1, MARK_SIZ-2, MARK_SIZ-2, 0, 0);
  679. X  }
  680. X  
  681. X  ellipse_in_mask()
  682. X***************
  683. X*** 271,278 ****
  684. X      F_ellipse       *e;
  685. X  {
  686. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  687. X!     set_marker(canvas_win, e->start.x - 2, e->start.y - 2, 5, 5, 0, 0);
  688. X!     set_marker(canvas_win, e->end.x - 2, e->end.y - 2, 5, 5, 0, 0);
  689. X      if (e->tagged)
  690. X      toggle_ellipsehighlight(e);
  691. X  }
  692. X--- 271,278 ----
  693. X      F_ellipse       *e;
  694. X  {
  695. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  696. X!     set_marker(canvas_win, e->start.x - 2, e->start.y - 2, MARK_SIZ, MARK_SIZ, 0, 0);
  697. X!     set_marker(canvas_win, e->end.x - 2, e->end.y - 2, MARK_SIZ, MARK_SIZ, 0, 0);
  698. X      if (e->tagged)
  699. X      toggle_ellipsehighlight(e);
  700. X  }
  701. X***************
  702. X*** 282,290 ****
  703. X  {
  704. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  705. X      set_marker(canvas_win, e->start.x, e->start.y, 1, 1, 0, 0);
  706. X!     set_marker(canvas_win, e->start.x - 1, e->start.y - 1, 3, 3, 0, 0);
  707. X      set_marker(canvas_win, e->end.x, e->end.y, 1, 1, 0, 0);
  708. X!     set_marker(canvas_win, e->end.x - 1, e->end.y - 1, 3, 3, 0, 0);
  709. X  }
  710. X  
  711. X  toggle_arcmarker(a)
  712. X--- 282,290 ----
  713. X  {
  714. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  715. X      set_marker(canvas_win, e->start.x, e->start.y, 1, 1, 0, 0);
  716. X!     set_marker(canvas_win, e->start.x - 1, e->start.y - 1, SM_MARK, SM_MARK, 0, 0);
  717. X      set_marker(canvas_win, e->end.x, e->end.y, 1, 1, 0, 0);
  718. X!     set_marker(canvas_win, e->end.x - 1, e->end.y - 1, SM_MARK, SM_MARK, 0, 0);
  719. X  }
  720. X  
  721. X  toggle_arcmarker(a)
  722. X***************
  723. X*** 291,299 ****
  724. X      F_arc       *a;
  725. X  {
  726. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  727. X!     set_marker(canvas_win, a->point[0].x - 2, a->point[0].y - 2, 5, 5, 0, 0);
  728. X!     set_marker(canvas_win, a->point[1].x - 2, a->point[1].y - 2, 5, 5, 0, 0);
  729. X!     set_marker(canvas_win, a->point[2].x - 2, a->point[2].y - 2, 5, 5, 0, 0);
  730. X      if (a->tagged)
  731. X      toggle_archighlight(a);
  732. X  }
  733. X--- 291,299 ----
  734. X      F_arc       *a;
  735. X  {
  736. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  737. X!     set_marker(canvas_win,a->point[0].x-2,a->point[0].y-2,MARK_SIZ,MARK_SIZ,0,0);
  738. X!     set_marker(canvas_win,a->point[1].x-2,a->point[1].y-2,MARK_SIZ,MARK_SIZ,0,0);
  739. X!     set_marker(canvas_win,a->point[2].x-2,a->point[2].y-2,MARK_SIZ,MARK_SIZ,0,0);
  740. X      if (a->tagged)
  741. X      toggle_archighlight(a);
  742. X  }
  743. X***************
  744. X*** 303,313 ****
  745. X  {
  746. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  747. X      set_marker(canvas_win, a->point[0].x, a->point[0].y, 1, 1, 0, 0);
  748. X!     set_marker(canvas_win, a->point[0].x - 1, a->point[0].y - 1, 3, 3, 0, 0);
  749. X      set_marker(canvas_win, a->point[1].x, a->point[1].y, 1, 1, 0, 0);
  750. X!     set_marker(canvas_win, a->point[1].x - 1, a->point[1].y - 1, 3, 3, 0, 0);
  751. X      set_marker(canvas_win, a->point[2].x, a->point[2].y, 1, 1, 0, 0);
  752. X!     set_marker(canvas_win, a->point[2].x - 1, a->point[2].y - 1, 3, 3, 0, 0);
  753. X  }
  754. X  
  755. X  toggle_textmarker(t)
  756. X--- 303,313 ----
  757. X  {
  758. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  759. X      set_marker(canvas_win, a->point[0].x, a->point[0].y, 1, 1, 0, 0);
  760. X!     set_marker(canvas_win, a->point[0].x-1, a->point[0].y-1, SM_MARK, SM_MARK, 0, 0);
  761. X      set_marker(canvas_win, a->point[1].x, a->point[1].y, 1, 1, 0, 0);
  762. X!     set_marker(canvas_win, a->point[1].x-1, a->point[1].y-1, SM_MARK, SM_MARK, 0, 0);
  763. X      set_marker(canvas_win, a->point[2].x, a->point[2].y, 1, 1, 0, 0);
  764. X!     set_marker(canvas_win, a->point[2].x-1, a->point[2].y-1, SM_MARK, SM_MARK, 0, 0);
  765. X  }
  766. X  
  767. X  toggle_textmarker(t)
  768. X***************
  769. X*** 319,326 ****
  770. X      /* adjust for text angle */
  771. X      dy = (int) ((double) t->height * cos(t->angle));
  772. X      dx = (int) ((double) t->height * sin(t->angle));
  773. X!     set_marker(canvas_win, t->base_x - dx - 2, t->base_y - dy - 2, 5, 5, 0, 0);
  774. X!     set_marker(canvas_win, t->base_x - 2, t->base_y - 2, 5, 5, 0, 0);
  775. X      if (t->tagged)
  776. X      toggle_texthighlight(t);
  777. X  }
  778. X--- 319,326 ----
  779. X      /* adjust for text angle */
  780. X      dy = (int) ((double) t->height * cos(t->angle));
  781. X      dx = (int) ((double) t->height * sin(t->angle));
  782. X!     set_marker(canvas_win,t->base_x-dx-2,t->base_y-dy-2,MARK_SIZ,MARK_SIZ,0,0);
  783. X!     set_marker(canvas_win,t->base_x-2,t->base_y-2,MARK_SIZ,MARK_SIZ,0,0);
  784. X      if (t->tagged)
  785. X      toggle_texthighlight(t);
  786. X  }
  787. X***************
  788. X*** 334,343 ****
  789. X      /* adjust for text angle */
  790. X      dy = (int) ((double) t->height * cos(t->angle));
  791. X      dx = (int) ((double) t->height * sin(t->angle));
  792. X!     set_marker(canvas_win, t->base_x - dx, t->base_y - dy, 1, 1, 0, 0);
  793. X!     set_marker(canvas_win, t->base_x - dx - 1, t->base_y - dy - 1, 3, 3, 0, 0);
  794. X      set_marker(canvas_win, t->base_x, t->base_y, 1, 1, 0, 0);
  795. X!     set_marker(canvas_win, t->base_x - 1, t->base_y - 1, 3, 3, 0, 0);
  796. X  }
  797. X  
  798. X  toggle_all_compoundmarkers()
  799. X--- 334,343 ----
  800. X      /* adjust for text angle */
  801. X      dy = (int) ((double) t->height * cos(t->angle));
  802. X      dx = (int) ((double) t->height * sin(t->angle));
  803. X!     set_marker(canvas_win, t->base_x-dx, t->base_y-dy, 1, 1, 0, 0);
  804. X!     set_marker(canvas_win, t->base_x-dx-1, t->base_y-dy-1, SM_MARK, SM_MARK, 0, 0);
  805. X      set_marker(canvas_win, t->base_x, t->base_y, 1, 1, 0, 0);
  806. X!     set_marker(canvas_win, t->base_x-1, t->base_y-1, SM_MARK, SM_MARK, 0, 0);
  807. X  }
  808. X  
  809. X  toggle_all_compoundmarkers()
  810. X***************
  811. X*** 351,360 ****
  812. X      F_compound       *c;
  813. X  {
  814. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  815. X!     set_marker(canvas_win, c->nwcorner.x - 2, c->nwcorner.y - 2, 5, 5, 0, 0);
  816. X!     set_marker(canvas_win, c->secorner.x - 2, c->secorner.y - 2, 5, 5, 0, 0);
  817. X!     set_marker(canvas_win, c->nwcorner.x - 2, c->secorner.y - 2, 5, 5, 0, 0);
  818. X!     set_marker(canvas_win, c->secorner.x - 2, c->nwcorner.y - 2, 5, 5, 0, 0);
  819. X      if (c->tagged)
  820. X      toggle_compoundhighlight(c);
  821. X  }
  822. X--- 351,360 ----
  823. X      F_compound       *c;
  824. X  {
  825. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  826. X!     set_marker(canvas_win,c->nwcorner.x-2,c->nwcorner.y-2,MARK_SIZ,MARK_SIZ,0,0);
  827. X!     set_marker(canvas_win,c->secorner.x-2,c->secorner.y-2,MARK_SIZ,MARK_SIZ,0,0);
  828. X!     set_marker(canvas_win,c->nwcorner.x-2,c->secorner.y-2,MARK_SIZ,MARK_SIZ,0,0);
  829. X!     set_marker(canvas_win,c->secorner.x-2,c->nwcorner.y-2,MARK_SIZ,MARK_SIZ,0,0);
  830. X      if (c->tagged)
  831. X      toggle_compoundhighlight(c);
  832. X  }
  833. X***************
  834. X*** 364,376 ****
  835. X  {
  836. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  837. X      set_marker(canvas_win, c->nwcorner.x, c->nwcorner.y, 1, 1, 0, 0);
  838. X!     set_marker(canvas_win, c->nwcorner.x - 1, c->nwcorner.y - 1, 3, 3, 0, 0);
  839. X      set_marker(canvas_win, c->secorner.x, c->secorner.y, 1, 1, 0, 0);
  840. X!     set_marker(canvas_win, c->secorner.x - 1, c->secorner.y - 1, 3, 3, 0, 0);
  841. X      set_marker(canvas_win, c->nwcorner.x, c->secorner.y, 1, 1, 0, 0);
  842. X!     set_marker(canvas_win, c->nwcorner.x - 1, c->secorner.y - 1, 3, 3, 0, 0);
  843. X      set_marker(canvas_win, c->secorner.x, c->nwcorner.y, 1, 1, 0, 0);
  844. X!     set_marker(canvas_win, c->secorner.x - 1, c->nwcorner.y - 1, 3, 3, 0, 0);
  845. X  }
  846. X  
  847. X  toggle_linemarker(l)
  848. X--- 364,376 ----
  849. X  {
  850. X      set_line_stuff(1, RUBBER_LINE, 0.0, (INV_PAINT), DEFAULT_COLOR);
  851. X      set_marker(canvas_win, c->nwcorner.x, c->nwcorner.y, 1, 1, 0, 0);
  852. X!     set_marker(canvas_win, c->nwcorner.x-1, c->nwcorner.y-1, SM_MARK, SM_MARK, 0, 0);
  853. X      set_marker(canvas_win, c->secorner.x, c->secorner.y, 1, 1, 0, 0);
  854. X!     set_marker(canvas_win, c->secorner.x-1, c->secorner.y-1, SM_MARK, SM_MARK, 0, 0);
  855. X      set_marker(canvas_win, c->nwcorner.x, c->secorner.y, 1, 1, 0, 0);
  856. X!     set_marker(canvas_win, c->nwcorner.x-1, c->secorner.y-1, SM_MARK, SM_MARK, 0, 0);
  857. X      set_marker(canvas_win, c->secorner.x, c->nwcorner.y, 1, 1, 0, 0);
  858. X!     set_marker(canvas_win, c->secorner.x-1, c->nwcorner.y-1, SM_MARK, SM_MARK, 0, 0);
  859. X  }
  860. X  
  861. X  toggle_linemarker(l)
  862. X***************
  863. X*** 386,395 ****
  864. X      for (p = p->next; p != NULL; p = p->next) {
  865. X      x = p->x;
  866. X      y = p->y;
  867. X!     set_marker(canvas_win, x - 2, y - 2, 5, 5, 0, 0);
  868. X      }
  869. X      if (x != fx || y != fy || l->points->next == NULL) {
  870. X!     set_marker(canvas_win, fx - 2, fy - 2, 5, 5, 0, 0);
  871. X      }
  872. X      if (l->tagged)
  873. X      toggle_linehighlight(l);
  874. X--- 386,395 ----
  875. X      for (p = p->next; p != NULL; p = p->next) {
  876. X      x = p->x;
  877. X      y = p->y;
  878. X!     set_marker(canvas_win, x - 2, y - 2, MARK_SIZ, MARK_SIZ, 0, 0);
  879. X      }
  880. X      if (x != fx || y != fy || l->points->next == NULL) {
  881. X!     set_marker(canvas_win, fx - 2, fy - 2, MARK_SIZ, MARK_SIZ, 0, 0);
  882. X      }
  883. X      if (l->tagged)
  884. X      toggle_linehighlight(l);
  885. X***************
  886. X*** 409,419 ****
  887. X      x = p->x;
  888. X      y = p->y;
  889. X      set_marker(canvas_win, x, y, 1, 1, 0, 0);
  890. X!     set_marker(canvas_win, x - 1, y - 1, 3, 3, 0, 0);
  891. X      }
  892. X      if (x != fx || y != fy) {
  893. X      set_marker(canvas_win, fx, fy, 1, 1, 0, 0);
  894. X!     set_marker(canvas_win, fx - 1, fy - 1, 3, 3, 0, 0);
  895. X      }
  896. X  }
  897. X  
  898. X--- 409,419 ----
  899. X      x = p->x;
  900. X      y = p->y;
  901. X      set_marker(canvas_win, x, y, 1, 1, 0, 0);
  902. X!     set_marker(canvas_win, x - 1, y - 1, SM_MARK, SM_MARK, 0, 0);
  903. X      }
  904. X      if (x != fx || y != fy) {
  905. X      set_marker(canvas_win, fx, fy, 1, 1, 0, 0);
  906. X!     set_marker(canvas_win, fx - 1, fy - 1, SM_MARK, SM_MARK, 0, 0);
  907. X      }
  908. X  }
  909. X  
  910. X***************
  911. X*** 430,439 ****
  912. X      for (p = p->next; p != NULL; p = p->next) {
  913. X      x = p->x;
  914. X      y = p->y;
  915. X!     set_marker(canvas_win, x - 2, y - 2, 5, 5, 0, 0);
  916. X      }
  917. X      if (x != fx || y != fy) {
  918. X!     set_marker(canvas_win, fx - 2, fy - 2, 5, 5, 0, 0);
  919. X      }
  920. X      if (s->tagged)
  921. X      toggle_splinehighlight(s);
  922. X--- 430,439 ----
  923. X      for (p = p->next; p != NULL; p = p->next) {
  924. X      x = p->x;
  925. X      y = p->y;
  926. X!     set_marker(canvas_win, x - 2, y - 2, MARK_SIZ, MARK_SIZ, 0, 0);
  927. X      }
  928. X      if (x != fx || y != fy) {
  929. X!     set_marker(canvas_win, fx - 2, fy - 2, MARK_SIZ, MARK_SIZ, 0, 0);
  930. X      }
  931. X      if (s->tagged)
  932. X      toggle_splinehighlight(s);
  933. X***************
  934. X*** 453,462 ****
  935. X      x = p->x;
  936. X      y = p->y;
  937. X      set_marker(canvas_win, x, y, 1, 1, 0, 0);
  938. X!     set_marker(canvas_win, x - 1, y - 1, 3, 3, 0, 0);
  939. X      }
  940. X      if (x != fx || y != fy) {
  941. X      set_marker(canvas_win, fx, fy, 1, 1, 0, 0);
  942. X!     set_marker(canvas_win, fx - 1, fy - 1, 3, 3, 0, 0);
  943. X      }
  944. X  }
  945. X--- 453,462 ----
  946. X      x = p->x;
  947. X      y = p->y;
  948. X      set_marker(canvas_win, x, y, 1, 1, 0, 0);
  949. X!     set_marker(canvas_win, x - 1, y - 1, SM_MARK, SM_MARK, 0, 0);
  950. X      }
  951. X      if (x != fx || y != fy) {
  952. X      set_marker(canvas_win, fx, fy, 1, 1, 0, 0);
  953. X!     set_marker(canvas_win, fx - 1, fy - 1, SM_MARK, SM_MARK, 0, 0);
  954. X      }
  955. X  }
  956. Xdiff -rc xfig.2.1.7a/u_print.c xfig.2.1.8/u_print.c
  957. X*** xfig.2.1.7a/u_print.c    Tue Mar 23 10:47:40 1993
  958. X--- xfig.2.1.8/u_print.c    Tue Aug 31 13:37:19 1993
  959. X***************
  960. X*** 68,74 ****
  961. X  
  962. X  
  963. X      if (emptyname(printer)) {    /* send to default printer */
  964. X! #if defined(SYSV) || defined(SVR4)
  965. X      sprintf(syspr, "lp %s -oPS", params);
  966. X  #else
  967. X      sprintf(syspr, "lpr %s -J %s", params, shell_protect_string(cur_filename));
  968. X--- 68,74 ----
  969. X  
  970. X  
  971. X      if (emptyname(printer)) {    /* send to default printer */
  972. X! #if (defined(SYSV) || defined(SVR4)) && !defined(BSDLPR)
  973. X      sprintf(syspr, "lp %s -oPS", params);
  974. X  #else
  975. X      sprintf(syspr, "lpr %s -J %s", params, shell_protect_string(cur_filename));
  976. X***************
  977. X*** 76,82 ****
  978. X      put_msg("Printing figure on default printer in %s mode ...     ",
  979. X          print_landscape ? "LANDSCAPE" : "PORTRAIT");
  980. X      } else {
  981. X! #if defined(SYSV) || defined(SVR4)
  982. X      sprintf(syspr, "lp %s -d%s -oPS", params, printer);
  983. X  #else
  984. X      sprintf(syspr, "lpr %s -J %s -P%s", params, shell_protect_string(cur_filename),
  985. X--- 76,82 ----
  986. X      put_msg("Printing figure on default printer in %s mode ...     ",
  987. X          print_landscape ? "LANDSCAPE" : "PORTRAIT");
  988. X      } else {
  989. X! #if (defined(SYSV) || defined(SVR4)) && !defined(BSDLPR)
  990. X      sprintf(syspr, "lp %s -d%s -oPS", params, printer);
  991. X  #else
  992. X      sprintf(syspr, "lpr %s -J %s -P%s", params, shell_protect_string(cur_filename),
  993. X***************
  994. X*** 111,117 ****
  995. X      char        tmp_name[PATH_MAX];
  996. X      char        tmp_fig_file[32];
  997. X      char       *outfile;
  998. X!     int            tlen, status;
  999. X  
  1000. X      /* if file exists, ask if ok */
  1001. X      if (!ok_to_write(file, "EXPORT"))
  1002. X--- 111,117 ----
  1003. X      char        tmp_name[PATH_MAX];
  1004. X      char        tmp_fig_file[32];
  1005. X      char       *outfile;
  1006. X!     int            tlen;
  1007. X  
  1008. X      /* if file exists, ask if ok */
  1009. X      if (!ok_to_write(file, "EXPORT"))
  1010. Xdiff -rc xfig.2.1.7a/u_redraw.c xfig.2.1.8/u_redraw.c
  1011. X*** xfig.2.1.7a/u_redraw.c    Wed Jan  6 16:13:20 1993
  1012. X--- xfig.2.1.8/u_redraw.c    Wed May 12 11:45:58 1993
  1013. X***************
  1014. X*** 520,531 ****
  1015. X      int            xmin, ymin, xmax, ymax;
  1016. X      int            dum;
  1017. X  
  1018. X!     if (appres.textoutline) {
  1019. X!     text_bound_both(t, &xmin, &ymin, &xmax, &ymax,
  1020. X!             &dum,&dum,&dum,&dum,&dum,&dum,&dum,&dum);
  1021. X!     } else {
  1022. X!     text_bound(t, &xmin, &ymin, &xmax, &ymax);
  1023. X!     }
  1024. X      redisplay_zoomed_region(xmin, ymin, xmax, ymax);
  1025. X  }
  1026. X  
  1027. X--- 520,527 ----
  1028. X      int            xmin, ymin, xmax, ymax;
  1029. X      int            dum;
  1030. X  
  1031. END_OF_FILE
  1032.   if test 32473 -ne `wc -c <'xfig.05'`; then
  1033.     echo shar: \"'xfig.05'\" unpacked with wrong size!
  1034.   fi
  1035.   # end of 'xfig.05'
  1036. fi
  1037. echo shar: End of archive 4 \(of 16\).
  1038. cp /dev/null ark4isdone
  1039. MISSING=""
  1040. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; do
  1041.     if test ! -f ark${I}isdone ; then
  1042.     MISSING="${MISSING} ${I}"
  1043.     fi
  1044. done
  1045. if test "${MISSING}" = "" ; then
  1046.     echo You have unpacked all 16 archives.
  1047.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1048.     echo Creating merged patch file xfig.p2
  1049.     cat xfig.[01][0-9] > xfig.p2
  1050.     rm -f xfig.[01][0-9]
  1051. else
  1052.     echo You still must unpack the following archives:
  1053.     echo "        " ${MISSING}
  1054. fi
  1055. exit 0
  1056. exit 0 # Just in case...
  1057. -- 
  1058.   // chris@Sterling.COM           | Send comp.sources.x submissions to:
  1059. \X/  Amiga - The only way to fly! |    sources-x@sterling.com
  1060.  "It's intuitively obvious to the |
  1061.   most casual observer..."        | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
  1062.