v04i066: xpic -- pic previewer for X11, Part01/15

Dan Heller argv at island.uu.net
Fri Jul 21 05:11:47 AEST 1989


Submitted-by: Mark Moraes <moraes at ai.toronto.edu>
Posting-number: Volume 4, Issue 66
Archive-name: xpic/part01



#! /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 15)."
# Contents:  xpic xpic/CHANGES.Patch9 xpic/ExcludeFiles xpic/Minibuf.h
#   xpic/Window.h xpic/WindowP.h xpic/Xresources
#   xpic/Xresources/README xpic/Xresources/color xpic/arrow.c
#   xpic/assert.h xpic/bitmaps xpic/bitmaps/README
#   xpic/bitmaps/gray.bm xpic/bitmaps/gray1.bm xpic/bitmaps/gray2.bm
#   xpic/bitmaps/gray3.bm xpic/bitmaps/gray4.bm xpic/bitmaps/gray5.bm
#   xpic/bitmaps/gray6.bm xpic/bitmaps/gray7.bm xpic/bitmaps/gray8.bm
#   xpic/bitmaps/gray9.bm xpic/box.c xpic/doc xpic/doc/Makefile
#   xpic/doc/README xpic/doc/move.x xpic/doc/show.x xpic/doc/tex
#   xpic/doc/tex/Makefile xpic/doc/tex/funstuff.x
#   xpic/doc/tex/funstuff.xpic xpic/doc/tex/node.x
#   xpic/doc/tex/texwarning.x xpic/doc/victor.x xpic/draw.h
#   xpic/error.c xpic/focus.c xpic/fontdesc xpic/fontdesc/README
#   xpic/fontdesc/x2pic xpic/fontdesc/x2ps xpic/fontdesc/xpic
#   xpic/gels.h xpic/input.h xpic/isqrt.c xpic/jove.mac xpic/line.c
#   xpic/newfonts.h xpic/patchlevel.h xpic/pic.fix xpic/spline.h
#   xpic/test xpic/test/README xpic/test/line.x xpic/test/rayan.x
#   xpic/test/testtext.x xpic/to_do xpic/tune.h xpic/usleep.c
#   xpic/version.h xpic/windows.h xpic/x2ps.tra xpic/x2tex.manX
#   xpic/x2tex.script xpic/xlint xpic/xpic.h xpic/xtp.h
#   xpic/xtypeout.h
# Wrapped by moraes at neat.ai on Thu Jul 13 22:36:05 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test ! -d 'xpic' ; then
    echo shar: Creating directory \"'xpic'\"
    mkdir 'xpic'
fi
if test -f 'xpic/CHANGES.Patch9' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/CHANGES.Patch9'\"
else
echo shar: Extracting \"'xpic/CHANGES.Patch9'\" \(123 characters\)
sed "s/^X//" >'xpic/CHANGES.Patch9' <<'END_OF_FILE'
XFixes 
X	- a bug in Minibuf 
X
X	- so the button boxes work as intended in the new fixed Form
X	widget (Xhp.patch.works.ptch3)
END_OF_FILE
if test 123 -ne `wc -c <'xpic/CHANGES.Patch9'`; then
    echo shar: \"'xpic/CHANGES.Patch9'\" unpacked with wrong size!
fi
# end of 'xpic/CHANGES.Patch9'
fi
if test -f 'xpic/ExcludeFiles' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/ExcludeFiles'\"
else
echo shar: Extracting \"'xpic/ExcludeFiles'\" \(853 characters\)
sed "s/^X//" >'xpic/ExcludeFiles' <<'END_OF_FILE'
Xxpic/Makefile.bak
Xxpic/ID
Xxpic/updown.o
Xxpic/count.sh
Xxpic/checkin
Xxpic/lint.out
Xxpic/RCS
Xxpic/doc/RCS
Xxpic/doc/tex/RCS
Xxpic/Form.o
Xxpic/Minibuf.o
Xxpic/PButton.o
Xxpic/Window.o
Xxpic/arrow.o
Xxpic/ask.o
Xxpic/error.o
Xxpic/event.o
Xxpic/fonts.o
Xxpic/gels.o
Xxpic/grid.o
Xxpic/handlers.o
Xxpic/input.o
Xxpic/isqrt.o
Xxpic/main.o
Xxpic/malloc.o
Xxpic/newfonts.o
Xxpic/null.o
Xxpic/obj_block.o
Xxpic/obj_box.o
Xxpic/obj_circ.o
Xxpic/obj_element.o
Xxpic/obj_ell.o
Xxpic/obj_line.o
Xxpic/obj_spline.o
Xxpic/obj_text.o
Xxpic/spline.o
Xxpic/util.o
Xxpic/windows.o
Xxpic/x2pic.o
Xxpic/x2ps.o
Xxpic/xpic.o
Xxpic/xtypeout.o
Xxpic/newfonts.o
Xxpic/hash.o
Xxpic/xpic
Xxpic/oxpic
Xxpic/x2pic
Xxpic/ox2pic
Xxpic/x2ps
Xxpic/ox2ps
Xxpic/malloc.c
Xxpic/text.o
Xxpic/arc.o
Xxpic/box.o
Xxpic/focus.o
Xxpic/line.o
Xxpic/x2tpic.o
Xxpic/xtp.o
Xxpic/x2tpic
Xxpic/make.log
Xxpic/.depend
Xxpic/doc/tex/xpic.aux
Xxpic/obj_elem.o
END_OF_FILE
if test 853 -ne `wc -c <'xpic/ExcludeFiles'`; then
    echo shar: \"'xpic/ExcludeFiles'\" unpacked with wrong size!
fi
# end of 'xpic/ExcludeFiles'
fi
if test -f 'xpic/Minibuf.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/Minibuf.h'\"
else
echo shar: Extracting \"'xpic/Minibuf.h'\" \(716 characters\)
sed "s/^X//" >'xpic/Minibuf.h' <<'END_OF_FILE'
X/* $Header: Minibuf.h,v 1.1 88/08/18 23:54:16 moraes Exp $ */
X#ifndef _XtMinibuf_h
X#define _XtMinibuf_h
X
X#include <X11/StringDefs.h>
X
X/* New resources */
X#define XtNfinishedCallback	"finishedCallback"
X#define XtNcursor			"cursor"
X#define XtNtypeoutColumns	"typeoutColumns"
X#define XtCTypeoutColumns	"TypeoutColumns"
X#define XtNtypeout		"typeout"
X#define XtCtypeout		"Typeout"
X
X/* Class record pointer */
Xextern WidgetClass minibufWidgetClass;
X
X/* C Widget type definition */
Xtypedef struct _MinibufRec *MinibufWidget;
X
X/* Public routines - those that you're supposed to call anyway! */
Xextern void MinibufGetInput();
Xextern void MinibufDisplayMessage();
X
X
X#endif _XtMinibuf_h
X/* DON'T ADD STUFF AFTER THIS #endif */
END_OF_FILE
if test 716 -ne `wc -c <'xpic/Minibuf.h'`; then
    echo shar: \"'xpic/Minibuf.h'\" unpacked with wrong size!
fi
# end of 'xpic/Minibuf.h'
fi
if test -f 'xpic/Window.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/Window.h'\"
else
echo shar: Extracting \"'xpic/Window.h'\" \(647 characters\)
sed "s/^X//" >'xpic/Window.h' <<'END_OF_FILE'
X/*
X* $Header: Window.h,v 1.2 89/04/21 03:30:16 xwindows Exp $
X*/
X
X#ifndef _XtWindow_h
X#define _XtWindow_h
X
X/***********************************************************************
X *
X * Window Widget
X *
X ***********************************************************************/
X
X#ifndef XtNpixmap
X#define XtNpixmap    "pixmap"
X#endif /* XtNpixmap */
X#ifndef XtCpixmap
X#define XtCpixmap    "Pixmap"
X#endif /* XtCpixmap */
X
X/* Class record constants */
X
Xextern WidgetClass windowWidgetClass;
X
Xtypedef struct _WindowClassRec *WindowWidgetClass;
Xtypedef struct _WindowRec      *WindowWidget;
X
X#endif _XtWindow_h
X/* DON'T ADD STUFF AFTER THIS #endif */
END_OF_FILE
if test 647 -ne `wc -c <'xpic/Window.h'`; then
    echo shar: \"'xpic/Window.h'\" unpacked with wrong size!
fi
# end of 'xpic/Window.h'
fi
if test -f 'xpic/WindowP.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/WindowP.h'\"
else
echo shar: Extracting \"'xpic/WindowP.h'\" \(1469 characters\)
sed "s/^X//" >'xpic/WindowP.h' <<'END_OF_FILE'
X/*
X* $Header: WindowP.h,v 1.1 88/08/18 23:55:45 moraes Exp $
X*/
X
X/*
X * Window.P.h - Private Window widget definitions.
X *
X * Author:      Chris Peterson
X *              M.I.T.  
X *              Bldg. E40 - Project Athena
X *              77 Massachussets Ave.
X *              Cambridge, MA 02139
X * 
X * Date:        Tue Oct 27 1987
X *
X * Based upon the label widget by Charles Haynes.
X */
X
X#ifndef _XtWindowPrivate_h
X#define _XtWindowPrivate_h
X
X/***********************************************************************
X *
X * Label Widget Private Data
X *
X ***********************************************************************/
X
X/* New fields for the Label widget class record */
X
Xtypedef struct {int foo;} WindowClassPart;
X
X/* Full class record declaration */
Xtypedef struct _WindowClassRec {
X    CoreClassPart	core_class;
X    WindowClassPart	window_class;
X} WindowClassRec;
X
Xextern WindowClassRec windowClassRec;
X
X/* New fields for the Label widget record */
Xtypedef struct {
X  Pixmap         pixmap;	/* The pixmap for this window. */
X  Pixel          foreground;	/* The foreground color for graphics in this
X				   window.*/
X} WindowPart;
X
X
X/****************************************************************
X *
X * Full instance record declaration
X *
X ****************************************************************/
X
Xtypedef struct _WindowRec {
X    CorePart	core;
X    WindowPart	window;
X} WindowRec;
X
X#endif _XtWindowPrivate_h
X/* DON'T ADD STUFF AFTER THIS #endif */
X
END_OF_FILE
if test 1469 -ne `wc -c <'xpic/WindowP.h'`; then
    echo shar: \"'xpic/WindowP.h'\" unpacked with wrong size!
fi
# end of 'xpic/WindowP.h'
fi
if test ! -d 'xpic/Xresources' ; then
    echo shar: Creating directory \"'xpic/Xresources'\"
    mkdir 'xpic/Xresources'
