[comp.sources.x] v06i034: xfig 2.0 patch 4 Part 1/3

envbvs@epb3.lbl.gov (Brian V. Smith) (03/15/90)

Submitted-by: envbvs@epb3.lbl.gov (Brian V. Smith)
Posting-number: Volume 6, Issue 34
Archive-name: xfig2/patch4
Patch-To: xfig2: Volume 6, Issues 9-24

You are going to hate me, but here is *** part 1 of 3 *** of patch 4 for xfig.
There were several bugs that people were complaining about, so I wanted
to get these out as soon as I could.

Here is the part of the CHANGES file showing fixes and new features:

Patchlevel 4
Changes from patchlevel 3:

o Bug fixed in drawing zero-length lines with arrows
o Portrait/Landscape bug fixed (only appeared on Sun 4)
o Fig will not allow edit of new figure without confirmation if
    current figure has been modified
o Widget resources work better now (e.g. xfig.form.indicator.background: green)
o -ri option for button panel on right side works properly now
o Changed some widget names for better resource hierarchy
o Wrapped indicator widgets in box widget
o Adds compatibility with Fig 1.4-TFX file format INSTEAD of 1.4X
  as a compile time option (compiler flag -DTFX).  No change to program
  as compiled without the -DTFX flag.  See file README.TFX.
  Credit goes to Micah Beck for this one.
o Fixed bug where scanf was doing %lf for text angle instead of %f
  in read_textobject()
o #include <X11/Scroll.h> put back in fig.h for R3 - XtRFloat is defined here
o XtPointer is only defined in R4 - uses caddr_t for R3 blink() routine
o User print to default printer, specify particular printer or print to file
o Original FORMAT1.4 file included to compare new 1.4X format with 1.4
  New file that describes xfig file format is called FORMAT1.4X
o Drawing too-narrow ellipses doesn't loop forever anymore, but they
  are still not drawn correctly

Thanks for posting these.
Brian Smith

Part 1 of 3 follows -

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 1 (of 3)."
# Contents:  CHANGES.diff blink.c.diff canvas.c.diff const.h.diff
#   curve.c.diff draw.c.diff f2ps.c.diff fig.h.diff global.c.diff
#   main.c.diff msgsw.c.diff panel2.h.diff patchlevel.h.diff
#   popup.c.diff print.c.diff printfonts.c.diff psbits.c.diff
#   psbits2.c.diff psfonts.c.diff psfonts.h.diff read.c.diff
#   read1_3.c.diff resources.h.diff search.c.diff version.h.diff
#   xtra.c.diff
# Wrapped by envbvs@epb3.lbl.gov on Mon Mar 12 16:27:54 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'CHANGES.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'CHANGES.diff'\"
else
echo shar: Extracting \"'CHANGES.diff'\" \(2342 characters\)
sed "s/^X//" >'CHANGES.diff' <<'END_OF_FILE'
X*** CHANGES.old	Fri Mar  9 11:17:06 1990
X--- CHANGES	Mon Mar 12 16:20:50 1990
X***************
X*** 1,5
X  Version 2.0 
X  
X  Patchlevel 3
X  Changes from patchlevel 2:
X  
X
X--- 1,30 -----
X  Version 2.0 
X  
X+ Patchlevel 4
X+ Changes from patchlevel 3:
X+ 
X+ o Bug fixed in drawing zero-length lines with arrows
X+ o Portrait/Landscape bug fixed (only appeared on Sun 4)
X+ o Fig will not allow edit of new figure without confirmation if
X+     current figure has been modified
X+ o Widget resources work better now (e.g. xfig.form.indicator.background: green)
X+ o -ri option for button panel on right side works properly now
X+ o Changed some widget names for better resource hierarchy
X+ o Wrapped indicator widgets in box widget
X+ o Adds compatibility with Fig 1.4-TFX file format INSTEAD of 1.4X
X+   as a compile time option (compiler flag -DTFX).  No change to program
X+   as compiled without the -DTFX flag.  See file README.TFX.
X+   Credit goes to Micah Beck for this one.
X+ o Fixed bug where scanf was doing %lf for text angle instead of %f
X+   in read_textobject()
X+ o #include <X11/Scroll.h> put back in fig.h for R3 - XtRFloat is defined here
X+ o XtPointer is only defined in R4 - uses caddr_t for R3 blink() routine
X+ o User print to default printer, specify particular printer or print to file
X+ o Original FORMAT1.4 file included to compare new 1.4X format with 1.4
X+   New file that describes xfig file format is called FORMAT1.4X
X+ o Drawing too-narrow ellipses doesn't loop forever anymore, but they
X+   are still not drawn correctly
X+ 
X  Patchlevel 3
X  Changes from patchlevel 2:
X  
X***************
X*** 4,9
X  Changes from patchlevel 2:
X  
X  o now uses XtAddTimer instead of setitimer() for blinking cursor
X  o Changed include directives for Athena widgets to include/X11/Xaw directory
X  o added put_fmsg() to print messages with floating point numbers
X    Some machines (MIPS) were dumping core when passing floats as ints.
X
X--- 29,35 -----
X  Changes from patchlevel 2:
X  
X  o now uses XtAddTimer instead of setitimer() for blinking cursor
X+   This fixes the problem with text freezing up xfig or crashing with core dump
X  o Changed include directives for Athena widgets to include/X11/Xaw directory
X  o added put_fmsg() to print messages with floating point numbers
X    Some machines (MIPS) were dumping core when passing floats as ints.
END_OF_FILE
if test 2342 -ne `wc -c <'CHANGES.diff'`; then
    echo shar: \"'CHANGES.diff'\" unpacked with wrong size!
fi
# end of 'CHANGES.diff'
fi
if test -f 'blink.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'blink.c.diff'\"
else
echo shar: Extracting \"'blink.c.diff'\" \(717 characters\)
sed "s/^X//" >'blink.c.diff' <<'END_OF_FILE'
X*** blink.c.old	Wed Feb 28 13:45:22 1990
X--- blink.c	Fri Mar  2 15:56:41 1990
X***************
X*** 41,49
X  	stop_blinking = FALSE;
X  	}
X  
X! turn_off_blinking_cursor(client_data,id)
X! XtPointer client_data;
X! XtIntervalId *id;
X  {
X  	if (cursor_on) 
X  		erase(cursor_x, cursor_y);
X
X--- 41,47 -----
X  	stop_blinking = FALSE;
X  	}
X  
X! turn_off_blinking_cursor()
X  {
X  	if (cursor_on) 
X  		erase(cursor_x, cursor_y);
X***************
X*** 51,57
X  	}
X  
X  static
X! blink()
X  {
X  	if (!stop_blinking)
X  	    {
X
X--- 49,61 -----
X  	}
X  
X  static
X! blink(client_data,id)
X! #if XtSpecificationRelease >= 4
X! XtPointer	client_data;
X! #else
X! caddr_t		client_data;
X! #endif
X! XtIntervalId	*id;
X  {
X  	if (!stop_blinking)
X  	    {
END_OF_FILE
if test 717 -ne `wc -c <'blink.c.diff'`; then
    echo shar: \"'blink.c.diff'\" unpacked with wrong size!
fi
# end of 'blink.c.diff'
fi
if test -f 'canvas.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'canvas.c.diff'\"
else
echo shar: Extracting \"'canvas.c.diff'\" \(905 characters\)
sed "s/^X//" >'canvas.c.diff' <<'END_OF_FILE'
X*** canvas.c.old	Tue Jan 16 17:21:03 1990
X--- canvas.c	Wed Mar  7 11:47:11 1990
X***************
X*** 110,117
X  	
X  	canvas_args[3].value = CANVAS_WIDTH;
X  	canvas_args[4].value = CANVAS_HEIGHT;
X! 	canvas_args[5].value = (XtArgVal)panel_sw;
X! 	canvas_args[7].value = (XtArgVal)topruler_sw;
X  	canvas_sw = XtCreateWidget("canvas", labelWidgetClass, tool,
X  		canvas_args, XtNumber(canvas_args));
X  	XtGetValues(canvas_sw, canvas_color_args, XtNumber(canvas_color_args));
X
X--- 110,117 -----
X  	
X  	canvas_args[3].value = CANVAS_WIDTH;
X  	canvas_args[4].value = CANVAS_HEIGHT;
X! 	canvas_args[5].value = (XtArgVal)panel_sw;	/* to the right of the panel */
X! 	canvas_args[7].value = (XtArgVal)topruler_sw;	/* below the top ruler */
X  	canvas_sw = XtCreateWidget("canvas", labelWidgetClass, tool,
X  		canvas_args, XtNumber(canvas_args));
X  	XtGetValues(canvas_sw, canvas_color_args, XtNumber(canvas_color_args));
END_OF_FILE
if test 905 -ne `wc -c <'canvas.c.diff'`; then
    echo shar: \"'canvas.c.diff'\" unpacked with wrong size!
fi
# end of 'canvas.c.diff'
fi
if test -f 'const.h.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'const.h.diff'\"
else
echo shar: Extracting \"'const.h.diff'\" \(463 characters\)
sed "s/^X//" >'const.h.diff' <<'END_OF_FILE'
X*** const.h.old	Tue Jan 16 17:21:04 1990
X--- const.h	Thu Mar  8 16:33:41 1990
X***************
X*** 28,33
X  #define		SWITCH_ICON_HEIGHT	32
X  #define		SWITCH_ICON_SPACING	4
X  
X! #define		MAXPRINTERS		2
X  
X  #define		DEF_PRINTFONTSIZE	12	/* default printer font size (points) */
X
X--- 28,33 -----
X  #define		SWITCH_ICON_HEIGHT	32
X  #define		SWITCH_ICON_SPACING	4
X  
X! #define		MAXPRINTERS		3
X  
X  #define		DEF_PRINTFONTSIZE	12	/* default printer font size (points) */
END_OF_FILE
if test 463 -ne `wc -c <'const.h.diff'`; then
    echo shar: \"'const.h.diff'\" unpacked with wrong size!
fi
# end of 'const.h.diff'
fi
if test -f 'curve.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'curve.c.diff'\"
else
echo shar: Extracting \"'curve.c.diff'\" \(1182 characters\)
sed "s/^X//" >'curve.c.diff' <<'END_OF_FILE'
X*** curve.c.old	Thu Feb 22 15:58:24 1990
X--- curve.c	Fri Mar  9 10:56:32 1990
X***************
X*** 100,107
X  	    x = x + deltax;  y = y + deltay;
X  	    points[npoints].x = (short) xoff+x;
X  	    points[npoints].y = (short) yoff-y;
X! 	    if (npoints < MAXPTS)
X! 		    npoints++;
X  	    dfx = dfx + dfxx * deltax;
X  	    dfy = dfy + dfyy * deltay;
X  	    if (abs(x - xend) < margin && abs(y - yend) < margin) 
X
X--- 100,106 -----
X  	    x = x + deltax;  y = y + deltay;
X  	    points[npoints].x = (short) xoff+x;
X  	    points[npoints].y = (short) yoff-y;
X! 	    npoints++;
X  	    dfx = dfx + dfxx * deltax;
X  	    dfy = dfy + dfyy * deltay;
X  	    if (abs(x - xend) < margin && abs(y - yend) < margin) 
X***************
X*** 106,112
X  	    dfy = dfy + dfyy * deltay;
X  	    if (abs(x - xend) < margin && abs(y - yend) < margin) 
X  		test_succeed--;
X! 	    } while (test_succeed);
X  
X  	if (margin == 1)	/* end points should touch */
X  		{
X
X--- 105,111 -----
X  	    dfy = dfy + dfyy * deltay;
X  	    if (abs(x - xend) < margin && abs(y - yend) < margin) 
X  		test_succeed--;
X! 	    } while (test_succeed && npoints < MAXPTS);
X  
X  	if (margin == 1)	/* end points should touch */
X  		{
END_OF_FILE
if test 1182 -ne `wc -c <'curve.c.diff'`; then
    echo shar: \"'curve.c.diff'\" unpacked with wrong size!
fi
# end of 'curve.c.diff'
fi
if test -f 'draw.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'draw.c.diff'\"
else
echo shar: Extracting \"'draw.c.diff'\" \(1331 characters\)
sed "s/^X//" >'draw.c.diff' <<'END_OF_FILE'
X*** draw.c.old	Fri Feb 16 11:00:46 1990
X--- draw.c	Thu Mar  1 09:47:45 1990
X***************
X*** 199,204
X  
X  	dx = x2 - x1;  dy = y1 - y2;
X  	l = sqrt((double)(dx*dx + dy*dy));
X  	sina = dy / l;  cosa = dx / l;
X  	xb = x2*cosa - y2*sina;
X  	yb = x2*sina + y2*cosa;
X
X--- 199,206 -----
X  
X  	dx = x2 - x1;  dy = y1 - y2;
X  	l = sqrt((double)(dx*dx + dy*dy));
X+ 	if(l == 0)
X+ 		return;
X  	sina = dy / l;  cosa = dx / l;
X  	xb = x2*cosa - y2*sina;
X  	yb = x2*sina + y2*cosa;
X***************
X*** 330,335
X  		dx = x2 - x1;
X  		dy = y2 - y1;
X  		leng = sqrt((double)(dx*dx + dy*dy));
X  		if (leng <= dash_length) {
X  		    pw_vector(canvas_pixwin, x1, y1, x2, y2, op, thick);
X  		    break;
X
X--- 332,339 -----
X  		dx = x2 - x1;
X  		dy = y2 - y1;
X  		leng = sqrt((double)(dx*dx + dy*dy));
X+ 		if(leng == 0)
X+ 			break;
X  		if (leng <= dash_length) {
X  		    pw_vector(canvas_pixwin, x1, y1, x2, y2, op, thick);
X  		    break;
X***************
X*** 373,378
X  		    pw_put(canvas_pixwin, x2, y2, color, thick);
X  		    break;
X  		    }
X  		dot_gap = leng / n;
X  		gap_x = dot_gap * dx / leng;
X  		gap_y = dot_gap * dy / leng;
X
X--- 377,384 -----
X  		    pw_put(canvas_pixwin, x2, y2, color, thick);
X  		    break;
X  		    }
X+ 		if(leng == 0)
X+ 			break;
X  		dot_gap = leng / n;
X  		gap_x = dot_gap * dx / leng;
X  		gap_y = dot_gap * dy / leng;
END_OF_FILE
if test 1331 -ne `wc -c <'draw.c.diff'`; then
    echo shar: \"'draw.c.diff'\" unpacked with wrong size!
fi
# end of 'draw.c.diff'
fi
if test -f 'f2ps.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'f2ps.c.diff'\"
else
echo shar: Extracting \"'f2ps.c.diff'\" \(935 characters\)
sed "s/^X//" >'f2ps.c.diff' <<'END_OF_FILE'
X*** f2ps.c.old	Tue Feb 20 15:51:24 1990
X--- f2ps.c	Fri Mar  2 13:06:01 1990
X***************
X*** 14,22
X  #include "resources.h"
X  #include "psfonts.h"
X  
X- #undef cfree
X- #undef free
X- 
X  #define		PAGE_WIDTH		612	/* points; 8.5" */
X  #define		PAGE_HEIGHT		792	/* points; 11" */
X  #define		POINT_PER_INCH		72
X
X--- 14,19 -----
X  #include "resources.h"
X  #include "psfonts.h"
X  
X  #define		PAGE_WIDTH		612	/* points; 8.5" */
X  #define		PAGE_HEIGHT		792	/* points; 11" */
X  #define		POINT_PER_INCH		72
X***************
X*** 825,842
X  {
X  	fprintf(stderr, format, arg1, arg2, arg3, arg4, arg5);
X  }
X- 
X- #ifdef sparc
X- 
X- FREE ( x )    /*-- disable free --*/
X-     char *x ;
X- {
X-     fprintf( stderr, "FREE -- %8x\n", x ) ;
X- }
X- CFREE ( x )   /*-- disable cfree --*/
X-     char *x ;
X- {
X-     fprintf( stderr, "FREE -- %8x\n", x ) ;
X- }
X- 
X- #endif  sparc
X
X--- 822,824 -----
X  {
X  	fprintf(stderr, format, arg1, arg2, arg3, arg4, arg5);
X  }
END_OF_FILE
if test 935 -ne `wc -c <'f2ps.c.diff'`; then
    echo shar: \"'f2ps.c.diff'\" unpacked with wrong size!
fi
# end of 'f2ps.c.diff'
fi
if test -f 'fig.h.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'fig.h.diff'\"
else
echo shar: Extracting \"'fig.h.diff'\" \(632 characters\)
sed "s/^X//" >'fig.h.diff' <<'END_OF_FILE'
X*** fig.h.old	Fri Mar  2 13:05:22 1990
X--- fig.h	Fri Mar  2 16:10:16 1990
X***************
X*** 44,49
X  #include <X11/Dialog.h>
X  #include <X11/Box.h>
X  #include <X11/Form.h>
X  #endif
X  
X  #ifdef sparc
X
X--- 44,48 -----
X  #include <X11/Dialog.h>
X  #include <X11/Box.h>
X  #include <X11/Form.h>
X+ #include <X11/Scroll.h>		/* XtRFloat lives here! */
X  #endif
X***************
X*** 45,54
X  #include <X11/Box.h>
X  #include <X11/Form.h>
X  #endif
X- 
X- #ifdef sparc
X- 
X- #define free(x) FREE(x)
X- #define cfree(x) CFREE(x)
X- 
X- #endif sparc
X
X--- 46,48 -----
X  #include <X11/Form.h>
X  #include <X11/Scroll.h>		/* XtRFloat lives here! */
X  #endif
END_OF_FILE
if test 632 -ne `wc -c <'fig.h.diff'`; then
    echo shar: \"'fig.h.diff'\" unpacked with wrong size!
fi
# end of 'fig.h.diff'
fi
if test -f 'global.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'global.c.diff'\"
else
echo shar: Extracting \"'global.c.diff'\" \(1333 characters\)
sed "s/^X//" >'global.c.diff' <<'END_OF_FILE'
X*** global.c.old	Fri Feb 16 11:01:09 1990
X--- global.c	Mon Mar 12 16:05:36 1990
X***************
X*** 97,104
X  int			flip_axis		= -1;
X  int			rotate_angle		= 0;
X  int			fill_mode		= 0;
X! int			landscape		= 1;
X! int			print_landscape		= 1;	/* def. orientation for printer */
X  int			size_button;			/* font size button value */
X  int			font_button		= 0;	/* font button value */
X  int			type_button		= T_LEFT_JUSTIFIED;	/* text type button value */
X
X--- 97,104 -----
X  int			flip_axis		= -1;
X  int			rotate_angle		= 0;
X  int			fill_mode		= 0;
X! int			landscape		= 0;
X! int			print_landscape		= 0;	/* def. orientation for printer */
X  int			size_button;			/* font size button value */
X  int			font_button		= 0;	/* font button value */
X  int			type_button		= T_LEFT_JUSTIFIED;	/* text type button value */
X***************
X*** 139,145
X  char			current_file[200] = "";
X  int			cur_printer=0;
X  char			*printer="";
X! char			*printer_list[MAXPRINTERS]={"at6","ap5"};
X  int			figure_modified = 0;
X  
X  /************************  Error messages  ****************************/
X
X--- 139,145 -----
X  char			current_file[200] = "";
X  int			cur_printer=0;
X  char			*printer="";
X! char			*printer_list[MAXPRINTERS]={"Specify","Default","File"};
X  int			figure_modified = 0;
X  
X  /************************  Error messages  ****************************/
END_OF_FILE
if test 1333 -ne `wc -c <'global.c.diff'`; then
    echo shar: \"'global.c.diff'\" unpacked with wrong size!
fi
# end of 'global.c.diff'
fi
if test -f 'main.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'main.c.diff'\"
else
echo shar: Extracting \"'main.c.diff'\" \(4437 characters\)
sed "s/^X//" >'main.c.diff' <<'END_OF_FILE'
X*** main.c.old	Tue Feb 20 10:59:26 1990
X--- main.c	Mon Mar 12 16:05:06 1990
X***************
X*** 123,129
X  	int		argc;
X  	char		*argv[];
X  {
X! #define	NCHILDREN	10
X  	TOOL		form, children[NCHILDREN];
X  	Arg		tmp_arg[2];
X  	int		ichild;
X
X--- 123,129 -----
X  	int		argc;
X  	char		*argv[];
X  {
X! #define	NCHILDREN	8
X  	TOOL		form, children[NCHILDREN];
X  	Arg		tmp_arg[4];
X  	int		ichild;
X***************
X*** 125,131
X  {
X  #define	NCHILDREN	10
X  	TOOL		form, children[NCHILDREN];
X! 	Arg		tmp_arg[2];
X  	int		ichild;
X  	char		tstr[10];
X  	XWMHints	*wmhints;
X
X--- 125,131 -----
X  {
X  #define	NCHILDREN	8
X  	TOOL		form, children[NCHILDREN];
X! 	Arg		tmp_arg[4];
X  	int		ichild;
X  	char		tstr[10];
X  	XWMHints	*wmhints;
X***************
X*** 149,156
X  	if (argc > 1)
X  		file = argv[1];
X  
X! 	if (landscape==0)		/* match print and screen format to start */
X! 		print_landscape=0;
X  
X  	tool_d = XtDisplay(tool);
X  	tool_s = XtScreen(tool);
X
X--- 149,155 -----
X  	if (argc > 1)
X  		file = argv[1];
X  
X! 	print_landscape = landscape;	/* match print and screen format to start */
X  
X  	tool_d = XtDisplay(tool);
X  	tool_s = XtScreen(tool);
X***************
X*** 238,246
X  	children[ichild++] = msg_sw;		/* message window */
X  	children[ichild++] = sideruler_sw;	/* side ruler */
X  	children[ichild++] = panel2_sw;		/* lower button panel */
X! 	children[ichild++] = fill_panel;	/* current fill pattern window */
X! 	children[ichild++] = line_thick_panel;	/* current line thickness window */
X! 	children[ichild++] = radius_panel;	/* current arc-corner box radius window */
X  
X  	/* until the following XtRealizeWidget() is called, there
X  	   are NO windows in existence */
X
X--- 237,243 -----
X  	children[ichild++] = msg_sw;		/* message window */
X  	children[ichild++] = sideruler_sw;	/* side ruler */
X  	children[ichild++] = panel2_sw;		/* lower button panel */
X! 	children[ichild++] = ind_box;		/* fill/line/radius indicators */
X  
X  	/* until the following XtRealizeWidget() is called, there
X  	   are NO windows in existence */
X***************
X*** 254,260
X  	wmhints->input = True;
X  	XSetWMHints(tool_d, XtWindow(tool),wmhints);
X  
X! 	if( RHS_PANEL )
X  	{
X  		XtSetArg(tmp_arg[0], XtNfromHoriz, 0);
X  		XtSetArg(tmp_arg[1], XtNhorizDistance, RULER_WIDTH+2);
X
X--- 251,257 -----
X  	wmhints->input = True;
X  	XSetWMHints(tool_d, XtWindow(tool),wmhints);
X  
X! 	if( RHS_PANEL )		/* side button panel is on right size */
X  	{
X  		XtSetArg(tmp_arg[0], XtNfromHoriz, 0);
X  		XtSetArg(tmp_arg[1], XtNhorizDistance, RULER_WIDTH+2);
X***************
X*** 267,273
X  		XtSetArg(tmp_arg[1], XtNfromVert, topruler_sw);
X  		XtSetValues(canvas_sw, tmp_arg, 2);
X  		XtManageChild(msg_sw);
X! 		XtSetArg(tmp_arg[0], XtNfromHoriz, canvas_sw);
X  		XtSetArg(tmp_arg[1], XtNfromVert, 0);
X  		XtSetValues(panel_sw, tmp_arg, 2);
X  		XtSetArg(tmp_arg[0], XtNfromHoriz, sideruler_sw);
X
X--- 264,273 -----
X  		XtSetArg(tmp_arg[1], XtNfromVert, topruler_sw);
X  		XtSetValues(canvas_sw, tmp_arg, 2);
X  		XtManageChild(msg_sw);
X! 
X! 		/* relocate the side button panel */
X! 		XtUnmanageChild(panel_sw);
X! 		XtSetArg(tmp_arg[0], XtNfromHoriz, canvas_sw); /* panel right of canvas */
X  		XtSetArg(tmp_arg[1], XtNfromVert, 0);
X  		XtSetArg(tmp_arg[2], XtNleft, XtChainRight);  /* chain to right of form */
X  		XtSetArg(tmp_arg[3], XtNright, XtChainRight);
X***************
X*** 269,280
X  		XtManageChild(msg_sw);
X  		XtSetArg(tmp_arg[0], XtNfromHoriz, canvas_sw);
X  		XtSetArg(tmp_arg[1], XtNfromVert, 0);
X! 		XtSetValues(panel_sw, tmp_arg, 2);
X! 		XtSetArg(tmp_arg[0], XtNfromHoriz, sideruler_sw);
X! 		XtSetArg(tmp_arg[1], XtNfromVert, canvas_sw);
X! 		XtSetValues(msg_sw, tmp_arg, 2);
X! 		XtUnmanageChild(msg_sw);
X! 		XtManageChild(msg_sw);
X  	}
X  
X  	init_gc();
X
X--- 269,286 -----
X  		XtUnmanageChild(panel_sw);
X  		XtSetArg(tmp_arg[0], XtNfromHoriz, canvas_sw); /* panel right of canvas */
X  		XtSetArg(tmp_arg[1], XtNfromVert, 0);
X! 		XtSetArg(tmp_arg[2], XtNleft, XtChainRight);  /* chain to right of form */
X! 		XtSetArg(tmp_arg[3], XtNright, XtChainRight);
X! 		XtSetValues(panel_sw, tmp_arg, 4);
X! 		XtManageChild(panel_sw);
X! 
X! 		/* relocate the indicator panel */
X! 		XtUnmanageChild(ind_box);
X! 		XtSetArg(tmp_arg[0], XtNfromHoriz, canvas_sw); /* right of canvas */
X! 		XtSetArg(tmp_arg[1], XtNleft, XtChainRight);  /* chain to right of form */
X! 		XtSetArg(tmp_arg[2], XtNright, XtChainRight);
X! 		XtSetValues(ind_box, tmp_arg, 3);
X! 		XtManageChild(ind_box);
X  	}
X  
X  	init_gc();
END_OF_FILE
if test 4437 -ne `wc -c <'main.c.diff'`; then
    echo shar: \"'main.c.diff'\" unpacked with wrong size!
fi
# end of 'main.c.diff'
fi
if test -f 'msgsw.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'msgsw.c.diff'\"
else
echo shar: Extracting \"'msgsw.c.diff'\" \(853 characters\)
sed "s/^X//" >'msgsw.c.diff' <<'END_OF_FILE'
X*** msgsw.c.old	Wed Mar  7 10:01:35 1990
X--- msgsw.c	Wed Mar  7 10:01:07 1990
X***************
X*** 81,88
X  	TOOL		tool;
X  {
X  	msg_args[2].value = PANEL_WID+CANVAS_WIDTH+SIDERULER_WIDTH-FONT_PANE_WIDTH;
X! 	msg_args[5].value = (XtArgVal)psfont;		/* to the right of font ind. */
X! 	msg_args[7].value = (XtArgVal)canvas_sw;	/* just below the canvas */
X  	msg_sw = XtCreateManagedWidget("message", commandWidgetClass, tool,
X  		msg_args, XtNumber(msg_args));
X  	return (1);
X
X--- 81,88 -----
X  	TOOL		tool;
X  {
X  	msg_args[2].value = PANEL_WID+CANVAS_WIDTH+SIDERULER_WIDTH-FONT_PANE_WIDTH;
X! 	msg_args[5].value = (XtArgVal)psfont;	  /* to the right of font ind. */
X! 	msg_args[7].value = (XtArgVal)canvas_sw;  /* just below the canvas */
X  	msg_sw = XtCreateManagedWidget("message", commandWidgetClass, tool,
X  		msg_args, XtNumber(msg_args));
X  	return (1);
END_OF_FILE
if test 853 -ne `wc -c <'msgsw.c.diff'`; then
    echo shar: \"'msgsw.c.diff'\" unpacked with wrong size!
fi
# end of 'msgsw.c.diff'
fi
if test -f 'panel2.h.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'panel2.h.diff'\"
else
echo shar: Extracting \"'panel2.h.diff'\" \(4685 characters\)
sed "s/^X//" >'panel2.h.diff' <<'END_OF_FILE'
X*** panel2.h.old	Mon Mar  5 10:15:18 1990
X--- panel2.h	Mon Mar  5 10:08:35 1990
X***************
X*** 217,228
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,
X  	0x3f,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0xe0,
X! 	0xff,0xff,0x3f,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,
X! 	0x00,0x20,0x00,0x07,0x20,0x00,0x00,0x00,0x20,0x00,0x07,0x10,
X! 	0x00,0x00,0x00,0x20,0x00,0x00,0x08,0x00,0x00,0x00,0xe0,0xff,
X! 	0xff,0x07,0x00,0x00,0x00,0x78,0x00,0x00,0x04,0x00,0x00,0x00,
X! 	0x48,0xfe,0xff,0x04,0x00,0x00,0x00,0x78,0x00,0x00,0x04,0x00,
X! 	0x00,0x00,0x40,0xfe,0xff,0x04,0x00,0x00,0x00,0x40,0x00,0x00,
X  	0x04,0x00,0x00,0x00,0xc0,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
X  	0x07,0xc0,0x01,0x00,0x00,0x00,0x00,0x02,0x80,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0xc0,0x00,
X
X--- 217,228 -----
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xff,0xff,
X  	0x3f,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0xe0,
X! 	0xff,0xff,0x3f,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x0e,0xc0,
X! 	0x00,0x20,0x00,0x07,0x20,0x11,0x80,0x00,0x20,0x00,0x07,0x10,
X! 	0x01,0x80,0x00,0x20,0x00,0x00,0x08,0x01,0x87,0x00,0xe0,0xff,
X! 	0xff,0x07,0x8e,0x88,0x00,0x78,0x00,0x00,0x04,0x90,0x8f,0x00,
X! 	0x48,0xfe,0xff,0x04,0x90,0x80,0x00,0x78,0x00,0x00,0x04,0x91,
X! 	0x88,0x00,0x40,0xfe,0xff,0x04,0x0e,0xc7,0x05,0x40,0x00,0x00,
X  	0x04,0x00,0x00,0x00,0xc0,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
X  	0x07,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X***************
X*** 224,236
X  	0x48,0xfe,0xff,0x04,0x00,0x00,0x00,0x78,0x00,0x00,0x04,0x00,
X  	0x00,0x00,0x40,0xfe,0xff,0x04,0x00,0x00,0x00,0x40,0x00,0x00,
X  	0x04,0x00,0x00,0x00,0xc0,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
X! 	0x07,0xc0,0x01,0x00,0x00,0x00,0x00,0x02,0x80,0x00,0x00,0x00,
X! 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0xc0,0x00,
X! 	0x00,0x00,0x00,0x00,0x11,0x80,0x00,0x00,0x04,0x00,0x00,0x01,
X! 	0x80,0x00,0x00,0x04,0x00,0x00,0x01,0x87,0x70,0x38,0x1e,0x00,
X! 	0x00,0x8e,0x88,0x88,0x44,0x04,0x00,0x00,0x90,0x8f,0xf8,0x04,
X! 	0x04,0x00,0x00,0x90,0x80,0x08,0x04,0x04,0x00,0x00,0x91,0x88,
X! 	0x88,0x44,0x24,0x00,0x00,0x0e,0xc7,0x71,0x38,0x18,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
X  mpr_static(print_sel_ic, 54, 32, 1, print_sel_image);
X
X--- 224,230 -----
X  	0x48,0xfe,0xff,0x04,0x90,0x80,0x00,0x78,0x00,0x00,0x04,0x91,
X  	0x88,0x00,0x40,0xfe,0xff,0x04,0x0e,0xc7,0x05,0x40,0x00,0x00,
X  	0x04,0x00,0x00,0x00,0xc0,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
X! 	0x07,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X***************
X*** 232,237
X  	0x04,0x00,0x00,0x90,0x80,0x08,0x04,0x04,0x00,0x00,0x91,0x88,
X  	0x88,0x44,0x24,0x00,0x00,0x0e,0xc7,0x71,0x38,0x18,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
X  mpr_static(print_sel_ic, 54, 32, 1, print_sel_image);
X  
X
X--- 226,237 -----
X  	0x04,0x00,0x00,0x00,0xc0,0xff,0xff,0x07,0x00,0x00,0x00,0x00,
X  	0x07,0xc0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X+ 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X+ 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X+ 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X+ 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X+ 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X+ 	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
X  mpr_static(print_sel_ic,54,32,1,print_sel_image);
X  
X***************
X*** 233,239
X  	0x88,0x44,0x24,0x00,0x00,0x0e,0xc7,0x71,0x38,0x18,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
X! mpr_static(print_sel_ic, 54, 32, 1, print_sel_image);
X  
X  static char size_image[224] = {
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X
X--- 233,239 -----
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
X! mpr_static(print_sel_ic,54,32,1,print_sel_image);
X  
X  static char size_image[224] = {
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
END_OF_FILE
if test 4685 -ne `wc -c <'panel2.h.diff'`; then
    echo shar: \"'panel2.h.diff'\" unpacked with wrong size!
fi
# end of 'panel2.h.diff'
fi
if test -f 'patchlevel.h.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'patchlevel.h.diff'\"
else
echo shar: Extracting \"'patchlevel.h.diff'\" \(169 characters\)
sed "s/^X//" >'patchlevel.h.diff' <<'END_OF_FILE'
X*** patchlevel.h.old	Tue Feb 27 09:22:42 1990
X--- patchlevel.h	Thu Mar  1 13:18:06 1990
X***************
X*** 1
X! #define PATCHLEVEL 3
X
X--- 1 -----
X! #define PATCHLEVEL 4
END_OF_FILE
if test 169 -ne `wc -c <'patchlevel.h.diff'`; then
    echo shar: \"'patchlevel.h.diff'\" unpacked with wrong size!
fi
# end of 'patchlevel.h.diff'
fi
if test -f 'popup.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'popup.c.diff'\"
else
echo shar: Extracting \"'popup.c.diff'\" \(776 characters\)
sed "s/^X//" >'popup.c.diff' <<'END_OF_FILE'
X*** popup.c.old	Fri Feb 16 11:01:22 1990
X--- popup.c	Fri Mar  9 13:50:30 1990
X***************
X*** 185,194
X  		redisplay_canvas();
X  		break;
X  	    case F_EDIT :
X! 		if (!no_object() && figure_modified) {
X! 		    if (wmgr_confirm(canvas_swfd, edit_msg) != -1) break;
X! 		    }
X! 		init_msg_receiving(edit_file, "Edit file : ");
X  		break;
X  	    case F_PRINT:
X  		print_figure();
X
X--- 185,191 -----
X  		redisplay_canvas();
X  		break;
X  	    case F_EDIT :
X! 		edit();
X  		break;
X  	    case F_PRINT:
X  		print_figure();
X***************
X*** 256,258
X  	    }
X  	}
X  
X
X--- 253,262 -----
X  	    }
X  	}
X  
X+ edit()
X+ 	{
X+ 	if (!no_object() && figure_modified)
X+ 	    if (wmgr_confirm(canvas_swfd, edit_msg) != -1) 
X+ 		return;
X+ 	init_msg_receiving(edit_file, "Edit file : ");
X+ 	}
END_OF_FILE
if test 776 -ne `wc -c <'popup.c.diff'`; then
    echo shar: \"'popup.c.diff'\" unpacked with wrong size!
fi
# end of 'popup.c.diff'
fi
if test -f 'print.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'print.c.diff'\"
else
echo shar: Extracting \"'print.c.diff'\" \(4419 characters\)
sed "s/^X//" >'print.c.diff' <<'END_OF_FILE'
X*** print.c.old	Tue Jan 16 17:21:33 1990
X--- print.c	Mon Mar  5 10:19:38 1990
X***************
X*** 27,35
X  		"Figure hasn't been saved, PRINT with LEFT button, CANCEL with MIDDLE or RIGHT";
X  
X  print_figure()
X! 	{
X! 	if (current_file[0]==0)
X! 		{
X  		put_msg("NO FILE TO PRINT");
X  		XBell(tool_d,50);
X  		}
X
X--- 27,36 -----
X  		"Figure hasn't been saved, PRINT with LEFT button, CANCEL with MIDDLE or RIGHT";
X  
X  print_figure()
X! {
X! int	print_to_specified_printer();
X! int	print_to_file();
X! 	if (current_file[0]==0) {
X  		put_msg("NO FILE TO PRINT");
X  		XBell(tool_d,50);
X  	}
X***************
X*** 32,40
X  		{
X  		put_msg("NO FILE TO PRINT");
X  		XBell(tool_d,50);
X! 		}
X! 	else
X! 		{
X  		if (figure_modified)	/* modified without saving, confirm print */
X  		    if (wmgr_confirm(canvas_swfd, conf_prnt) != -1)
X  			return;
X
X--- 33,40 -----
X  	if (current_file[0]==0) {
X  		put_msg("NO FILE TO PRINT");
X  		XBell(tool_d,50);
X! 	}
X! 	else {
X  		if (figure_modified)	/* modified without saving, confirm print */
X  		    if (wmgr_confirm(canvas_swfd, conf_prnt) != -1)
X  			return;
X***************
X*** 38,44
X  		if (figure_modified)	/* modified without saving, confirm print */
X  		    if (wmgr_confirm(canvas_swfd, conf_prnt) != -1)
X  			return;
X! 		put_msg("Print figure %s on printer %s in %s mode",
X  			current_file,printer,print_landscape? "LANDSCAPE":"PORTRAIT");
X  		sprintf(prcmd,"f2ps -c %s %s | lpr -J %s -P%s",
X  			print_landscape? "-L":"-P", 
X
X--- 38,46 -----
X  		if (figure_modified)	/* modified without saving, confirm print */
X  		    if (wmgr_confirm(canvas_swfd, conf_prnt) != -1)
X  			return;
X! 
X!                 if (! strcmp("Default", printer)) {
X! 		  put_msg("Print figure %s on printer %s in %s mode",
X  			current_file,printer,print_landscape? "LANDSCAPE":"PORTRAIT");
X  		  sprintf(prcmd,"f2ps -c %s %s | lpr -J %s",
X  			  print_landscape? "-L":"-P", 
X***************
X*** 40,50
X  			return;
X  		put_msg("Print figure %s on printer %s in %s mode",
X  			current_file,printer,print_landscape? "LANDSCAPE":"PORTRAIT");
X! 		sprintf(prcmd,"f2ps -c %s %s | lpr -J %s -P%s",
X! 			print_landscape? "-L":"-P", 
X! 			current_file,
X! 			current_file, 
X! 			printer);
X  		if (system(prcmd)==127)
X  			put_msg("Error in printing");
X  		}
X
X--- 42,65 -----
X                  if (! strcmp("Default", printer)) {
X  		  put_msg("Print figure %s on printer %s in %s mode",
X  			current_file,printer,print_landscape? "LANDSCAPE":"PORTRAIT");
X! 		  sprintf(prcmd,"f2ps -c %s %s | lpr -J %s",
X! 			  print_landscape? "-L":"-P", 
X! 			  current_file,
X! 			  current_file);
X! 		}
X!                 else if (! strcmp("File", printer))
X!                   init_msg_receiving(print_to_file, "Output file : ");
X!                 else if (! strcmp("Specify", printer))
X!                   init_msg_receiving(print_to_specified_printer, "Printer : ");
X!                 else {	/* default */
X! 		  put_msg("Print figure %s on printer %s in %s mode",
X! 		    current_file,printer,print_landscape? "LANDSCAPE":"PORTRAIT");
X! 		  sprintf(prcmd,"f2ps -c %s %s | lpr -J %s -P%s",
X! 		    print_landscape? "-L":"-P", 
X! 		    current_file,
X! 		    current_file, 
X! 		    printer);
X! 		}
X  		if (system(prcmd)==127)
X  			put_msg("Error in printing");
X  	}
X***************
X*** 47,51
X  			printer);
X  		if (system(prcmd)==127)
X  			put_msg("Error in printing");
X- 		}
X  	}
X
X--- 62,67 -----
X  		}
X  		if (system(prcmd)==127)
X  			put_msg("Error in printing");
X  	}
X  }
X  
X***************
X*** 49,51
X  			put_msg("Error in printing");
X  		}
X  	}
X
X--- 63,97 -----
X  		if (system(prcmd)==127)
X  			put_msg("Error in printing");
X  	}
X+ }
X+ 
X+ print_to_file(file)
X+ char    *file;
X+ {
X+ 	if (*file == 0) {
X+ 	    put_msg("Empty name");
X+ 	    return;
X+ 	    }
X+ 	sprintf(prcmd,"f2ps -c %s %s > %s",
X+ 		print_landscape? "-L":"-P",
X+ 		current_file,
X+ 		file);
X+ 	put_msg("Print figure %s to file %s in %s mode",
X+ 	  current_file,file,print_landscape? "LANDSCAPE":"PORTRAIT");
X+ }
X+ 
X+ print_to_specified_printer(specified_printer)
X+ char	*specified_printer;
X+ {
X+ 	if (*specified_printer == 0) {
X+ 	    put_msg("Empty name");
X+ 	    return;
X+ 	    }
X+ 	put_msg("Print figure %s on printer %s in %s mode",
X+ 	  current_file,specified_printer,print_landscape? "LANDSCAPE":"PORTRAIT");
X+ 	sprintf(prcmd,"f2ps -c %s %s | lpr -J %s -P%s",
X+ 	  print_landscape? "-L":"-P", 
X+ 	  current_file,
X+ 	  current_file, 
X+ 	  specified_printer);
X+ }
END_OF_FILE
if test 4419 -ne `wc -c <'print.c.diff'`; then
    echo shar: \"'print.c.diff'\" unpacked with wrong size!
fi
# end of 'print.c.diff'
fi
if test -f 'printfonts.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'printfonts.c.diff'\"
else
echo shar: Extracting \"'printfonts.c.diff'\" \(4167 characters\)
sed "s/^X//" >'printfonts.c.diff' <<'END_OF_FILE'
X*** printfonts.c.old	Tue Jan 16 17:22:08 1990
X--- printfonts.c	Fri Mar  9 16:48:55 1990
X***************
X*** 76,83
X  	/* 1 */ { XtNy, (XtArgVal)0 },
X  	/* 2 */ { XtNwidth, (XtArgVal) FONT_PANE_WIDTH },
X  	/* 3 */ { XtNheight, (XtArgVal) MSG_HEIGHT },	/* same height as message panel */
X! 	/* 4 */ { XtNfromHoriz, (XtArgVal) NULL },	/* flush with panel indicator */
X! 	/* 5 */ { XtNhorizDistance, (XtArgVal) -3*SWITCH_ICON_WIDTH-6*SWITCH_ICON_SPACING },
X  	/* 6 */ { XtNfromVert, (XtArgVal) NULL },
X  	/* 7 */ { XtNvertDistance, (XtArgVal) 1 },	/* dist from canvas_sw window */
X  	/* 8 */ { XtNbitmap, (XtArgVal) NULL },
X
X--- 76,83 -----
X  	/* 1 */ { XtNy, (XtArgVal)0 },
X  	/* 2 */ { XtNwidth, (XtArgVal) FONT_PANE_WIDTH },
X  	/* 3 */ { XtNheight, (XtArgVal) MSG_HEIGHT },	/* same height as message panel */
X! 	/* 4 */ { XtNfromHoriz, (XtArgVal) NULL },	/* left side of main form */
X! 	/* 5 */ { XtNhorizDistance, (XtArgVal) SWITCH_ICON_SPACING },
X  	/* 6 */ { XtNfromVert, (XtArgVal) NULL },
X  	/* 7 */ { XtNvertDistance, (XtArgVal) 1 },	/* dist from canvas_sw window */
X  	/* 8 */ { XtNbitmap, (XtArgVal) NULL },
X***************
X*** 99,105
X  	XtTranslations		popdown_actions, pane_actions;
X  	Arg			my_list;
X  
X! 	fontmenu = XtCreatePopupShell("popup_menu", overrideShellWidgetClass, tool,
X  		fontmenu_args, XtNumber(fontmenu_args));
X  	popdown_actions = XtParseTranslationTable(
X  		"<Btn1Up>:MenuPopdown()\n");
X
X--- 99,105 -----
X  	XtTranslations		popdown_actions, pane_actions;
X  	Arg			my_list;
X  
X! 	fontmenu = XtCreatePopupShell("font_menu", overrideShellWidgetClass, tool,
X  		fontmenu_args, XtNumber(fontmenu_args));
X  	popdown_actions = XtParseTranslationTable(
X  		"<Btn1Up>:MenuPopdown()\n");
X***************
X*** 130,135
X  				     fontpanes, pane_args, XtNumber(pane_args));
X  	XtOverrideTranslations(fontpane[0], pane_actions);
X  
X  	for (i = 1; i < NUMFONTS; ++i)
X  	{
X  		mi = &fontmenu_items[i];
X
X--- 130,136 -----
X  				     fontpanes, pane_args, XtNumber(pane_args));
X  	XtOverrideTranslations(fontpane[0], pane_actions);
X  
X+ 
X  	for (i = 1; i < NUMFONTS; ++i)
X  	{
X  		mi = &fontmenu_items[i];
X***************
X*** 142,148
X  	/* Now set up the font indicator window */
X  
X  	/* position */
X- 	psfont_args[4].value = (XtArgVal)panel_sw;	/* flush left with panel window */
X  	psfont_args[6].value = (XtArgVal)canvas_sw;	/* just below the canvas window */
X  	psfont = XtCreateManagedWidget("indicator", labelWidgetClass, tool,
X  		psfont_args, XtNumber(psfont_args));
X
X--- 143,148 -----
X  	/* Now set up the font indicator window */
X  
X  	/* position */
X  	psfont_args[6].value = (XtArgVal)canvas_sw;	/* just below the canvas window */
X  	psfont = XtCreateManagedWidget("font_indicator", labelWidgetClass, tool,
X  		psfont_args, XtNumber(psfont_args));
X***************
X*** 144,150
X  	/* position */
X  	psfont_args[4].value = (XtArgVal)panel_sw;	/* flush left with panel window */
X  	psfont_args[6].value = (XtArgVal)canvas_sw;	/* just below the canvas window */
X! 	psfont = XtCreateManagedWidget("indicator", labelWidgetClass, tool,
X  		psfont_args, XtNumber(psfont_args));
X  	return (1);
X  }
X
X--- 144,150 -----
X  
X  	/* position */
X  	psfont_args[6].value = (XtArgVal)canvas_sw;	/* just below the canvas window */
X! 	psfont = XtCreateManagedWidget("font_indicator", labelWidgetClass, tool,
X  		psfont_args, XtNumber(psfont_args));
X  	return (1);
X  }
X***************
X*** 159,167
X  	/* Create the bitmaps */
X  
X  	for (i=0; i<NUMFONTS; i++)
X! 	    font_menu_bitmaps[i] = XCreatePixmapFromBitmapData(tool_d, XtWindow(psfont),
X! 		font_menu_bits[i], FONT_PANE_WIDTH, FONT_PANE_HEIGHT,
X! 		x_bg_color.pixel, x_fg_color.pixel, DefaultDepthOfScreen(tool_s));
X  	psfont_args[8].value = (XtArgVal) font_menu_bitmaps[0];
X  	XtSetValues(psfont, &psfont_args[8], 1);	/* show default font in window */
X  
X
X--- 159,166 -----
X  	/* Create the bitmaps */
X  
X  	for (i=0; i<NUMFONTS; i++)
X! 	    font_menu_bitmaps[i] = XCreateBitmapFromData(tool_d,XtWindow(psfont),
X! 		font_menu_bits[i], FONT_PANE_WIDTH, FONT_PANE_HEIGHT);
X  	psfont_args[8].value = (XtArgVal) font_menu_bitmaps[0];
X  	XtSetValues(psfont, &psfont_args[8], 1);	/* show default font in window */
X  
END_OF_FILE
if test 4167 -ne `wc -c <'printfonts.c.diff'`; then
    echo shar: \"'printfonts.c.diff'\" unpacked with wrong size!