fi
if test -f 'xpic/Xresources/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/Xresources/README'\"
else
echo shar: Extracting \"'xpic/Xresources/README'\" \(1626 characters\)
sed "s/^X//" >'xpic/Xresources/README' <<'END_OF_FILE'
XFrom morenz Tue Jun 27 11:22:11 1989
XReceived: by neat.ai.toronto.edu id 11727; Tue, 27 Jun 89 11:21:58 EDT
XFrom:   Robert Morenz <morenz at theory.toronto.edu>
XTo:     bug
XSubject: xpic bug
XMessage-Id: <89Jun27.112158edt.11727 at neat.ai.toronto.edu>
XDate:   Tue, 27 Jun 89 11:21:43 EDT
X
XI was checking out xpic on the optimaX. The xpic screen is too big to fit
Xand some of the commands don't appear even on resizing.
X
X[The wonders of resources. Turns out xpic can be convinced to fit on
X the Optima screen. The command
X                xpic -ph 90 -gs 6 -xrm 'xpic*vSpace: 1'
X
X should get it to just fit. For a more permanant setup, try adding
X something like the following to your X11defaults file
X
X        #if defined(CONSOLETYPE_go200)
X        xpic.pageHeight:                90
X        xpic.gridSpacing:               6
X        xpic*vSpace:                    1
X        #endif
X
X The pageHeight is in tenths of an inch (don't ask!), so it is cut
X down from the default 105 (10.5 inches) to 90 (9 inches)
X The gridSpacing is the number of pixels apart the grid points, so
X it is reduced from the default 8 to 6.
X The vSpace resource indicates that the vertical space between all the
X buttons and labels in the menu should be 1 pixel (the default is 4)
X
X For more information on X resources, see
X /csri/doc/X11/tutorials/resources.txt, for more information on xpic
X resource classes, see /csri/doc/X11/xpic/xpic.doc. For specific names
X of resources used by xpic, see the manual pages for the widgets used
X by xpic in /csri/src/X/contrib/widgets/Xhp/doc/manpages.n. (Sorry,
X there isn't any other documentation on them) - moraes]
END_OF_FILE
if test 1626 -ne `wc -c <'xpic/Xresources/README'`; then
    echo shar: \"'xpic/Xresources/README'\" unpacked with wrong size!
fi
# end of 'xpic/Xresources/README'
fi
if test -f 'xpic/Xresources/color' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/Xresources/color'\"
else
echo shar: Extracting \"'xpic/Xresources/color'\" \(562 characters\)
sed "s/^X//" >'xpic/Xresources/color' <<'END_OF_FILE'
Xxpic*Minibuf.background:	#13e5e5
Xxpic*Minibuf.borderWidth:	0
Xxpic*Minibuf.font:	9x15
Xxpic*Minibuf.foreground:	black
Xxpic*PushButton.background:	MediumTurquoise
Xxpic*PushButton.border:	MediumAquamarine
Xxpic*PushButton.font:	9x15
Xxpic*PushButton.foreground:	Navy
Xxpic*RowCol.background:	SlateBlue
Xxpic*RowCol.borderWidth:	0
Xxpic*StaticText.background:	LightBlue
Xxpic*StaticText.borderWidth:	0
Xxpic*StaticText.font:	9x15
Xxpic*background:	SlateBlue
Xxpic*cursorColor:	Green
Xxpic*gridColor:	MediumGoldenRod
Xxpic*picture.background:	Blue
Xxpic*picture.foreground:	White
END_OF_FILE
if test 562 -ne `wc -c <'xpic/Xresources/color'`; then
    echo shar: \"'xpic/Xresources/color'\" unpacked with wrong size!
fi
# end of 'xpic/Xresources/color'
fi
if test -f 'xpic/arrow.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/arrow.c'\"
else
echo shar: Extracting \"'xpic/arrow.c'\" \(1082 characters\)
sed "s/^X//" >'xpic/arrow.c' <<'END_OF_FILE'
X/* $Header: arrow.c,v 1.2 88/08/18 23:59:57 moraes Exp $ */
X#include <X11/Xlib.h>
X#include <math.h>
X
X#define PI 		3.14159265358979323846264338327950288419716939937511
X#define ARROWSIZE	10.
X#define ARROWANGLE	0.46
X
X#define round(x)	((int) ((x) + 0.5))
X
Xstatic XPoint arrowVerts[3];
X
X/*
X *  Draws an arrowhead on the end of the line going from x1, y1 to x2, y2.
X *  It calculates the direction, and draws two lines ARROWSIZE long at
X *  angles of ARROWANGLE to the line.
X */
XArrow (dpy, w, x1, y1, x2, y2, gc) 
XDisplay *dpy;
XWindow w;
Xint x1, y1, x2, y2; 
XGC gc;
X{
X	double dir, dx, dy;
X
X	dx = (double) (x2 - x1);
X	dy = (double) (y2 - y1);
X	if (dx == 0. && dy == 0.) 
X		return;
X	dir = atan2(dy, dx) + PI;
X
X	arrowVerts[0].x = x2 + round (ARROWSIZE * cos (dir - ARROWANGLE));
X	arrowVerts[0].y = y2 + round (ARROWSIZE * sin (dir - ARROWANGLE));
X	arrowVerts[1].x = x2;
X	arrowVerts[1].y = y2;
X	arrowVerts[2].x = x2 + round (ARROWSIZE * cos (dir + ARROWANGLE));
X	arrowVerts[2].y = y2 + round (ARROWSIZE * sin (dir + ARROWANGLE));
X
X	XDrawLines(dpy, w, gc, arrowVerts, 3, CoordModeOrigin);
X}
X
END_OF_FILE
if test 1082 -ne `wc -c <'xpic/arrow.c'`; then
    echo shar: \"'xpic/arrow.c'\" unpacked with wrong size!
fi
# end of 'xpic/arrow.c'
fi
if test -f 'xpic/assert.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/assert.h'\"
else
echo shar: Extracting \"'xpic/assert.h'\" \(721 characters\)
sed "s/^X//" >'xpic/assert.h' <<'END_OF_FILE'
X/* $Header: assert.h,v 1.2 88/08/19 00:00:06 moraes Exp $ */
X#ifdef DEBUG
X#define ASSERT(p, s) if(!(p))botch(s, __FILE__, __LINE__);else
Xextern int Dying();
Xstatic botch(s, filename, linenumber)
Xchar *s;
Xchar *filename;
X/*
X *  Simple botch routine - writes directly to stderr
X */
X{
X	static char linebuf[16];	/* Enough to contain a BIG linenumber! */
X	(void) sprintf(linebuf, "%d", linenumber);
X	(void) write(2, "assertion in file ", 18);
X	(void) write(2, filename, strlen(filename));
X	(void) write(2, ", line ", 7);
X	(void) write(2, linebuf, strlen(linebuf));
X	(void) write(2, " botched: ", 10);
X	(void) write(2, s, strlen(s)); write(2, "\n", 1);
X	(void) Dying(0, 0, NULL);
X	abort();
X}
X#else
X#define ASSERT(p, s)
X#endif
X
END_OF_FILE
if test 721 -ne `wc -c <'xpic/assert.h'`; then
    echo shar: \"'xpic/assert.h'\" unpacked with wrong size!
fi
# end of 'xpic/assert.h'
fi
if test ! -d 'xpic/bitmaps' ; then
    echo shar: Creating directory \"'xpic/bitmaps'\"
    mkdir 'xpic/bitmaps'
fi
if test -f 'xpic/bitmaps/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/README'\"
else
echo shar: Extracting \"'xpic/bitmaps/README'\" \(246 characters\)
sed "s/^X//" >'xpic/bitmaps/README' <<'END_OF_FILE'
XThe icon is adapted from an emacs icon by Andy Gaynor (aka Silver)
Xsubmitted to the sun-spots mailing list, available on titan.rice.edu in
Xsun-icons/ag-emacs.icon. 
X
XThe gray scale halftone bitmaps are from Foley and Van Dam, pg. 599, Fig
X17.10 
END_OF_FILE
if test 246 -ne `wc -c <'xpic/bitmaps/README'`; then
    echo shar: \"'xpic/bitmaps/README'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/README'
fi
if test -f 'xpic/bitmaps/gray.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray.bm'\" \(275 characters\)
sed "s/^X//" >'xpic/bitmaps/gray.bm' <<'END_OF_FILE'
X#define gray_width 16
X#define gray_height 16
Xstatic char gray_bits[] = {
X   0xaa, 0xaa, 0x44, 0x44, 0xaa, 0xaa, 0x11, 0x11, 0xaa, 0xaa, 0x44, 0x44,
X   0xaa, 0xaa, 0x11, 0x11, 0xaa, 0xaa, 0x44, 0x44, 0xaa, 0xaa, 0x11, 0x11,
X   0xaa, 0xaa, 0x44, 0x44, 0xaa, 0xaa, 0x11, 0x11};
END_OF_FILE
if test 275 -ne `wc -c <'xpic/bitmaps/gray.bm'`; then
    echo shar: \"'xpic/bitmaps/gray.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray.bm'
fi
if test -f 'xpic/bitmaps/gray1.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray1.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray1.bm'\" \(96 characters\)
sed "s/^X//" >'xpic/bitmaps/gray1.bm' <<'END_OF_FILE'
X#define gray1_width 3
X#define gray1_height 3
Xstatic char gray1_bits[] = {
X   0x00, 0x02, 0x00};
END_OF_FILE
if test 96 -ne `wc -c <'xpic/bitmaps/gray1.bm'`; then
    echo shar: \"'xpic/bitmaps/gray1.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray1.bm'
fi
if test -f 'xpic/bitmaps/gray2.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray2.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray2.bm'\" \(96 characters\)
sed "s/^X//" >'xpic/bitmaps/gray2.bm' <<'END_OF_FILE'
X#define gray2_width 3
X#define gray2_height 3
Xstatic char gray2_bits[] = {
X   0x00, 0x03, 0x00};
END_OF_FILE
if test 96 -ne `wc -c <'xpic/bitmaps/gray2.bm'`; then
    echo shar: \"'xpic/bitmaps/gray2.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray2.bm'
fi
if test -f 'xpic/bitmaps/gray3.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray3.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray3.bm'\" \(96 characters\)
sed "s/^X//" >'xpic/bitmaps/gray3.bm' <<'END_OF_FILE'
X#define gray3_width 3
X#define gray3_height 3
Xstatic char gray3_bits[] = {
X   0x00, 0x03, 0x02};
END_OF_FILE
if test 96 -ne `wc -c <'xpic/bitmaps/gray3.bm'`; then
    echo shar: \"'xpic/bitmaps/gray3.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray3.bm'
fi
if test -f 'xpic/bitmaps/gray4.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray4.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray4.bm'\" \(96 characters\)
sed "s/^X//" >'xpic/bitmaps/gray4.bm' <<'END_OF_FILE'
X#define gray4_width 3
X#define gray4_height 3
Xstatic char gray4_bits[] = {
X   0x00, 0x07, 0x02};
END_OF_FILE
if test 96 -ne `wc -c <'xpic/bitmaps/gray4.bm'`; then
    echo shar: \"'xpic/bitmaps/gray4.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray4.bm'
fi
if test -f 'xpic/bitmaps/gray5.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray5.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray5.bm'\" \(96 characters\)
sed "s/^X//" >'xpic/bitmaps/gray5.bm' <<'END_OF_FILE'
X#define gray5_width 3
X#define gray5_height 3
Xstatic char gray5_bits[] = {
X   0x04, 0x07, 0x02};
END_OF_FILE
if test 96 -ne `wc -c <'xpic/bitmaps/gray5.bm'`; then
    echo shar: \"'xpic/bitmaps/gray5.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray5.bm'
fi
if test -f 'xpic/bitmaps/gray6.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray6.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray6.bm'\" \(96 characters\)
sed "s/^X//" >'xpic/bitmaps/gray6.bm' <<'END_OF_FILE'
X#define gray6_width 3
X#define gray6_height 3
Xstatic char gray6_bits[] = {
X   0x04, 0x07, 0x03};
END_OF_FILE
if test 96 -ne `wc -c <'xpic/bitmaps/gray6.bm'`; then
    echo shar: \"'xpic/bitmaps/gray6.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray6.bm'
fi
if test -f 'xpic/bitmaps/gray7.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray7.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray7.bm'\" \(96 characters\)
sed "s/^X//" >'xpic/bitmaps/gray7.bm' <<'END_OF_FILE'
X#define gray7_width 3
X#define gray7_height 3
Xstatic char gray7_bits[] = {
X   0x05, 0x07, 0x03};
END_OF_FILE
if test 96 -ne `wc -c <'xpic/bitmaps/gray7.bm'`; then
    echo shar: \"'xpic/bitmaps/gray7.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray7.bm'
fi
if test -f 'xpic/bitmaps/gray8.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray8.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray8.bm'\" \(96 characters\)
sed "s/^X//" >'xpic/bitmaps/gray8.bm' <<'END_OF_FILE'
X#define gray8_width 3
X#define gray8_height 3
Xstatic char gray8_bits[] = {
X   0x05, 0x07, 0x07};
END_OF_FILE
if test 96 -ne `wc -c <'xpic/bitmaps/gray8.bm'`; then
    echo shar: \"'xpic/bitmaps/gray8.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray8.bm'
fi
if test -f 'xpic/bitmaps/gray9.bm' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/bitmaps/gray9.bm'\"
else
echo shar: Extracting \"'xpic/bitmaps/gray9.bm'\" \(96 characters\)
sed "s/^X//" >'xpic/bitmaps/gray9.bm' <<'END_OF_FILE'
X#define gray9_width 3
X#define gray9_height 3
Xstatic char gray9_bits[] = {
X   0xff, 0xff, 0xff};
END_OF_FILE
if test 96 -ne `wc -c <'xpic/bitmaps/gray9.bm'`; then
    echo shar: \"'xpic/bitmaps/gray9.bm'\" unpacked with wrong size!
fi
# end of 'xpic/bitmaps/gray9.bm'
fi
if test -f 'xpic/box.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/box.c'\"
else
echo shar: Extracting \"'xpic/box.c'\" \(412 characters\)
sed "s/^X//" >'xpic/box.c' <<'END_OF_FILE'
X#include <X11/Xlib.h>
X#ifndef MIN
X#define MIN(x,y)	(((x) < (y)) ? (x) : (y))
X#endif
X#ifndef ABS
X#define ABS(x)		(((x) >= 0) ? (x) : -(x))
X#endif
X
Xdraw_box(dpy, w, gc, x1, y1, x2, y2)
XDisplay *dpy;
XDrawable w;
XGC gc;
Xint x1, y1, x2, y2;
X{
X	int xx, yy, wid, ht;
X
X	wid = ABS(x2 - x1);
X	ht = ABS(y2 - y1);
X	xx = MIN(x1, x2);
X	yy = MIN(y1, y2);
X	
X	XDrawRectangle(dpy, w, gc, xx, yy, (unsigned) wid, (unsigned) ht);
X}
END_OF_FILE
if test 412 -ne `wc -c <'xpic/box.c'`; then
    echo shar: \"'xpic/box.c'\" unpacked with wrong size!
fi
# end of 'xpic/box.c'
fi
if test ! -d 'xpic/doc' ; then
    echo shar: Creating directory \"'xpic/doc'\"
    mkdir 'xpic/doc'
fi
if test -f 'xpic/doc/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/Makefile'\"
else
echo shar: Extracting \"'xpic/doc/Makefile'\" \(434 characters\)
sed "s/^X//" >'xpic/doc/Makefile' <<'END_OF_FILE'
X# Must be invoked with DOCDIR, DOC, LIBDIR, MANEXT, MANDIR defined
X# on the Make command line.
X.SUFFIXES: .man .1
X
X.man.1:
X	sed -e 's?DOCDIR?$(DOCDIR)?g'\
X	    -e 's?LIBDIR?$(LIBDIR)?g' $*.man > $*.1
X
XTARGETS = x2ps.1 x2pic.1 xpic.1
X
X# protect the sucker who invokes it by typing make in this directory.
Xfirst:
X
Xmanpages: $(TARGETS)
X	for i in $(TARGETS) ;\
X	do \
X		install -c -m 444 $$i $(MANDIR)/`basename $$i .1`.$(MANEXT); \
X	done
END_OF_FILE
if test 434 -ne `wc -c <'xpic/doc/Makefile'`; then
    echo shar: \"'xpic/doc/Makefile'\" unpacked with wrong size!
fi
# end of 'xpic/doc/Makefile'
fi
if test -f 'xpic/doc/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/README'\"
else
echo shar: Extracting \"'xpic/doc/README'\" \(392 characters\)
sed "s/^X//" >'xpic/doc/README' <<'END_OF_FILE'
Xxpic.doc is an unformatted document on xpic. Use lpr.
X
Xtest.psfig is troff document using the -me macros, including
XPostScript from x2ps using psfig.
X
Xtest.latex is a a sample document in LaTeX using \special to include 
XPostScript from x2ps. Note that unlike psfig, you need to explicitly
Xspecify, vspace.
X
Xtex contains a LaTeX document on using xpic figures in LaTeX using 
Xpsfig and tpic.
END_OF_FILE
if test 392 -ne `wc -c <'xpic/doc/README'`; then
    echo shar: \"'xpic/doc/README'\" unpacked with wrong size!
fi
# end of 'xpic/doc/README'
fi
if test -f 'xpic/doc/move.x' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/move.x'\"
else
echo shar: Extracting \"'xpic/doc/move.x'\" \(574 characters\)
sed "s/^X//" >'xpic/doc/move.x' <<'END_OF_FILE'
X16 16 336 272 8
X2 154 248 220 284 240 20 1
X3
X 248 240 272 236 284 220
X1 146 160 40 284 216 0 1
X5
X 160 56 160 40 284 40 284 216
X 248 216
X6 103 165 201 180 215 0 0
X172 208 2 0 3
XA'
X1 101 160 56 248 216 1 1
X3
X 160 56 160 216 248 216
X6 92 131 217 142 231 0 0
X136 224 1 0 3
XA
X1 68 96 96 216 176 0 1
X5
X 96 120 96 96 216 96 216 176
X 176 176
X6 75 204 161 213 175 0 0
X208 168 1 0 3
XB
X6 74 60 185 69 199 0 0
X64 192 1 0 3
XC
X6 73 204 161 213 175 0 0
X208 168 1 0 3
XB
X1 71 128 56 248 232 0 1
X6
X 128 96 128 56 248 56 248 232
X 128 232 128 200
X3 69 56 120 176 200 0 1
X3 67 16 16 336 272 0 1
END_OF_FILE
if test 574 -ne `wc -c <'xpic/doc/move.x'`; then
    echo shar: \"'xpic/doc/move.x'\" unpacked with wrong size!
fi
# end of 'xpic/doc/move.x'
fi
if test -f 'xpic/doc/show.x' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/show.x'\"
else
echo shar: Extracting \"'xpic/doc/show.x'\" \(434 characters\)
sed "s/^X//" >'xpic/doc/show.x' <<'END_OF_FILE'
X16 24 360 320 8
X1 16 16 24 120 24 0 1
X2
X 16 24 120 24
X3 8 40 64 360 320 0 1
X1 9 120 144 240 224 0 1
X5
X 120 168 120 144 240 144 240 224
X 200 224
X3 10 80 168 200 248 0 1
X1 11 120 144 240 224 0 1
X5
X 120 168 120 144 240 144 240 224
X 200 224
X1 12 152 104 272 280 0 1
X6
X 152 144 152 104 272 104 272 280
X 152 280 152 248
X6 13 155 265 166 279 0 0
X160 272 1 0 3
XA
X6 14 228 209 237 223 0 0
X232 216 1 0 3
XB
X6 15 84 233 93 247 0 0
X88 240 1 0 3
XC
END_OF_FILE
if test 434 -ne `wc -c <'xpic/doc/show.x'`; then
    echo shar: \"'xpic/doc/show.x'\" unpacked with wrong size!
fi
# end of 'xpic/doc/show.x'
fi
if test ! -d 'xpic/doc/tex' ; then
    echo shar: Creating directory \"'xpic/doc/tex'\"
    mkdir 'xpic/doc/tex'
fi
if test -f 'xpic/doc/tex/Makefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/tex/Makefile'\"
else
echo shar: Extracting \"'xpic/doc/tex/Makefile'\" \(745 characters\)
sed "s/^X//" >'xpic/doc/tex/Makefile' <<'END_OF_FILE'
X#DVI2PS = /local/src/tex/drivers/dvi2ps.3.13/driver/src/dvi2ps
XDVI2PS=dvi2ps
XX2PS=x2ps
XX2TPIC=x2tpic
X
Xfirst: xpic.ps
X
Xclean:
X	rm -f *.dvi *.log *.o x2tpic *.ps *.pic node.tex shrunknode.tex *~. \#*
X
Xxpic.ps: xpic.dvi 
X	rm -f xpic.ps
X	dvi2ps xpic > xpic.ps
X
Xtexwarning.ps: texwarning.x
X	rm -f texwarning.ps
X	x2ps texwarning.x > texwarning.ps
X
Xfunstuff.ps: funstuff.x
X	rm -f funstuff.ps
X	x2ps funstuff.x > funstuff.ps
X
Xnode.tex: node.pic
X	tpic node.pic
X
Xnode.pic: node.x
X	rm -f node.pic
X	x2tpic node.x > node.pic
X
Xshrunknode.tex: shrunknode.pic
X	tpic shrunknode.pic
X
Xshrunknode.pic: node.x
X	rm -f shrunknode.pic
X	x2tpic -s 0.6 node.x > shrunknode.pic
X
Xxpic.dvi: xpic.tex node.tex shrunknode.tex texwarning.ps funstuff.ps 
X	rm -f xpic.dvi
X	lt xpic
END_OF_FILE
if test 745 -ne `wc -c <'xpic/doc/tex/Makefile'`; then
    echo shar: \"'xpic/doc/tex/Makefile'\" unpacked with wrong size!
fi
# end of 'xpic/doc/tex/Makefile'
fi
if test -f 'xpic/doc/tex/funstuff.x' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/tex/funstuff.x'\"
else
echo shar: Extracting \"'xpic/doc/tex/funstuff.x'\" \(737 characters\)
sed "s/^X//" >'xpic/doc/tex/funstuff.x' <<'END_OF_FILE'
X#! /local/bin/X11/xpic
X198 119 442 361 8
X6 23 391 192 399 204 0 0
X395 202 1 Roman 10
XA
X6 22 384 131 392 143 0 0
X388 141 1 Roman 10
XB
X6 20 336 163 343 175 0 0
X339 173 1 Roman 10
Xc
X6 19 296 163 303 175 0 0
X299 173 1 Roman 10
Xc
X6 18 250 135 258 147 0 0
X254 145 1 Roman 10
XB
X6 17 242 192 250 204 0 0
X246 202 1 Roman 10
XA
X2 16 198 119 442 361 0 0
X16
X 201 120 322 120 322 359 440 360
X 441 238 200 239 199 120 323 120
X 322 360 199 361 198 240 442 238
X 441 119 324 120 320 239 320 239
X5 15 200 176 288 304 0 0
X244 240 44 64
X5 14 352 176 440 304 0 0
X396 240 44 64
X4 13 270 260 368 358 1 2
X319 309 49
X4 12 271 120 369 218 1 2
X320 169 49
X1 3 200 120 440 360 4 0
X2
X 200 120 440 360
X1 2 200 120 440 360 4 0
X2
X 200 360 440 120
X3 1 200 120 440 360 2 0
END_OF_FILE
if test 737 -ne `wc -c <'xpic/doc/tex/funstuff.x'`; then
    echo shar: \"'xpic/doc/tex/funstuff.x'\" unpacked with wrong size!
fi
chmod +x 'xpic/doc/tex/funstuff.x'
# end of 'xpic/doc/tex/funstuff.x'
fi
if test -f 'xpic/doc/tex/funstuff.xpic' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/tex/funstuff.xpic'\"
else
echo shar: Extracting \"'xpic/doc/tex/funstuff.xpic'\" \(737 characters\)
sed "s/^X//" >'xpic/doc/tex/funstuff.xpic' <<'END_OF_FILE'
X#! /local/bin/X11/xpic
X198 119 442 361 8
X6 23 391 192 399 204 0 0
X395 202 1 Roman 10
XA
X6 22 384 131 392 143 0 0
X388 141 1 Roman 10
XB
X6 20 336 163 343 175 0 0
X339 173 1 Roman 10
Xc
X6 19 296 163 303 175 0 0
X299 173 1 Roman 10
Xc
X6 18 250 135 258 147 0 0
X254 145 1 Roman 10
XB
X6 17 242 192 250 204 0 0
X246 202 1 Roman 10
XA
X2 16 198 119 442 361 0 0
X16
X 201 120 322 120 322 359 440 360
X 441 238 200 239 199 120 323 120
X 322 360 199 361 198 240 442 238
X 441 119 324 120 320 239 320 239
X5 15 200 176 288 304 0 0
X244 240 44 64
X5 14 352 176 440 304 0 0
X396 240 44 64
X4 13 270 260 368 358 1 2
X319 309 49
X4 12 271 120 369 218 1 2
X320 169 49
X1 3 200 120 440 360 4 0
X2
X 200 120 440 360
X1 2 200 120 440 360 4 0
X2
X 200 360 440 120
X3 1 200 120 440 360 2 0
END_OF_FILE
if test 737 -ne `wc -c <'xpic/doc/tex/funstuff.xpic'`; then
    echo shar: \"'xpic/doc/tex/funstuff.xpic'\" unpacked with wrong size!
fi
chmod +x 'xpic/doc/tex/funstuff.xpic'
# end of 'xpic/doc/tex/funstuff.xpic'
fi
if test -f 'xpic/doc/tex/node.x' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/tex/node.x'\"
else
echo shar: Extracting \"'xpic/doc/tex/node.x'\" \(952 characters\)
sed "s/^X//" >'xpic/doc/tex/node.x' <<'END_OF_FILE'
X#! /local/bin/X11/xpic
X-21 92 600 288 8
X6 20 375 180 441 194 0 0
X408 192 8 Roman 12
X\nodeeqn
X3 1 296 144 520 248 0 0
X6 9 184 124 248 138 0 0
X216 136 9 Roman 12
X$ w_{1} $
X6 2 552 164 584 178 0 0
X568 176 5 Roman 12
X$ y $
X1 3 520 192 600 192 20 0
X2
X 520 192 600 192
X6 18 -21 268 56 282 2000 0
X56 280 11 Roman 12
X$ x_{n-1} $
X1 17 80 120 296 160 20 0
X3
X 80 120 240 120 296 160
X1 16 80 144 296 168 20 0
X3
X 80 144 240 144 296 168
X1 15 80 240 296 280 20 0
X3
X 80 280 240 280 296 240
X6 14 84 164 157 178 0 0
X120 176 11 Roman 12
X$ \bullet $
X6 13 84 188 157 202 0 0
X120 200 11 Roman 12
X$ \bullet $
X6 12 84 220 157 234 0 0
X120 232 11 Roman 12
X$ \bullet $
X6 11 175 260 258 274 0 0
X216 272 12 Roman 12
X$  w_{n-1} $
X6 10 184 92 248 106 0 0
X216 104 9 Roman 12
X$ w_{0} $
X6 8 -6 108 56 122 2000 0
X56 120 9 Roman 12
X$ x_{0} $
X6 7 -6 132 56 146 2000 0
X56 144 9 Roman 12
X$ x_{1} $
X4 6 64 112 80 128 0 0
X72 120 8
X4 5 64 136 80 152 0 0
X72 144 8
X4 4 64 272 80 288 0 0
X72 280 8
END_OF_FILE
if test 952 -ne `wc -c <'xpic/doc/tex/node.x'`; then
    echo shar: \"'xpic/doc/tex/node.x'\" unpacked with wrong size!
fi
chmod +x 'xpic/doc/tex/node.x'
# end of 'xpic/doc/tex/node.x'
fi
if test -f 'xpic/doc/tex/texwarning.x' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/tex/texwarning.x'\"
else
echo shar: Extracting \"'xpic/doc/tex/texwarning.x'\" \(389 characters\)
sed "s/^X//" >'xpic/doc/tex/texwarning.x' <<'END_OF_FILE'
X#! /local/bin/X11/xpic
X184 120 360 360 8
X2 9 184 164 352 236 0 5
X4
X 248 164 352 180 184 216 312 236
X2 5 200 120 360 280 0 0
X9
X 240 160 200 200 240 240 280 280
X 320 240 360 200 320 160 280 120
X 240 160
X1 3 272 268 272 360 0 0
X2
X 272 360 272 268
X1 2 288 268 288 360 0 0
X2
X 288 268 288 360
X1 1 240 360 320 360 0 0
X2
X 320 360 240 360
X1 0 272 120 288 132 0 0
X4
X 272 132 272 120 288 120 288 132
END_OF_FILE
if test 389 -ne `wc -c <'xpic/doc/tex/texwarning.x'`; then
    echo shar: \"'xpic/doc/tex/texwarning.x'\" unpacked with wrong size!
fi
chmod +x 'xpic/doc/tex/texwarning.x'
# end of 'xpic/doc/tex/texwarning.x'
fi
if test -f 'xpic/doc/victor.x' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/doc/victor.x'\"
else
echo shar: Extracting \"'xpic/doc/victor.x'\" \(434 characters\)
sed "s/^X//" >'xpic/doc/victor.x' <<'END_OF_FILE'
X16 24 360 320 8
X1 16 16 24 120 24 0 1
X2
X 16 24 120 24
X3 8 40 64 360 320 0 1
X1 9 120 144 240 224 0 1
X5
X 120 168 120 144 240 144 240 224
X 200 224
X3 10 80 168 200 248 0 1
X1 11 120 144 240 224 0 1
X5
X 120 168 120 144 240 144 240 224
X 200 224
X1 12 152 104 272 280 0 1
X6
X 152 144 152 104 272 104 272 280
X 152 280 152 248
X6 13 155 265 166 279 0 0
X160 272 1 0 3
XA
X6 14 228 209 237 223 0 0
X232 216 1 0 3
XB
X6 15 84 233 93 247 0 0
X88 240 1 0 3
XC
END_OF_FILE
if test 434 -ne `wc -c <'xpic/doc/victor.x'`; then
    echo shar: \"'xpic/doc/victor.x'\" unpacked with wrong size!
fi
# end of 'xpic/doc/victor.x'
fi
if test -f 'xpic/draw.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/draw.h'\"
else
echo shar: Extracting \"'xpic/draw.h'\" \(1255 characters\)
sed "s/^X//" >'xpic/draw.h' <<'END_OF_FILE'
X/* $Header: draw.h,v 1.4 89/04/21 03:30:30 xwindows Exp $ */
X
X#define ellipse(w, x, y, xradius, yradius, gc)	\
X	XDrawArc(picDpy, w, gc, (x) - (xradius), (y) - (yradius), \
X	 (unsigned int) ((xradius)*2), (unsigned int) ((yradius)*2), 0, 360*64)
X
X#define box(w, x1, y1, x2, y2, gc) \
X	draw_box(picDpy, w, gc, x1, y1, x2, y2)
X
X#define line(w, x1, y1, x2, y2, gc) \
X	XDrawLine(picDpy, w, gc, x1, y1, x2, y2)
X
X#if 0
X/*
X * Enable this if the server ever gets fixed to acknowledge that duplicate
X * points are not an error
X */
X#define drawlines(dpy, w, gc, pts, npts, mode) \
X	XDrawLines(dpy, w, gc, pts, npts, mode)
X#endif
X	
X#define SETDASHES(gc, style) \
X	if ((style) == SOLID && gc->values.line_style != LineSolid) { \
X		gcVal.line_style = LineSolid; \
X		XChangeGC(picDpy, gc, GCLineStyle, &gcVal); \
X	} else if ((style) != SOLID) { \
X		if (gc->values.line_style == LineSolid) { \
X			gcVal.line_style = LineOnOffDash; \
X			XChangeGC(picDpy, gc, GCLineStyle, &gcVal); \
X		} \
X		XSetDashes(picDpy, gc, 0, LineTypes[(style)].pattern,  \
X		 LineTypes[(style)].len); \
X	}
X
X#define setwidth(gc, width) \
X	(gcVal.line_width = width, XChangeGC(picDpy, gc, GCLineWidth, &gcVal))
X
X#define setfont(gc, fid) \
X	(gcVal.font = fid, XChangeGC(picDpy, gc, GCFont, &gcVal))
X
END_OF_FILE
if test 1255 -ne `wc -c <'xpic/draw.h'`; then
    echo shar: \"'xpic/draw.h'\" unpacked with wrong size!
fi
# end of 'xpic/draw.h'
fi
if test -f 'xpic/error.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/error.c'\"
else
echo shar: Extracting \"'xpic/error.c'\" \(430 characters\)
sed "s/^X//" >'xpic/error.c' <<'END_OF_FILE'
X/* $Header: error.c,v 1.2 88/08/19 00:00:16 moraes Exp $ */
Xextern char *progname;
X
X/*
X *  Error is fatal. One day, a fancy varargs version might be nice.
X */
Xerror (s)
Xchar *s;
X{
X	if (progname)
X		(void) write(2, progname, strlen(progname));
X	(void) write(2, ": fatal error", 8);
X	if (s)
X		(void) write(2, s, strlen(s));
X	else
X		(void) write(2, "NULL error message.", 19);
X	(void) write(2, "\n", 1);
X	exit(-1);
X	/*NOTREACHED*/
X}
X
END_OF_FILE
if test 430 -ne `wc -c <'xpic/error.c'`; then
    echo shar: \"'xpic/error.c'\" unpacked with wrong size!
fi
# end of 'xpic/error.c'
fi
if test -f 'xpic/focus.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/focus.c'\"
else
echo shar: Extracting \"'xpic/focus.c'\" \(1457 characters\)
sed "s/^X//" >'xpic/focus.c' <<'END_OF_FILE'
X#include <X11/Intrinsic.h>
X
Xstatic Widget *wstack = NULL;
Xstatic int maxwidgets = 0;
X#define INC_WIDGETS 32
Xstatic int curw = 0;
X
Xstatic Widget subtree;
X
X/*
X * These are the global procedures that keep a stack of who has the Focus in a
X * subtree. This saves us having to propagate global information about the
X * present status of the Focus to anyone who might need/want it. It's
X * restricted to one subtree - could be generalized to multiple subtrees, I
X * guess
X */
X
XSetFocusRoot(w)
XWidget w;
X{
X	if (curw != 0)
X		XtError("Changing Focus subtree when someone has the focus");
X	subtree = w;
X}
X
XAcquireFocus(w)
XWidget w;
X{
X	if (curw == maxwidgets) {
X		if (curw == 0) {
X			maxwidgets += INC_WIDGETS;
X			wstack = (Widget *) XtCalloc((unsigned) maxwidgets,
X			 sizeof(Widget));
X		} else {
X			maxwidgets += INC_WIDGETS;
X			wstack = (Widget *) XtRealloc((char *) wstack,
X			 (unsigned) (maxwidgets * sizeof(Widget)));
X		}
X	}
X	wstack[curw++] = w;
X	XtSetKeyboardFocus(subtree, w);
X}
X
XReleaseFocus(w)
XWidget w;
X{
X	curw--;
X	if (curw == 0) {
X		if (wstack[curw] != w)
X			XtError("Mismatched ReleaseFocus");
X		XtSetKeyboardFocus(subtree, (Widget) None);
X		curw = 0;
X	} else if (curw > 0) {
X		if (wstack[curw] != w)
X			XtError("Mismatched ReleaseFocus");
X		XtSetKeyboardFocus(subtree, wstack[curw-1]);
X	} else {
X		XtWarning("ReleaseFocus with no corresponding Acquire");
X		curw = 0;
X	}
X}
X
XWidget
XWhoHasFocus()
X{
X	return (curw == 0)? (Widget) None : wstack[curw - 1];
X}
END_OF_FILE
if test 1457 -ne `wc -c <'xpic/focus.c'`; then
    echo shar: \"'xpic/focus.c'\" unpacked with wrong size!
fi
# end of 'xpic/focus.c'
fi
if test ! -d 'xpic/fontdesc' ; then
    echo shar: Creating directory \"'xpic/fontdesc'\"
    mkdir 'xpic/fontdesc'
fi
if test -f 'xpic/fontdesc/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/fontdesc/README'\"
else
echo shar: Extracting \"'xpic/fontdesc/README'\" \(571 characters\)
sed "s/^X//" >'xpic/fontdesc/README' <<'END_OF_FILE'
XThese describe the font mappings between xpic fonts and:
X	X fonts (xpic), 
X	PostScript fonts (x2ps), 
X	Troff + PostScript fonts (x2pic)
X	TeX + PostScript fonts (x2tpic)
X
XSite dependent - if you don't have a PostScript printer, many of these
Xdefinitions will be useless, and you may need to provide substitutes.
X
XFor each of the font names in the first column in the xpic file, there
Xshould be a corresponding name in each of the other files so that the filter
Xcan map an xpic name onto some font that actually exists in the printer.
X
XUsers can override these, of course.
END_OF_FILE
if test 571 -ne `wc -c <'xpic/fontdesc/README'`; then
    echo shar: \"'xpic/fontdesc/README'\" unpacked with wrong size!
fi
# end of 'xpic/fontdesc/README'
fi
if test -f 'xpic/fontdesc/x2pic' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/fontdesc/x2pic'\"
else
echo shar: Extracting \"'xpic/fontdesc/x2pic'\" \(474 characters\)
sed "s/^X//" >'xpic/fontdesc/x2pic' <<'END_OF_FILE'
XTimes-Roman \fR
XTimes-Italic \fI
XTimes-Bold \fB
XTimes-BoldItalic \f(BI
XCourier \fC
XCourier-Bold \f(CB
XCourier-BoldOblique \f(CD
XCourier-Oblique \f(CO
XHelvetica \fH
XHelvetica-Bold \f(HB
XHelvetica-BoldOblique \f(HD
XHelvetica-Oblique \f(HO
XNewCenturySchlbk-Roman \fN
XNewCenturySchlbk-Bold \f(NB
XNewCenturySchlbk-BoldItalic \f(ND
XNewCenturySchlbk-Italic \f(NI
XSymbol \fS
XRoman \fR
XItalic \fI
XBold \fB
XSpecial \fS
XBigBold \f(BB
XImage-Roman \fR
XImage-Italic \fI
XImage-Special \fS
END_OF_FILE
if test 474 -ne `wc -c <'xpic/fontdesc/x2pic'`; then
    echo shar: \"'xpic/fontdesc/x2pic'\" unpacked with wrong size!
fi
# end of 'xpic/fontdesc/x2pic'
fi
if test -f 'xpic/fontdesc/x2ps' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/fontdesc/x2ps'\"
else
echo shar: Extracting \"'xpic/fontdesc/x2ps'\" \(728 characters\)
sed "s/^X//" >'xpic/fontdesc/x2ps' <<'END_OF_FILE'
XTimes-Roman Times-Roman
XTimes-Italic Times-Italic
XTimes-Bold Times-Bold
XTimes-BoldItalic Times-BoldItalic
XCourier Courier
XCourier-Bold Courier-Bold
XCourier-BoldOblique Courier-BoldOblique
XCourier-Oblique Courier-Oblique
XHelvetica Helvetica
XHelvetica-Bold Helvetica-Bold
XHelvetica-BoldOblique Helvetica-BoldOblique
XHelvetica-Oblique Helvetica-Oblique
XNewCenturySchlbk-Roman NewCenturySchlbk-Roman
XNewCenturySchlbk-Bold NewCenturySchlbk-Bold
XNewCenturySchlbk-BoldItalic NewCenturySchlbk-BoldItalic
XNewCenturySchlbk-Italic NewCenturySchlbk-Italic
XSymbol Symbol
XRoman Times-Roman
XItalic Times-Italic
XBold Times-Bold
XSpecial Symbol
XBigBold Helvetica-Bold
XImage-Roman Times-Roman
XImage-Italic Times-Italic
XImage-Special Times-Special
END_OF_FILE
if test 728 -ne `wc -c <'xpic/fontdesc/x2ps'`; then
    echo shar: \"'xpic/fontdesc/x2ps'\" unpacked with wrong size!
fi
# end of 'xpic/fontdesc/x2ps'
fi
if test -f 'xpic/fontdesc/xpic' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/fontdesc/xpic'\"
else
echo shar: Extracting \"'xpic/fontdesc/xpic'\" \(715 characters\)
sed "s/^X//" >'xpic/fontdesc/xpic' <<'END_OF_FILE'
Xdefault Times-Roman 10
XTimes-Roman devpsc r 75
XTimes-Italic devpsc i 75
XTimes-Bold devpsc b 75
XTimes-BoldItalic devpsc bi 75
XCourier devpsc c 75
XCourier-Bold devpsc cb 75
XCourier-BoldOblique devpsc cd 75
XCourier-Oblique devpsc co 75
XHelvetica devpsc h 75
XHelvetica-Bold devpsc hb 75
XHelvetica-BoldOblique devpsc hd 75
XHelvetica-Oblique devpsc ho 75
XNewCenturySchlbk-Roman devpsc n 75
XNewCenturySchlbk-Bold devpsc nb 75
XNewCenturySchlbk-BoldItalic devpsc nd 75
XNewCenturySchlbk-Italic devpsc ni 75
XSymbol devpsc s 75
XTimes-Roman devsun r 120
XTimes-Italic devsun i 120
XSpecial devsun s 120
XBold devsun b 120
XBigBold devsun bb 120
XImage-Roman devIMAGEN r 150
XImage-Italic devIMAGEN i 150
XImage-Special devIMAGEN s 150
END_OF_FILE
if test 715 -ne `wc -c <'xpic/fontdesc/xpic'`; then
    echo shar: \"'xpic/fontdesc/xpic'\" unpacked with wrong size!
fi
# end of 'xpic/fontdesc/xpic'
fi
if test -f 'xpic/gels.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/gels.h'\"
else
echo shar: Extracting \"'xpic/gels.h'\" \(1054 characters\)
sed "s/^X//" >'xpic/gels.h' <<'END_OF_FILE'
X/* $Header: gels.h,v 1.2 89/04/21 03:30:40 xwindows Exp $ */
XBOOL contains();
XBOOL intersects();
Xvoid GelDraw(), GelHilite(), GelUnHilite(), PicRedraw();
Xvoid FreePtList(), WriteList();
XPointList *NewPtList(), *ReadPtList();
Xvoid FreeCell();
XCell *NewCell(), *ReadCell();
Xvoid FreeGel(), WriteGel();
XGel *NewGel(), *ReadGel(), *PopGel();
Xint PushGel(), CountGel();
Xint WriteCell();
XGel *FindIntersectingGels(), *FindContainedGels();
XBox *GetBBox();
X
X/* Returns the smallest bounding box enclosing b1 and b2 in b1 */
X#define bigger_box(b1, b2)	b1.ll.x = MIN(b1.ll.x, b2.ll.x), \
X							b1.ll.y = MIN(b1.ll.y, b2.ll.y), \
X							b1.ur.x = MAX(b1.ur.x, b2.ur.x), \
X							b1.ur.y = MAX(b1.ur.y, b2.ur.y)
X#define update_box(b1,nx,ny)	b1.ll.x = MIN(b1.ll.x, nx), \
X							b1.ll.y = MIN(b1.ll.y, ny), \
X							b1.ur.x = MAX(b1.ur.x, nx), \
X							b1.ur.y = MAX(b1.ur.y, ny)
X
Xvoid AddTextGel(), AddLineGel(), AddConicGel(), AddBoxGel();
XGel *FindContainedGels(), *FindIntersectingGels();
XGel *RemoveGel(), *CopyGel(), *SelectGel();
Xvoid AdjustGel(), MoveGel();
END_OF_FILE
if test 1054 -ne `wc -c <'xpic/gels.h'`; then
    echo shar: \"'xpic/gels.h'\" unpacked with wrong size!
fi
# end of 'xpic/gels.h'
fi
if test -f 'xpic/input.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/input.h'\"
else
echo shar: Extracting \"'xpic/input.h'\" \(116 characters\)
sed "s/^X//" >'xpic/input.h' <<'END_OF_FILE'
X/* $Header: input.h,v 1.2 88/08/19 00:00:36 moraes Exp $ */
Xextern void finished_input();
Xextern char *get_input();
END_OF_FILE
if test 116 -ne `wc -c <'xpic/input.h'`; then
    echo shar: \"'xpic/input.h'\" unpacked with wrong size!
fi
# end of 'xpic/input.h'
fi
if test -f 'xpic/isqrt.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/isqrt.c'\"
else
echo shar: Extracting \"'xpic/isqrt.c'\" \(1396 characters\)
sed "s/^X//" >'xpic/isqrt.c' <<'END_OF_FILE'
X/* $Header: isqrt.c,v 1.1 88/07/26 06:56:16 moraes Exp $ */
X/* 
X *  this isn't very much faster than sqrt( (double) x) on Sun-3/50s after
X *  making everything register (it was slower than sqrt before that!), but
X *  it saves having to link in the whole of the mathlib, (and will
X *  hopefully be faster on machines without floating point hardware - MM
X */
X
X/* Faster integer square root test routine.
X * This is actually the same algorithm you learned in grade school and
X * have painfully rediscovered every five years since then.  Thanks to
X * Charles Mesztenyi for suggesting the binary analog.
X * Ben Cranston 4/23/87
X */
X/*
X *                   umd5.UUCP    <= {seismo!mimsy,ihnp4!rlgvax}!cvl!umd5!zben
X * Ben Cranston zben at umd2.UMD.EDU    Kingdom of Merryland UniSys 1100/92
X *                   umd2.BITNET     "via HASP with RSCS"
X */
X
X/* #define TEST */
X
Xint isqrt(n)
Xregister int n;
X{
X    register int a,b,c,as,bs;
X
X    a = 1;
X    b = 1;
X    while (a<=n) {
X	a = a << 2;
X	b = b << 1;
X    }
X    as = 0;
X    bs = 0;
X    while ( (b>1) && (n>0) ) {
X	a = a>>2;
X	b = b>>1;
X	c = n - (as|a);
X	if ( c>=0 ) {
X	    n = c;
X	    as |= (a<<1);
X	    bs |= b;
X	}
X	as = as>>1;
X    }
X
X    return(bs);
X}
X
X#ifdef TEST
Xmain(argc,argv)
Xint argc;
Xchar **argv;
X{
X    int num,root,last;
X
X    for ( num=0 ; num<65000 ; num++ ) {
X		root = isqrt(num);
X    }
X    printf("Yow!  Are we having fun yet?\n");
X}
X
X#endif
END_OF_FILE
if test 1396 -ne `wc -c <'xpic/isqrt.c'`; then
    echo shar: \"'xpic/isqrt.c'\" unpacked with wrong size!
fi
# end of 'xpic/isqrt.c'
fi
if test -f 'xpic/jove.mac' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/jove.mac'\"
else
echo shar: Extracting \"'xpic/jove.mac'\" \(225 characters\)
sed "s/^X//" >'xpic/jove.mac' <<'END_OF_FILE'
Xdefine-macro parse-lint-errors ^[xparse-errors^M^X1^[xcurrent-error^M^X2
Xdefine-macro find-declaration ^Xn^\::^M^[b^@^[f^[w^[b^[b^[f^@^R^I^M^F^[w^A^Xp^Xp^X^F^Y^M^[xgoto-line^M^Y^[y^M^Xn
Xbind-macro-to-key find-declaration ^Xl
END_OF_FILE
if test 225 -ne `wc -c <'xpic/jove.mac'`; then
    echo shar: \"'xpic/jove.mac'\" unpacked with wrong size!
fi
# end of 'xpic/jove.mac'
fi
if test -f 'xpic/line.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/line.c'\"
else
echo shar: Extracting \"'xpic/line.c'\" \(1191 characters\)
sed "s/^X//" >'xpic/line.c' <<'END_OF_FILE'
X#include <X11/Xlib.h>
X
Xextern char *XtRealloc(), *XtMalloc();
X
Xstatic XPoint *pbuf = 0;
Xstatic int psize = 0;
X#define P_INC	128
X
X/*
X * If there are two consecutive identical points in the 'points' array, the X
X * server seems to stop drawing the line there. I think it is a bug. So we go
X * through the array deleting duplicate consecutive points.
X */
Xdrawlines(dpy, d, gc, points, npoints, mode)
XDisplay *dpy;
XDrawable d;
XGC gc;
XXPoint *points;
Xint npoints;
Xint mode;
X{
X	int i, j;
X	short lastx, lasty;
X	
X	if (npoints == 0)
X		return;
X	if (psize <= npoints) {
X		psize = ((npoints + P_INC - 1) / P_INC) * P_INC;
X		if (pbuf) {
X			pbuf = (XPoint *) XtRealloc((char *) pbuf,
X			 (unsigned) (psize * sizeof(XPoint)));
X		} else {
X			pbuf= (XPoint *) XtMalloc((unsigned) (psize * sizeof(XPoint)));
X		}
X	}
X	pbuf[0] = points[0];
X	lastx = pbuf[0].x;
X	lasty = pbuf[0].y;
X	for(i = j = 1; i < npoints; i++) {
X		if ((mode == CoordModeOrigin &&
X		 points[i].x == lastx && points[i].y == lasty) ||
X		 (mode == CoordModePrevious &&
X		 points[i].x == 0 && points[i].y == 0))
X			continue;
X		lastx = pbuf[j].x = points[i].x;
X		lasty = pbuf[j].y = points[i].y;
X		j++;
X	}
X	XDrawLines(dpy, d, gc, pbuf, j, mode);
X}
END_OF_FILE
if test 1191 -ne `wc -c <'xpic/line.c'`; then
    echo shar: \"'xpic/line.c'\" unpacked with wrong size!
fi
# end of 'xpic/line.c'
fi
if test -f 'xpic/newfonts.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/newfonts.h'\"
else
echo shar: Extracting \"'xpic/newfonts.h'\" \(758 characters\)
sed "s/^X//" >'xpic/newfonts.h' <<'END_OF_FILE'
X/* $Header: newfonts.h,v 1.1 88/08/31 23:43:22 moraes Exp $ */
Xextern FontFamily *InitFonts();
Xextern XFontStruct *ChangeFont();
X/*
X *  changefont calls ChangeFont and then changes gcNormal and gcInvert.
X *  It's in updown.c purely because I want to keep curFont local to that
X *  module. Sigh!
X */
Xextern void changefont();
X/*
X *  defaultFontFamily and defaultFont aren't related. defaultFont is
X *  used as a placemark when we can't load a given font (lack of server
X *  memory?) while defaultFontFamily is used when we don't have that
X *  particluar font available at all
X */
Xextern XFontStruct *defaultFont;	/* font information needed */
Xextern FontFamily *defaultFontFamily;
Xextern FontFamily *findfont();
Xextern int findsize();
Xextern int fontChanged;
END_OF_FILE
if test 758 -ne `wc -c <'xpic/newfonts.h'`; then
    echo shar: \"'xpic/newfonts.h'\" unpacked with wrong size!
fi
# end of 'xpic/newfonts.h'
fi
if test -f 'xpic/patchlevel.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/patchlevel.h'\"
else
echo shar: Extracting \"'xpic/patchlevel.h'\" \(22 characters\)
sed "s/^X//" >'xpic/patchlevel.h' <<'END_OF_FILE'
X#define PATCHLEVEL 9
X
END_OF_FILE
if test 22 -ne `wc -c <'xpic/patchlevel.h'`; then
    echo shar: \"'xpic/patchlevel.h'\" unpacked with wrong size!
fi
# end of 'xpic/patchlevel.h'
fi
if test -f 'xpic/pic.fix' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/pic.fix'\"
else
echo shar: Extracting \"'xpic/pic.fix'\" \(379 characters\)
sed "s/^X//" >'xpic/pic.fix' <<'END_OF_FILE'
X*** /tmp/,RCSt1a09619	Thu Aug 25 18:35:04 1988
X--- main.c	Fri Mar 11 13:24:47 1988
X***************
X*** 198,203
X  				continue;
X  			}
X  			reset();
X  			yyparse();
X  			/* yylval.i now contains 'E' or 'F' from .PE or .PF */
X  
X
X--- 198,204 -----
X  				continue;
X  			}
X  			reset();
X+ 			resetvar();
X  			yyparse();
X  			/* yylval.i now contains 'E' or 'F' from .PE or .PF */
X  
END_OF_FILE
if test 379 -ne `wc -c <'xpic/pic.fix'`; then
    echo shar: \"'xpic/pic.fix'\" unpacked with wrong size!
fi
# end of 'xpic/pic.fix'
fi
if test -f 'xpic/spline.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/spline.h'\"
else
echo shar: Extracting \"'xpic/spline.h'\" \(105 characters\)
sed "s/^X//" >'xpic/spline.h' <<'END_OF_FILE'
X/* $Header: spline.h,v 1.2 88/08/19 00:01:12 moraes Exp $ */
Xvoid FlattenSpline();
XXPoint *InitSpline();
END_OF_FILE
if test 105 -ne `wc -c <'xpic/spline.h'`; then
    echo shar: \"'xpic/spline.h'\" unpacked with wrong size!
fi
# end of 'xpic/spline.h'
fi
if test ! -d 'xpic/test' ; then
    echo shar: Creating directory \"'xpic/test'\"
    mkdir 'xpic/test'
fi
if test -f 'xpic/test/README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/test/README'\"
else
echo shar: Extracting \"'xpic/test/README'\" \(257 characters\)
sed "s/^X//" >'xpic/test/README' <<'END_OF_FILE'
XThe .xpic files are xpic data files - the .pic and .ps are what they
Xshould look like when translated from .xpic to pic/PostScript 
Xby x2pic/x2ps respectively. 
X
XPrint out test.ps and compare it with what you see on your screen
Xrunning xpic on test.xpic. 
X
END_OF_FILE
if test 257 -ne `wc -c <'xpic/test/README'`; then
    echo shar: \"'xpic/test/README'\" unpacked with wrong size!
fi
# end of 'xpic/test/README'
fi
if test -f 'xpic/test/line.x' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/test/line.x'\"
else
echo shar: Extracting \"'xpic/test/line.x'\" \(87 characters\)
sed "s/^X//" >'xpic/test/line.x' <<'END_OF_FILE'
X0 0 640 872 8
X1 0 0 0 640 872 10 1
X8
X 0 0 640 872 0 872 640 0
X 0 0 0 872 640 872 640 0
END_OF_FILE
if test 87 -ne `wc -c <'xpic/test/line.x'`; then
    echo shar: \"'xpic/test/line.x'\" unpacked with wrong size!
fi
# end of 'xpic/test/line.x'
fi
if test -f 'xpic/test/rayan.x' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/test/rayan.x'\"
else
echo shar: Extracting \"'xpic/test/rayan.x'\" \(991 characters\)
sed "s/^X//" >'xpic/test/rayan.x' <<'END_OF_FILE'
X32 32 624 744 8
X1 22 200 424 432 424 30 1
X2
X 200 424 432 424
X1 21 32 552 264 696 22 1
X2
X 32 552 264 696
X1 20 32 456 64 656 11 1
X2
X 64 656 32 456
X1 19 496 136 584 256 1 1
X3
X 560 136 496 256 584 184
X1 18 520 80 624 352 3 1
X7
X 584 80 592 352 520 248 616 208
X 568 264 568 208 624 264
X4 17 336 32 512 208 0 1
X424 120 88
X1 16 272 152 432 288 0 1
X3
X 272 152 368 288 432 272
X1 15 264 192 424 328 0 1
X3
X 264 192 360 328 424 312
X1 14 296 96 456 232 0 1
X3
X 296 96 392 232 456 216
X1 13 224 248 384 384 0 1
X3
X 224 248 320 384 384 368
X1 0 120 200 464 384 0 1
X3
X 120 200 336 200 464 384
X2 3 48 80 552 608 0 1
X17
X 208 112 312 128 368 224 152 360
X 112 152 216 80 216 168 320 88
X 480 200 352 320 552 312 456 488
X 128 528 128 360 72 344 48 512
X 288 608
X6 8 343 269 474 291 0 0
X408 280 17 2 7
XThis is more text
X3 10 280 480 512 632 0 1
X6 7 282 457 342 471 0 0
X312 464 13 2 3
XThis is a box
X6 6 261 697 347 711 0 0
X304 704 19 0 3
XThis is an ellipsis
X5 5 152 656 480 744 0 1
X316 700 164 44
X3 2 200 384 432 536 0 1
END_OF_FILE
if test 991 -ne `wc -c <'xpic/test/rayan.x'`; then
    echo shar: \"'xpic/test/rayan.x'\" unpacked with wrong size!
fi
# end of 'xpic/test/rayan.x'
fi
if test -f 'xpic/test/testtext.x' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/test/testtext.x'\"
else
echo shar: Extracting \"'xpic/test/testtext.x'\" \(1501 characters\)
sed "s/^X//" >'xpic/test/testtext.x' <<'END_OF_FILE'
X#! /local/bin/X11/xpic
X8 24 504 312 8
X6 29 227 277 413 312 0 0
X320 304 11 Roman 36
Xhello world
X6 28 227 245 413 280 0 0
X320 272 11 Bold 36
Xhello world
X6 27 227 213 413 248 0 0
X320 240 11 BigBold 36
Xhello world
X1 0 224 184 416 208 0 0
X2
X 224 208 416 184
X1 1 224 184 416 208 0 0
X2
X 224 184 416 208
X6 3 226 173 414 208 0 0
X320 200 11 Italic 36
Xhello world
X3 2 224 184 416 208 0 0
X6 23 216 104 280 116 a000 0
X280 120 11 Roman 12
Xhello world
X6 22 136 116 200 128 6000 0
X200 120 11 Roman 12
Xhello world
X6 21 56 110 120 122 2000 0
X120 120 11 Roman 12
Xhello world
X1 20 272 112 288 128 0 1
X5
X 272 120 288 120 280 120 280 112
X 280 128
X1 19 192 112 208 128 0 1
X5
X 192 120 208 120 200 120 200 112
X 200 128
X1 18 112 112 128 128 0 1
X5
X 112 120 128 120 120 120 120 112
X 120 128
X6 17 440 24 504 36 9000 0
X440 40 11 Roman 12
Xhello world
X6 16 360 36 424 48 5000 0
X360 40 11 Roman 12
Xhello world
X1 15 352 32 368 48 0 1
X5
X 352 40 368 40 360 40 360 32
X 360 48
X6 14 280 30 344 42 1000 0
X280 40 11 Roman 12
Xhello world
X6 13 168 24 232 36 8000 0
X200 40 11 Roman 12
Xhello world
X6 12 88 36 152 48 4000 0
X120 40 11 Roman 12
Xhello world
X6 11 8 30 72 42 0 0
X40 40 11 Roman 12
Xhello world
X1 10 432 32 448 48 0 1
X5
X 432 40 448 40 440 40 440 32
X 440 48
X1 9 272 32 288 48 0 1
X5
X 272 40 288 40 280 40 280 32
X 280 48
X1 8 192 32 208 48 0 1
X5
X 192 40 208 40 200 40 200 32
X 200 48
X1 7 112 32 128 48 0 1
X5
X 112 40 128 40 120 40 120 32
X 120 48
X1 6 32 32 48 48 0 1
X5
X 32 40 48 40 40 40 40 32
X 40 48
X3 5 88 40 152 48 0 0
X3 4 360 40 424 48 0 0
END_OF_FILE
if test 1501 -ne `wc -c <'xpic/test/testtext.x'`; then
    echo shar: \"'xpic/test/testtext.x'\" unpacked with wrong size!
fi
# end of 'xpic/test/testtext.x'
fi
if test -f 'xpic/to_do' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/to_do'\"
else
echo shar: Extracting \"'xpic/to_do'\" \(1359 characters\)
sed "s/^X//" >'xpic/to_do' <<'END_OF_FILE'
XThis varies from things that probably should be fixed, to things that
Xwould be sort of nice, but which i doubt if I'll ever get around to.
XNot to be interpreted as things that may get fixed - just things that
XI would like to fix.
X
X---------------------------------------------------------------------
X
XScale, Rotate, Mirror
X
XClean up obj_line and obj_spline - too much code duplication there.
X
XCheckpointing using changes
X
XMultiple buffer handling.
X
XEnhancements:
X	ordering of gels so that we can use filled regions, Raise, Lower
X	initially fill regions with setgray
X	later fill regions with general bitmaps - load and save bitmaps
X	grab bitmaps from the screen
X	macros, groups
X
XText display routines that interpret TeX/Troff codes like \bullet or
X\(bu so that we get a better WYSIWYG effect. means taking stuff from
Xdvix/xtroff and using that for char code mapping. Get really amibtious
Xand add some level of equation support.
X
XGeneralize so that all global variables are in a struct to which a pointer
Xis passed for all routines - eg. picWin becomes pic->win, picDpy becomes
Xpic->dpy, gcInvert becomes pic->gcInvert, etc. This is a step towards
Xwidgetification of xpic. Should have obj_ stuff truly objectified using
Xpointers to procs to call them, rather than the present unwieldy case
Xstatements. Should be able to add objects easily then. (AddObject()?)
END_OF_FILE
if test 1359 -ne `wc -c <'xpic/to_do'`; then
    echo shar: \"'xpic/to_do'\" unpacked with wrong size!
fi
# end of 'xpic/to_do'
fi
if test -f 'xpic/tune.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/tune.h'\"
else
echo shar: Extracting \"'xpic/tune.h'\" \(104 characters\)
sed "s/^X//" >'xpic/tune.h' <<'END_OF_FILE'
X#define LIBDIR "/local/share/X11/xpic"
X#define PROGRAMNAME "/local/bin/X11/xpic"
X#define DUMPDIR "/tmp"
END_OF_FILE
if test 104 -ne `wc -c <'xpic/tune.h'`; then
    echo shar: \"'xpic/tune.h'\" unpacked with wrong size!
fi
# end of 'xpic/tune.h'
fi
if test -f 'xpic/usleep.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/usleep.c'\"
else
echo shar: Extracting \"'xpic/usleep.c'\" \(348 characters\)
sed "s/^X//" >'xpic/usleep.c' <<'END_OF_FILE'
X/* A cheap subsecond delay call for Un*xs that don't have one. */
X
X#ifndef lint
Xstatic char *rcsid="$Header: usleep.c,v 1.3 89/04/21 03:31:39 xwindows Exp $";
X#endif
X
X#include <X11/Xos.h>
X
Xusleep(n)
X{
X	struct timeval value;
X	
X	if (n <= 0)
X		return;
X
X	value.tv_usec = n % 1000000;
X	value.tv_sec = n / 1000000;
X
X	(void) select(1, 0, 0, 0, &value);
X}
END_OF_FILE
if test 348 -ne `wc -c <'xpic/usleep.c'`; then
    echo shar: \"'xpic/usleep.c'\" unpacked with wrong size!
fi
# end of 'xpic/usleep.c'
fi
if test -f 'xpic/version.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/version.h'\"
else
echo shar: Extracting \"'xpic/version.h'\" \(120 characters\)
sed "s/^X//" >'xpic/version.h' <<'END_OF_FILE'
X/* $Header: version.h,v 1.2 88/08/19 00:01:19 moraes Exp $ */
Xstatic int progVersion = 2;
Xstatic char *progStatus = "";
END_OF_FILE
if test 120 -ne `wc -c <'xpic/version.h'`; then
    echo shar: \"'xpic/version.h'\" unpacked with wrong size!
fi
# end of 'xpic/version.h'
fi
if test -f 'xpic/windows.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/windows.h'\"
else
echo shar: Extracting \"'xpic/windows.h'\" \(162 characters\)
sed "s/^X//" >'xpic/windows.h' <<'END_OF_FILE'
X/* $Header: windows.h,v 1.2 88/08/19 00:01:24 moraes Exp $ */
X
X#include <X11/StringDefs.h>
X#include <X11/Intrinsic.h>
X
Xvoid CreateWindows();
Xvoid RedrawPicWin();
END_OF_FILE
if test 162 -ne `wc -c <'xpic/windows.h'`; then
    echo shar: \"'xpic/windows.h'\" unpacked with wrong size!
fi
# end of 'xpic/windows.h'
fi
if test -f 'xpic/x2ps.tra' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/x2ps.tra'\"
else
echo shar: Extracting \"'xpic/x2ps.tra'\" \(117 characters\)
sed "s/^X//" >'xpic/x2ps.tra' <<'END_OF_FILE'
X% Trailer for xpic to PostScript converter
X% $Header: x2ps.tra,v 1.1 88/08/31 23:48:01 moraes Exp $
Xxpic end restore
END_OF_FILE
if test 117 -ne `wc -c <'xpic/x2ps.tra'`; then
    echo shar: \"'xpic/x2ps.tra'\" unpacked with wrong size!
fi
# end of 'xpic/x2ps.tra'
fi
if test -f 'xpic/x2tex.manX' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/x2tex.manX'\"
else
echo shar: Extracting \"'xpic/x2tex.manX'\" \(1265 characters\)
sed "s/^X//" >'xpic/x2tex.manX' <<'END_OF_FILE'
X.TH X2TEX 1  "30 October 1988"
X.SH NAME
Xx2tex \- convert an xpic file to TeX \\special format
X.SH SYNOPSIS
X.B x2tex
X[-s \fIscale\fP] [-f \fImaximum fonts\fP] [-d] [-n] [\fIfilename\fP] ....
X.SH DESCRIPTION
X.B x2tex
Xconverts the indicated files (output by the xpic picture-drawing program)
Xinto TeX format. The files will be given \fI.x\fP extensions if none
Xare provided.
XThe output is stored in file.tex. An intermediate file, file.pic, is
Xalso created. The picture is included into your LaTeX or TeX document with
Xthe sequence
X.br
X\\input{file}
X.br
X\\centerline{\\box\\graph}
X.br
X(Instead of \\centerline, any of the TeX primitives for manipulating
Xobjects may be used, if the picture is not to be centered).
X.PP
X.B Note: x2tex is a shell script which simply invokes x2tpic and tpic.
XTpic produces \\special codes which are passed through TeX to be translated
Xby the output driver. These codes are also interpreted by the
X.IR dvix " and " texx
XTeX previewers for the X Windows system. (Version 11)
X.PP
XThe -d (debugging) and -n (no scale) options are passed to
X.I tpic.
XAll the remaining options are passed to 
X.I x2tpic.
X.SH SEE ALSO
Xxpic(x), x2tpic(x), x2pic(x), tpic(x), dvix(x), texx(x).
X.br
XB. W. Kernighan,
X.I "PIC \(em A Graphics Language for Typesetting"
END_OF_FILE
if test 1265 -ne `wc -c <'xpic/x2tex.manX'`; then
    echo shar: \"'xpic/x2tex.manX'\" unpacked with wrong size!
fi
# end of 'xpic/x2tex.manX'
fi
if test -f 'xpic/x2tex.script' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/x2tex.script'\"
else
echo shar: Extracting \"'xpic/x2tex.script'\" \(883 characters\)
sed "s/^X//" >'xpic/x2tex.script' <<'END_OF_FILE'
X#!/bin/sh
X# Simple shell script to perform the two steps (x2tpic, tpic) to get from
X# file,.x or file.xpic to file.tex. Inspired by, and cannibalized from
X# an earlier version by Stephen Bellantoni.
Xif test $# -lt 1 ; then
X	echo "Usage: x2tex file ...    --- converts file.x to file.tex"
X	exit 1
Xfi
Xxoptions= 
Xtoptions= 
Xfiles= 
Xwhile test $# != 0
Xdo	case "$1" in
X	-s|-f) xoptions="$xoptions $1 $2"; shift ;;
X	-n|-d) toptions="$toptions $1" ;;
X	-*) xoptions="$xoptions $1" ;; # assume unknown options go to x2tpic
X	*) files="$files $1" ;;
X	esac
X	shift
Xdone
Xfor arg in $files
Xdo
X	xfile=`expr $arg : '\(.*\)\.[^\.]*'`
X	if [ x"$xfile" = x ]; then
X		# No extension - add a .x
X		pfile=$arg
X		xfile=$arg.x
X	else
X		pfile=$xfile
X		xfile=$arg
X	fi
X	if [ -f "$xfile" ]; then
X		x2tpic $xoptions $xfile > $pfile.pic
X		tpic $toptions $pfile.pic
X	else
X		echo No file.x specified.
X		exit 1
X	fi
Xdone
END_OF_FILE
if test 883 -ne `wc -c <'xpic/x2tex.script'`; then
    echo shar: \"'xpic/x2tex.script'\" unpacked with wrong size!
fi
chmod +x 'xpic/x2tex.script'
# end of 'xpic/x2tex.script'
fi
if test -f 'xpic/xlint' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/xlint'\"
else
echo shar: Extracting \"'xpic/xlint'\" \(1108 characters\)
sed "s/^X//" >'xpic/xlint' <<'END_OF_FILE'
X#! /bin/sh -x
X# Lint filter that resubstitutes lint library names for X Windows libraries
X# with the real file name, assuming TOPDIR is set correctly. (Any non-X
X# libraries are assumed to have llib-l* libraries of stubs in LINTDIR.
X# It also filters out the six million bogus X Toolkit related errors
X# that either stem from problems within the toolkit (indicated by ???)
X# or by the use of ArgLists, thus resulting in casting to long and back.
X# One can then step through them one at a time in Jove with parse-errors,
X# and use a macro to show the library file in a third window.
X# Mark Moraes, CSRI, University of Toronto
XTOPDIR=${1-/csri3/X}
XLINTDIR=/usr/lib/lint
XLIBSRC=$TOPDIR/lib
Xsed	-e '/^[^:]*:$/d' \
X	-e '/\?\?\?/d' \
X	-e '/long assignment/d' \
X	-e '/assignment to long/d' \
X	-e '/llib.*:: *llib/d' \
X	-e 's,llib-lX11:,'$LIBSRC'/X/,' \
X	-e 's,llib-lXt:,'$LIBSRC'/Xt/,' \
X	-e 's,llib-lXaw:,'$LIBSRC'/Xaw/,' \
X	-e 's,llib-lXmu:,'$LIBSRC'/Xmu/,' \
X	-e 's,llib-lXw:,'$LIBSRC'/Xw/,' \
X	-e 's,llib-lXext:,'$LIBSRC'/Xext/,' \
X	-e 's,llib-loldX:,'$LIBSRC'/oldX/,' \
X	-e 's,\(llib-l[^(]*(\),'$LINTDIR'/\1,'
END_OF_FILE
if test 1108 -ne `wc -c <'xpic/xlint'`; then
    echo shar: \"'xpic/xlint'\" unpacked with wrong size!
fi
chmod +x 'xpic/xlint'
# end of 'xpic/xlint'
fi
if test -f 'xpic/xpic.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/xpic.h'\"
else
echo shar: Extracting \"'xpic/xpic.h'\" \(261 characters\)
sed "s/^X//" >'xpic/xpic.h' <<'END_OF_FILE'
X/* $Header: xpic.h,v 1.4 89/04/21 03:32:34 xwindows Exp $ */
X
X#include <X11/Intrinsic.h>
X#include <X11/Xos.h>
X#include <stdio.h>
X
Xextern char *malloc();
Xextern char *calloc();
Xextern char *realloc();
X
X#include "defs.h"
X#include "mytypes.h"
X#include "globals.h"
END_OF_FILE
if test 261 -ne `wc -c <'xpic/xpic.h'`; then
    echo shar: \"'xpic/xpic.h'\" unpacked with wrong size!
fi
# end of 'xpic/xpic.h'
fi
if test -f 'xpic/xtp.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/xtp.h'\"
else
echo shar: Extracting \"'xpic/xtp.h'\" \(460 characters\)
sed "s/^X//" >'xpic/xtp.h' <<'END_OF_FILE'
X/* Find closest TeX font we know about. */
Xextern char *ChangeFont( /* style, size */);
X
X/* Write "\font\twelverm cmr10 scaled \magstep1" etc for each font used. */
Xextern void PutTexFontPostScript( /* fd */);
X
X/* structure for mapping xpic fonts to TeX initialization commands */
Xstruct fontinfo {
X	char *style;
X	int size;
X	char *texname;
X	char *texfontinit;
X	int refcnt;
X};
X
Xextern struct fontinfo *availfonts;
Xextern int navailfonts;
Xextern char *def_font;
END_OF_FILE
if test 460 -ne `wc -c <'xpic/xtp.h'`; then
    echo shar: \"'xpic/xtp.h'\" unpacked with wrong size!
fi
# end of 'xpic/xtp.h'
fi
if test -f 'xpic/xtypeout.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xpic/xtypeout.h'\"
else
echo shar: Extracting \"'xpic/xtypeout.h'\" \(31 characters\)
sed "s/^X//" >'xpic/xtypeout.h' <<'END_OF_FILE'
Xextern Widget CreateTypeout();
END_OF_FILE
if test 31 -ne `wc -c <'xpic/xtypeout.h'`; then
    echo shar: \"'xpic/xtypeout.h'\" unpacked with wrong size!
fi
# end of 'xpic/xtypeout.h'
fi
echo shar: End of archive 1 \(of 15\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 15 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0



More information about the Comp.sources.x mailing list