fi
# end of 'printfonts.c.diff'
fi
if test -f 'psbits.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'psbits.c.diff'\"
else
echo shar: Extracting \"'psbits.c.diff'\" \(1490 characters\)
sed "s/^X//" >'psbits.c.diff' <<'END_OF_FILE'
X*** psbits.c.old	Mon Feb 19 11:26:16 1990
X--- psbits.c	Fri Mar  2 11:51:20 1990
X***************
X*** 11,16
X  */
X  
X  /* These are the bitmaps for the font menu panes */
X  /* Part 1 of 3 */
X  
X  #include <X11/Xlib.h>
X
X--- 11,18 -----
X  */
X  
X  /* These are the bitmaps for the font menu panes */
X+ 
X+ 
X  /* Part 1 of 3 */
X  
X  #include <X11/Xlib.h>
X***************
X*** 16,21
X  #include <X11/Xlib.h>
X  #include "psfonts.h"
X  
X  static char AvantGarde_BookOblique_bits[] = {
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X
X--- 18,24 -----
X  #include <X11/Xlib.h>
X  #include "psfonts.h"
X  
X+ #ifndef TFX
X  static char AvantGarde_BookOblique_bits[] = {
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X***************
X*** 772,777
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
X  
X  /* get part 2 */
X  #include "psbits2.c"
X
X--- 775,781 -----
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
X+ #endif
X  
X  /* get part 2 */
X  #include "psbits2.c"
X***************
X*** 775,777
X  
X  /* get part 2 */
X  #include "psbits2.c"
X
X--- 779,782 -----
X  
X  /* get part 2 */
X  #include "psbits2.c"
X+ 
END_OF_FILE
if test 1490 -ne `wc -c <'psbits.c.diff'`; then
    echo shar: \"'psbits.c.diff'\" unpacked with wrong size!
fi
# end of 'psbits.c.diff'
fi
if test -f 'psbits2.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'psbits2.c.diff'\"
else
echo shar: Extracting \"'psbits2.c.diff'\" \(1125 characters\)
sed "s/^X//" >'psbits2.c.diff' <<'END_OF_FILE'
X*** psbits2.c.old	Mon Feb 19 11:29:21 1990
X--- psbits2.c	Fri Mar  2 11:51:52 1990
X***************
X*** 13,18
X  /* These are the bitmaps for the font menu panes */
X  /* Part 2 of 3 */
X  
X  static char Helvetica_Bold_bits[] = {
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X
X--- 13,19 -----
X  /* These are the bitmaps for the font menu panes */
X  /* Part 2 of 3 */
X  
X+ #ifndef TFX
X  static char Helvetica_Bold_bits[] = {
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X***************
X*** 769,774
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
X  
X  /* get part 3 */
X  #include "psbits3.c" 
X
X--- 770,776 -----
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
X  	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
X+ #endif
X  
X  /* get part 3 */
X  #include "psbits3.c" 
END_OF_FILE
if test 1125 -ne `wc -c <'psbits2.c.diff'`; then
    echo shar: \"'psbits2.c.diff'\" unpacked with wrong size!
fi
# end of 'psbits2.c.diff'
fi
if test -f 'psfonts.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'psfonts.c.diff'\"
else
echo shar: Extracting \"'psfonts.c.diff'\" \(2154 characters\)
sed "s/^X//" >'psfonts.c.diff' <<'END_OF_FILE'
X*** psfonts.c.old	Tue Jan 16 17:22:33 1990
X--- psfonts.c	Wed Mar  7 16:08:01 1990
X***************
X*** 1,5
X  #include <X11/Xlib.h>
X  #include "psfonts.h"
X  #define NULL 0
X  
X  /* printer font names for indicator window */
X
X--- 1,6 -----
X  #include <X11/Xlib.h>
X  #include "psfonts.h"
X+ 
X  #define NULL 0
X  
X  /* printer font names for indicator window */
X***************
X*** 4,9
X  
X  /* printer font names for indicator window */
X  
X  struct _fstruct fontnames[NUMFONTS] = {
X  	 {"Times-Roman",		"-adobe-times-medium-r-*--*", NULL},
X  	 {"Times-Italic",		"-adobe-times-medium-i-*--*", NULL},
X
X--- 5,11 -----
X  
X  /* printer font names for indicator window */
X  
X+ #ifndef TFX
X  struct _fstruct fontnames[NUMFONTS] = {
X  	 {"Times-Roman",		"-adobe-times-medium-r-*--*", NULL},
X  	 {"Times-Italic",		"-adobe-times-medium-i-*--*", NULL},
X***************
X*** 38,43
X  	 {"Palatino-Bold",		"NONE", NULL},
X  	 {"Palatino-BoldItalic",	"NONE", NULL},
X  	 {"Symbol",			"*-symbol-medium-r-*--*", NULL},
X! 	 {"ZapfChancery-MediumItalic",	"zapfchancery-mediumitalic--*", NULL},
X! 	 {"ZapfDingbats",		"zapfdingbats--*", NULL},
X  	 };
X
X--- 40,47 -----
X  	 {"Palatino-Bold",		"NONE", NULL},
X  	 {"Palatino-BoldItalic",	"NONE", NULL},
X  	 {"Symbol",			"*-symbol-medium-r-*--*", NULL},
X! 	 {"ZapfChancery-MediumItalic",	"-*-zapfchancery-medium-i-*--*", NULL},
X! 	 {"ZapfDingbats",		"-*-zapfdingbats-*-*-*--*", NULL},
X  	 };
X  #else
X  struct _fstruct fontnames[NUMFONTS] = {
X***************
X*** 41,43
X  	 {"ZapfChancery-MediumItalic",	"zapfchancery-mediumitalic--*", NULL},
X  	 {"ZapfDingbats",		"zapfdingbats--*", NULL},
X  	 };
X
X--- 43,55 -----
X  	 {"ZapfChancery-MediumItalic",	"-*-zapfchancery-medium-i-*--*", NULL},
X  	 {"ZapfDingbats",		"-*-zapfdingbats-*-*-*--*", NULL},
X  	 };
X+ #else
X+ struct _fstruct fontnames[NUMFONTS] = {
X+ 	{"Default",		"-adobe-times-medium-r-*--*", NULL},
X+ 	{"Roman",		"-adobe-times-medium-r-*--*", NULL},
X+ 	{"Bold",		"-adobe-times-bold-r-*--*", NULL},
X+ 	{"Italic",		"-adobe-times-medium-i-*--*", NULL},
X+ 	{"Modern",		"-adobe-helvetica-medium-r-*--*", NULL},
X+ 	{"Typewriter",		"-adobe-courier-medium-r-*--*", NULL},
X+        	};
X+ #endif
END_OF_FILE
if test 2154 -ne `wc -c <'psfonts.c.diff'`; then
    echo shar: \"'psfonts.c.diff'\" unpacked with wrong size!
fi
# end of 'psfonts.c.diff'
fi
if test -f 'psfonts.h.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'psfonts.h.diff'\"
else
echo shar: Extracting \"'psfonts.h.diff'\" \(1156 characters\)
sed "s/^X//" >'psfonts.h.diff' <<'END_OF_FILE'
X*** psfonts.h.old	Tue Jan 16 17:22:18 1990
X--- psfonts.h	Fri Mar  2 12:05:46 1990
X***************
X*** 1,5
X- #define	FONT_PANE_WIDTH 290
X- #define	FONT_PANE_HEIGHT 20
X  #define	MIN_P_SIZE 6
X  #define	MAX_P_SIZE 30
X  #define	NUMFONTS 35
X
X--- 1,3 -----
X  #define	MIN_P_SIZE 6
X  #define	MAX_P_SIZE 30
X  
X***************
X*** 2,7
X  #define	FONT_PANE_HEIGHT 20
X  #define	MIN_P_SIZE 6
X  #define	MAX_P_SIZE 30
X  #define	NUMFONTS 35
X  
X  /* element of linked list for each font
X
X--- 1,9 -----
X  #define	MIN_P_SIZE 6
X  #define	MAX_P_SIZE 30
X+ 
X+ #ifndef TFX
X+ #define	FONT_PANE_WIDTH 290
X+ #define	FONT_PANE_HEIGHT 20
X  #define	NUMFONTS 35
X  #else
X  #define	FONT_PANE_WIDTH 112
X***************
X*** 3,8
X  #define	MIN_P_SIZE 6
X  #define	MAX_P_SIZE 30
X  #define	NUMFONTS 35
X  
X  /* element of linked list for each font
X     The head of list is for the different font NAMES,
X
X--- 5,15 -----
X  #define	FONT_PANE_WIDTH 290
X  #define	FONT_PANE_HEIGHT 20
X  #define	NUMFONTS 35
X+ #else
X+ #define	FONT_PANE_WIDTH 112
X+ #define	FONT_PANE_HEIGHT 20
X+ #define NUMFONTS 6
X+ #endif
X  
X  /* element of linked list for each font
X     The head of list is for the different font NAMES,
END_OF_FILE
if test 1156 -ne `wc -c <'psfonts.h.diff'`; then
    echo shar: \"'psfonts.h.diff'\" unpacked with wrong size!
fi
# end of 'psfonts.h.diff'
fi
if test -f 'read.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'read.c.diff'\"
else
echo shar: Extracting \"'read.c.diff'\" \(558 characters\)
sed "s/^X//" >'read.c.diff' <<'END_OF_FILE'
X*** read.c.old	Thu Feb 15 11:45:44 1990
X--- read.c	Fri Mar  2 10:51:14 1990
X***************
X*** 584,590
X  
X  	Text_malloc(t);
X  	t->next = NULL;
X! 	n = sscanf(buf,"%*d%d%d%d%d%d%d%lf%d%d%d%d%d %[^\1]",
X  		&t->type, &t->font, &t->size, &t->pen,
X  		&t->color, &t->depth, &t->angle,
X  		&t->style, &t->height, &t->length, 
X
X--- 584,590 -----
X  
X  	Text_malloc(t);
X  	t->next = NULL;
X! 	n = sscanf(buf,"%*d%d%d%d%d%d%d%f%d%d%d%d%d %[^\1]",
X  		&t->type, &t->font, &t->size, &t->pen,
X  		&t->color, &t->depth, &t->angle,
X  		&t->style, &t->height, &t->length, 
END_OF_FILE
if test 558 -ne `wc -c <'read.c.diff'`; then
    echo shar: \"'read.c.diff'\" unpacked with wrong size!
fi
# end of 'read.c.diff'
fi
if test -f 'read1_3.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'read1_3.c.diff'\"
else
echo shar: Extracting \"'read1_3.c.diff'\" \(354 characters\)
sed "s/^X//" >'read1_3.c.diff' <<'END_OF_FILE'
X*** read1_3.c.old	Tue Jan 16 17:21:08 1990
X--- read1_3.c	Thu Mar  1 19:48:50 1990
X***************
X*** 451,456
X  	    return(NULL);
X  	    }
X  	strcpy(t->cstring, buf);
X! 	if (t->size == 0) t->size == 18;
X  	return(t);
X  	}
X
X--- 451,456 -----
X  	    return(NULL);
X  	    }
X  	strcpy(t->cstring, buf);
X! 	if (t->size == 0) t->size = 18;
X  	return(t);
X  	}
END_OF_FILE
if test 354 -ne `wc -c <'read1_3.c.diff'`; then
    echo shar: \"'read1_3.c.diff'\" unpacked with wrong size!
fi
# end of 'read1_3.c.diff'
fi
if test -f 'resources.h.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'resources.h.diff'\"
else
echo shar: Extracting \"'resources.h.diff'\" \(1438 characters\)
sed "s/^X//" >'resources.h.diff' <<'END_OF_FILE'
X*** resources.h.old	Fri Feb 16 15:02:19 1990
X--- resources.h	Mon Mar 12 11:18:31 1990
X***************
X*** 125,130
X  			msg_sw,
X  			panel_sw,
X  			panel2_sw,
X  			fill_panel,
X  			line_thick_panel,
X  			radius_panel,
X
X--- 125,131 -----
X  			msg_sw,
X  			panel_sw,
X  			panel2_sw,
X+ 			ind_box,	/* thick/radius/fill enclosing widget */
X  			fill_panel,
X  			line_thick_panel,
X  			radius_panel,
X***************
X*** 141,146
X  EXTERN Display		*tool_d;
X  EXTERN Screen		*tool_s;
X  EXTERN int		tool_sn;
X  #define NUMFILLPATS 21
X  EXTERN int		cur_gcfont[0x10],cur_gcfontsize[0x10];  /* font/size currently in each GC */
X  EXTERN GC		gc, bold_gc, gccache[0x10], topgc, sidegc,
X
X--- 142,149 -----
X  EXTERN Display		*tool_d;
X  EXTERN Screen		*tool_s;
X  EXTERN int		tool_sn;
X+ 
X+ #ifndef TFX
X  #define NUMFILLPATS 21
X  #else
X  #define NUMFILLPATS 5
X***************
X*** 142,147
X  EXTERN Screen		*tool_s;
X  EXTERN int		tool_sn;
X  #define NUMFILLPATS 21
X  EXTERN int		cur_gcfont[0x10],cur_gcfontsize[0x10];  /* font/size currently in each GC */
X  EXTERN GC		gc, bold_gc, gccache[0x10], topgc, sidegc,
X  			fill_gc[NUMFILLPATS],		/* area fill gc's */
X
X--- 145,154 -----
X  
X  #ifndef TFX
X  #define NUMFILLPATS 21
X+ #else
X+ #define NUMFILLPATS 5
X+ #endif
X+ 
X  EXTERN int		cur_gcfont[0x10],cur_gcfontsize[0x10];  /* font/size currently in each GC */
X  EXTERN GC		gc, bold_gc, gccache[0x10], topgc, sidegc,
X  			fill_gc[NUMFILLPATS],		/* area fill gc's */
END_OF_FILE
if test 1438 -ne `wc -c <'resources.h.diff'`; then
    echo shar: \"'resources.h.diff'\" unpacked with wrong size!
fi
# end of 'resources.h.diff'
fi
if test -f 'search.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'search.c.diff'\"
else
echo shar: Extracting \"'search.c.diff'\" \(1344 characters\)
sed "s/^X//" >'search.c.diff' <<'END_OF_FILE'
X*** search.c.old	Tue Jan 16 17:21:08 1990
X--- search.c	Tue Mar  6 09:09:23 1990
X***************
X*** 52,58
X  	    dy = y - e->center.y;
X  	    a = e->radiuses.x;
X  	    b = e->radiuses.y;
X! 	    dis = sqrt((double)(dx*dx + dy*dy));
X   	    if (dis == 0) {
X   		*px = e->center.x;
X   		*py = e->center.y;
X
X--- 52,62 -----
X  	    dy = y - e->center.y;
X  	    a = e->radiuses.x;
X  	    b = e->radiuses.y;
X! 	    /* prevent sqrt(0) core dumps */
X! 	    if(dx == 0 && dy == 0)
X! 		dis = 0;	/* so we return below */
X! 	    else
X! 	        dis = sqrt((double)(dx*dx + dy*dy));
X   	    if (dis == 0) {
X   		*px = e->center.x;
X   		*py = e->center.y;
X***************
X*** 58,64
X   		*py = e->center.y;
X   		return(e);
X   	    }
X! 	    r = a * b * dis / sqrt((double) (1.0*b*b*dx*dx + 1.0*a*a*dy*dy));
X  	    if (fabs(dis - r) <= tol) {
X  		*px = (int)(r*dx/dis + ((dx < 0) ? -.5 : .5)) + e->center.x;
X  		*py = (int)(r*dy/dis + ((dy < 0) ? -.5 : .5)) + e->center.y;
X
X--- 62,71 -----
X   		*py = e->center.y;
X   		return(e);
X   	    }
X! 	    if(a * dy == 0 && b * dx == 0)
X! 		r = 0;  /* prevent core dumps */
X! 	    else
X! 		r = a * b * dis / sqrt((double) (1.0*b*b*dx*dx + 1.0*a*a*dy*dy));
X  	    if (fabs(dis - r) <= tol) {
X  		*px = (int)(r*dx/dis + ((dx < 0) ? -.5 : .5)) + e->center.x;
X  		*py = (int)(r*dy/dis + ((dy < 0) ? -.5 : .5)) + e->center.y;
END_OF_FILE
if test 1344 -ne `wc -c <'search.c.diff'`; then
    echo shar: \"'search.c.diff'\" unpacked with wrong size!
fi
# end of 'search.c.diff'
fi
if test -f 'version.h.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'version.h.diff'\"
else
echo shar: Extracting \"'version.h.diff'\" \(691 characters\)
sed "s/^X//" >'version.h.diff' <<'END_OF_FILE'
X*** version.h.old	Tue Feb 20 10:35:24 1990
X--- version.h	Thu Mar  1 13:18:37 1990
X***************
X*** 8,11
X  */
X  
X  #define			FIG_VERSION		"2.0"
X  #define			PROTOCOL_VERSION	"1.4X"	/* file format */
X
X--- 8,14 -----
X  */
X  
X  #define			FIG_VERSION		"2.0"
X+ #ifndef TFX
X  #define			PROTOCOL_VERSION	"1.4X"	/* file format */
X  #else
X  #define			PROTOCOL_VERSION	"1.4-TFX" /* file format */
X***************
X*** 9,11
X  
X  #define			FIG_VERSION		"2.0"
X  #define			PROTOCOL_VERSION	"1.4X"	/* file format */
X
X--- 10,15 -----
X  #define			FIG_VERSION		"2.0"
X  #ifndef TFX
X  #define			PROTOCOL_VERSION	"1.4X"	/* file format */
X+ #else
X+ #define			PROTOCOL_VERSION	"1.4-TFX" /* file format */
X+ #endif
END_OF_FILE
if test 691 -ne `wc -c <'version.h.diff'`; then
    echo shar: \"'version.h.diff'\" unpacked with wrong size!
fi
# end of 'version.h.diff'
fi
if test -f 'xtra.c.diff' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xtra.c.diff'\"
else
echo shar: Extracting \"'xtra.c.diff'\" \(1724 characters\)
sed "s/^X//" >'xtra.c.diff' <<'END_OF_FILE'
X*** xtra.c.old	Thu Feb 22 17:08:52 1990
X--- xtra.c	Mon Mar 12 13:26:43 1990
X***************
X*** 125,130
X  
X  /* grey images for fill patterns */
X  
X  static char  fill_images[NUMFILLPATS][8] = {
X     {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
X     {0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00},
X
X--- 125,131 -----
X  
X  /* grey images for fill patterns */
X  
X+ #ifndef TFX
X  static char  fill_images[NUMFILLPATS][8] = {
X     {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
X     {0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00},
X***************
X*** 148,153
X     {0x77, 0xff, 0x7f, 0xbe, 0x7f, 0xff, 0x77, 0xaa},
X     {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
X     };
X  
X  /* create the gc's for area fill (PAINT and ERASE) */
X  
X
X--- 149,163 -----
X     {0x77, 0xff, 0x7f, 0xbe, 0x7f, 0xff, 0x77, 0xaa},
X     {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
X     };
X+ #else
X+ static char  fill_images[NUMFILLPATS][8] = {
X+    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
X+    {0x55, 0xaa, 0x77, 0xaa, 0x55, 0xaa, 0xdd, 0xaa},
X+    {0x55, 0x00, 0x55, 0x00, 0x55, 0x00, 0x55, 0x00},
X+    {0x00, 0x44, 0x00, 0x10, 0x00, 0x44, 0x00, 0x00},
X+    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
X+    };
X+ #endif
X  
X  /* create the gc's for area fill (PAINT and ERASE) */
X  
X***************
X*** 420,443
X  		}
X  	}
X  
X- #ifdef  sparc
X- 
X- #undef cfree
X- #undef free
X- 
X- #include <stdio.h>
X- 
X- FREE ( x )    /*-- disable free --*/
X-     char *x ;
X- {
X-     free(x);
X-     /* fprintf( stderr, "FREE -- %8x\n", x ) ; */
X- }
X- CFREE ( x )   /*-- disable cfree --*/
X-     char *x ;
X- {
X-     cfree(x);
X-     /* fprintf( stderr, "FREE -- %8x\n", x ) ; */
X- }
X- 
X- #endif  sparc
X
X--- 430,432 -----
X  		}
X  	}
X  
END_OF_FILE
if test 1724 -ne `wc -c <'xtra.c.diff'`; then
    echo shar: \"'xtra.c.diff'\" unpacked with wrong size!
fi
# end of 'xtra.c.diff'
fi
echo shar: End of archive 1 \(of 3\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 3 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0

dan
-----------------------------------------------------------
		    O'Reilly && Associates
		argv@sun.com / argv@ora.com
	   632 Petaluma Ave, Sebastopol, CA 95472 
     800-338-NUTS, in CA: 800-533-NUTS, FAX 707-829-0104
    Opinions expressed reflect those of the author only.