[comp.sources.x] v12i034: tgif, Part18/23

william@CS.UCLA.EDU (William Cheng) (03/14/91)

Submitted-by: william@CS.UCLA.EDU (William Cheng)
Posting-number: Volume 12, Issue 34
Archive-name: tgif/part18

---------------------------------> cut here <---------------------------------
#! /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 18 (of 23)."
# Contents:  align.e animate.e arc.e attr.e box.e button.e choice.e
#   color.e copypaste.e cursor.e dialog.e drawing.e dup.e edit.e
#   file.e font.e grid.e group.e mainloop.e mark.e menu.e move.e msg.e
#   names.e obj.e oval.e pattern.e poly.e polygon.e prtgif.e raster.e
#   rcbox.e rect.e ruler.e scroll.e select.e setup.e special.e
#   spline.e stk.e stretch.e text.e version.e xbitmap.e const.h
#   types.h
# Wrapped by william@oahu on Wed Mar  6 09:58:02 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'align.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'align.e'\"
else
echo shar: Extracting \"'align.e'\" \(340 characters\)
sed "s/^X//" >'align.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/align.e,v 2.0 91/03/05 12:48:55 william Exp $
X */
X
Xextern int	horiAlign;
Xextern int	vertAlign;
X
Xextern void	AlignSelObjs ();
Xextern void	AlignSelToGrid ();
END_OF_FILE
if test 340 -ne `wc -c <'align.e'`; then
    echo shar: \"'align.e'\" unpacked with wrong size!
fi
# end of 'align.e'
fi
if test -f 'animate.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'animate.e'\"
else
echo shar: Extracting \"'animate.e'\" \(355 characters\)
sed "s/^X//" >'animate.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/animate.e,v 2.0 91/03/05 12:48:56 william Exp $
X */
X
Xextern void	AnimateSend ();
Xextern void	AnimateSel ();
Xextern void	AnimateFlashColor();
Xextern void	FlashSelColor ();
END_OF_FILE
if test 355 -ne `wc -c <'animate.e'`; then
    echo shar: \"'animate.e'\" unpacked with wrong size!
fi
# end of 'animate.e'
fi
if test -f 'arc.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'arc.e'\"
else
echo shar: Extracting \"'arc.e'\" \(519 characters\)
sed "s/^X//" >'arc.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/arc.e,v 2.0 91/03/05 12:48:57 william Exp $
X */
X
Xextern int	arcDrawn;
X
Xextern void	PointsToArc ();
Xextern void	ArcRealX2Y2 ();
Xextern void	CalcArcBBox ();
Xextern void	DumpArcObj ();
Xextern void	DrawArcObj ();
Xextern void	UpdArcBBox ();
Xextern void	DrawArc ();
Xextern void	SaveArcObj ();
Xextern void	ReadArcObj ();
Xextern void	FreeArcObj ();
END_OF_FILE
if test 519 -ne `wc -c <'arc.e'`; then
    echo shar: \"'arc.e'\" unpacked with wrong size!
fi
# end of 'arc.e'
fi
if test -f 'attr.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'attr.e'\"
else
echo shar: Extracting \"'attr.e'\" \(731 characters\)
sed "s/^X//" >'attr.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/attr.e,v 2.0 91/03/05 12:48:58 william Exp $
X */
X
Xextern void	LinkInAttr ();
Xextern void	FreeAttr ();
Xextern void	UnlinkAttr ();
Xextern void	UpdateAttr ();
Xextern void	DrawAttrs ();
Xextern void	MoveAttrs ();
Xextern void	DelAllAttrs ();
Xextern void	DupAttrs ();
Xextern void	AddAttrs ();
Xextern void	SaveAttrs ();
Xextern int	ReadAttr ();
Xextern void	ShowAllAttrNames ();
Xextern void	HideAllAttrNames ();
Xextern void	DetachGroupAttrs ();
Xextern void	DetachAttrs ();
Xextern void	UpdAttr ();
Xextern void	MoveAttr ();
Xextern void	CopyAndUpdateAttrs ();
END_OF_FILE
if test 731 -ne `wc -c <'attr.e'`; then
    echo shar: \"'attr.e'\" unpacked with wrong size!
fi
# end of 'attr.e'
fi
if test -f 'box.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'box.e'\"
else
echo shar: Extracting \"'box.e'\" \(436 characters\)
sed "s/^X//" >'box.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/box.e,v 2.0 91/03/05 12:48:59 william Exp $
X */
X
Xextern int	boxDrawn;
X
Xextern void	MyBox ();
Xextern void	DumpBoxObj ();
Xextern void	DrawBoxObj ();
Xextern void	DrawBox ();
Xextern void	SaveBoxObj ();
Xextern void	ReadBoxObj ();
Xextern void	FreeBoxObj ();
END_OF_FILE
if test 436 -ne `wc -c <'box.e'`; then
    echo shar: \"'box.e'\" unpacked with wrong size!
fi
# end of 'box.e'
fi
if test -f 'button.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'button.e'\"
else
echo shar: Extracting \"'button.e'\" \(319 characters\)
sed "s/^X//" >'button.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/button.e,v 2.0 91/03/05 12:49:00 william Exp $
X */
X
Xextern int	ButtonWidth();
Xextern void	DisplayButton ();
Xextern int	YesNoCancel ();
END_OF_FILE
if test 319 -ne `wc -c <'button.e'`; then
    echo shar: \"'button.e'\" unpacked with wrong size!
fi
# end of 'button.e'
fi
if test -f 'choice.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'choice.e'\"
else
echo shar: Extracting \"'choice.e'\" \(852 characters\)
sed "s/^X//" >'choice.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/choice.e,v 2.0 91/03/05 12:49:01 william Exp $
X */
X
Xextern int	curChoice;
X
Xextern void	InitChoice ();
Xextern void	CleanUpChoices ();
Xextern void	ShowMode ();
Xextern void	ShowColor ();
Xextern void	ShowHoriAlign ();
Xextern void	ShowVertAlign ();
Xextern void	ShowJust ();
Xextern void	ShowCurFont ();
Xextern void	ShowCurFontDPI ();
Xextern void	ShowDash ();
Xextern void	ShowFile ();
Xextern void	ShowSpecial ();
Xextern void	ShowRotate ();
Xextern void	ShowLineWidth ();
Xextern void	ShowWhereToPrint ();
Xextern void	ShowLineType ();
Xextern void	ShowLineStyle ();
Xextern void	ShowFill ();
Xextern void	ShowPen ();
Xextern void	SetCurChoice ();
Xextern void	ChoiceEventHandler ();
END_OF_FILE
if test 852 -ne `wc -c <'choice.e'`; then
    echo shar: \"'choice.e'\" unpacked with wrong size!
fi
# end of 'choice.e'
fi
if test -f 'color.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'color.e'\"
else
echo shar: Extracting \"'color.e'\" \(704 characters\)
sed "s/^X//" >'color.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/color.e,v 2.0 91/03/05 12:49:02 william Exp $
X */
X
Xextern int	maxColors;
Xextern int	defaultColorIndex;
Xextern int	colorIndex;
Xextern char	myFgColorStr[];
Xextern char	myBgColorStr[];
Xextern char	* * colorMenuItems;
Xextern int	* colorPixels;
Xextern int	* xorColorPixels;
Xextern XColor	* tgifColors;
Xextern int	maxRGB;
Xextern int	colorDump;
X
Xextern void	DefaultColorArrays ();
Xextern int	FindColorIndex ();
Xextern void	InitColor ();
Xextern void	ChangeAllSelColor ();
Xextern void	ColorMenu ();
Xextern void	CleanUpColors ();
END_OF_FILE
if test 704 -ne `wc -c <'color.e'`; then
    echo shar: \"'color.e'\" unpacked with wrong size!
fi
# end of 'color.e'
fi
if test -f 'copypaste.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'copypaste.e'\"
else
echo shar: Extracting \"'copypaste.e'\" \(382 characters\)
sed "s/^X//" >'copypaste.e' <<'END_OF_FILE'
X/*
X * Author:	Kou1 Ma2da (matsuda@ccs.mt.nec.co.jp)
X * Modified By:	William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/copypaste.e,v 2.0 91/03/05 12:49:02 william Exp $
X */
X
Xextern void	CopyToCutBuffer ();
Xextern void	PasteFromCutBuffer ();
Xextern void	CleanUpCutBuffer ();
END_OF_FILE
if test 382 -ne `wc -c <'copypaste.e'`; then
    echo shar: \"'copypaste.e'\" unpacked with wrong size!
fi
# end of 'copypaste.e'
fi
if test -f 'cursor.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'cursor.e'\"
else
echo shar: Extracting \"'cursor.e'\" \(552 characters\)
sed "s/^X//" >'cursor.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/cursor.e,v 2.0 91/03/05 12:49:03 william Exp $
X */
X
Xextern Cursor	nullCursor;
Xextern Cursor	cornerCursor;
Xextern Cursor	defaultCursor;
Xextern Cursor	handCursor;
X
Xextern void	SetTextCursor ();
Xextern void	SetNullCursor ();
Xextern void	SetDefaultCursor ();
Xextern void	ShowCursor ();
Xextern void	CreateCursor ();
Xextern void	PutCursor ();
Xextern void	CleanUpCursors ();
END_OF_FILE
if test 552 -ne `wc -c <'cursor.e'`; then
    echo shar: \"'cursor.e'\" unpacked with wrong size!
fi
# end of 'cursor.e'
fi
if test -f 'dialog.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dialog.e'\"
else
echo shar: Extracting \"'dialog.e'\" \(295 characters\)
sed "s/^X//" >'dialog.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/dialog.e,v 2.0 91/03/05 12:49:04 william Exp $
X */
X
Xextern unsigned int	CornerLoop ();
Xextern void		Dialog ();
END_OF_FILE
if test 295 -ne `wc -c <'dialog.e'`; then
    echo shar: \"'dialog.e'\" unpacked with wrong size!
fi
# end of 'dialog.e'
fi
if test -f 'drawing.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'drawing.e'\"
else
echo shar: Extracting \"'drawing.e'\" \(641 characters\)
sed "s/^X//" >'drawing.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/drawing.e,v 2.0 91/03/05 12:49:05 william Exp $
X */
X
Xextern void	SetDefaultDrawWinClipRecs ();
Xextern void	SetDefaultIconWinClipRecs ();
Xextern void	DrawObj ();
Xextern void	DrawPaperBoundary ();
Xextern void	RedrawAnArea ();
Xextern void	RedrawAreas ();
Xextern void	RedrawDrawWindow ();
Xextern Pixmap	DrawAllOnPixmap ();
Xextern void	ClearAndRedrawDrawWindow ();
Xextern void	CleanUpDrawingWindow ();
Xextern int	ShortHand ();
Xextern int	DrawingEventHandler ();
END_OF_FILE
if test 641 -ne `wc -c <'drawing.e'`; then
    echo shar: \"'drawing.e'\" unpacked with wrong size!
fi
# end of 'drawing.e'
fi
if test -f 'dup.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dup.e'\"
else
echo shar: Extracting \"'dup.e'\" \(443 characters\)
sed "s/^X//" >'dup.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/dup.e,v 2.0 91/03/05 12:49:06 william Exp $
X */
X
Xextern int	justDupped;
Xextern int	dupDx;
Xextern int	dupDy;
X
Xextern void		DupObjBasics ();
Xextern void		DupTextObj ();
Xextern struct ObjRec	* DupObj ();
Xextern void		DupSelObj ();
Xextern void		JustDupSelObj ();
END_OF_FILE
if test 443 -ne `wc -c <'dup.e'`; then
    echo shar: \"'dup.e'\" unpacked with wrong size!
fi
# end of 'dup.e'
fi
if test -f 'edit.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'edit.e'\"
else
echo shar: Extracting \"'edit.e'\" \(421 characters\)
sed "s/^X//" >'edit.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/edit.e,v 2.0 91/03/05 12:49:07 william Exp $
X */
X
Xextern void	DeletePoint ();
Xextern void	AddPoint ();
Xextern void	EditMenu ();
Xextern void	FrontProc ();
Xextern void	BackProc ();
Xextern void	ArrangeMenu ();
Xextern void	UpdateSymbols ();
END_OF_FILE
if test 421 -ne `wc -c <'edit.e'`; then
    echo shar: \"'edit.e'\" unpacked with wrong size!
fi
# end of 'edit.e'
fi
if test -f 'file.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'file.e'\"
else
echo shar: Extracting \"'file.e'\" \(1537 characters\)
sed "s/^X//" >'file.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/file.e,v 2.0 91/03/05 12:49:08 william Exp $
X */
X
Xextern char	curFileName[];
Xextern int	curFileDefined;
Xextern int	fileVersion;
Xextern int	importingFile;
Xextern char	* fileMenuStr[];
Xextern int	psDotsPerInch;
Xextern char	* psScaleStr[];
Xextern float	psScale[];
Xextern char	* psXOffStr[];
Xextern float	psXOff[];
Xextern char	* psYOffStr[];
Xextern float	psYOff[];
Xextern float	psPageWidthInInch[];
Xextern float	psPageHeightInInch[];
Xextern char	printCommand[];
X
Xextern void	ClearFileInfo ();
Xextern int	OkayToCreateFile ();
Xextern void	Save ();
Xextern void	SaveNewFile ();
Xextern void	SaveFile ();
Xextern char	* ParseStr ();
Xextern char	* FindChar ();
Xextern void	ReadState ();
Xextern void	ReadObjAttrs ();
Xextern int	ReadObj ();
Xextern void	ChangeDomain ();
Xextern void	ImportFile ();
Xextern void	ImportXBitmapFile ();
Xextern void	LoadFile ();
Xextern void	DumpPatFill ();
Xextern void	DumpSymOutline ();
Xextern void	DumpAttrs ();
Xextern void	DumpAllObj ();
Xextern void	DumpBBox ();
Xextern void	Dump ();
Xextern void	PrintWithCommand ();
Xextern void	NewProc ();
Xextern void	OpenProc ();
Xextern int	QuitProc ();
Xextern int	SolveProc ();
Xextern int	SimulateProc ();
Xextern int	AnimateProc ();
Xextern int	ProbeProc ();
Xextern int	EscapeProc ();
Xextern int	FileMenu ();
Xextern void	CleanUpFiles ();
Xextern void	EmergencySave ();
Xextern int	EmergencySaveForX ();
END_OF_FILE
if test 1537 -ne `wc -c <'file.e'`; then
    echo shar: \"'file.e'\" unpacked with wrong size!
fi
# end of 'file.e'
fi
if test -f 'font.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'font.e'\"
else
echo shar: Extracting \"'font.e'\" \(1382 characters\)
sed "s/^X//" >'font.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/font.e,v 2.0 91/03/05 12:49:09 william Exp $
X */
X
Xextern XFontStruct	* canvasFontPtr;
Xextern int	canvasFontHeight;
Xextern int	canvasFontAsc;
Xextern int	canvasFontDes;
X
Xextern int	canvasFontIndex;
X
Xextern XFontStruct	* rulerFontPtr;
Xextern int	rulerFontWidth;
Xextern int	rulerFontHeight;
Xextern int	rulerFontAsc;
Xextern int	rulerFontDes;
X
Xextern XFontStruct	* defaultFontPtr;
Xextern int	defaultFontWidth;
Xextern int	defaultFontHeight;
Xextern int	defaultFontAsc;
Xextern int	defaultFontDes;
X
Xextern int	* pointSize;
Xextern int	pointSize75[];
Xextern int	pointSize100[];
Xextern int	curFontDPI;
Xextern int	curFont;
Xextern int	curSize;
Xextern int	curStyle;
Xextern int	curRotate;
X
Xextern struct XFontStruct	* GetFontStruct ();
Xextern int	FontIndex ();
Xextern void	SetCanvasFont ();
Xextern void	InitFonts ();
Xextern void	ChangeFontJust ();
Xextern void	ChangeFontStyle ();
Xextern void	StyleMenu ();
Xextern void	ChangeFontSize ();
Xextern void	SizeMenu ();
Xextern void	ChangeFont ();
Xextern void	FontMenu ();
Xextern void	ChangeFontDPI ();
Xextern void	FontDPIMenu ();
Xextern void	SaveCurFont ();
Xextern void	RestoreCurFont ();
Xextern void	PushCurFont ();
Xextern void	PopCurFont ();
Xextern void	CleanUpFonts ();
END_OF_FILE
if test 1382 -ne `wc -c <'font.e'`; then
    echo shar: \"'font.e'\" unpacked with wrong size!
fi
# end of 'font.e'
fi
if test -f 'grid.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'grid.e'\"
else
echo shar: Extracting \"'grid.e'\" \(772 characters\)
sed "s/^X//" >'grid.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/grid.e,v 2.0 91/03/05 12:49:10 william Exp $
X */
X
Xextern int	gridOn;
Xextern int	xyGrid;
Xextern int	pageStyle;
Xextern int	whereToPrint;
X
Xextern void	MyHDotLine ();
Xextern void	MyVDotLine ();
Xextern void	RedrawGridLines ();
Xextern void	DrawGridLines ();
Xextern void	IncGrid ();
Xextern void	DecGrid ();
Xextern void	ToggleGridShown ();
Xextern void	ToggleSnapOn ();
Xextern void	ToggleWhereToPrint ();
Xextern void	ToggleColorPostScript ();
Xextern void	ZoomIn ();
Xextern void	ZoomOut ();
Xextern int	UpdPageStyle ();
Xextern void	LayoutMenu ();
Xextern void	GridXY ();
Xextern void	CleanUpGrids ();
END_OF_FILE
if test 772 -ne `wc -c <'grid.e'`; then
    echo shar: \"'grid.e'\" unpacked with wrong size!
fi
# end of 'grid.e'
fi
if test -f 'group.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'group.e'\"
else
echo shar: Extracting \"'group.e'\" \(439 characters\)
sed "s/^X//" >'group.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/group.e,v 2.0 91/03/05 12:49:11 william Exp $
X */
X
Xextern void	CreateGroupObj ();
Xextern void	SaveGroupObj ();
Xextern void	SaveCompObj ();
Xextern void	SaveIconObj ();
Xextern void	ReadGroupObj ();
Xextern void	FreeGroupObj ();
Xextern void	UngroupSelObj ();
END_OF_FILE
if test 439 -ne `wc -c <'group.e'`; then
    echo shar: \"'group.e'\" unpacked with wrong size!
fi
# end of 'group.e'
fi
if test -f 'mainloop.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mainloop.e'\"
else
echo shar: Extracting \"'mainloop.e'\" \(501 characters\)
sed "s/^X//" >'mainloop.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/mainloop.e,v 2.0 91/03/05 12:49:12 william Exp $
X */
X
Xextern int	geometrySpecified;
Xextern int	exitNormally;
Xextern char	geometrySpec[];
Xextern char	initMsg1[];
Xextern char	initMsg2[];
X
Xextern void	DeallocStrings ();
Xextern void	CleanUp ();
Xextern void	MainLoop ();
Xextern void	Animate ();
Xextern void	UpdAttrVal ();
END_OF_FILE
if test 501 -ne `wc -c <'mainloop.e'`; then
    echo shar: \"'mainloop.e'\" unpacked with wrong size!
fi
# end of 'mainloop.e'
fi
if test -f 'mark.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'mark.e'\"
else
echo shar: Extracting \"'mark.e'\" \(331 characters\)
sed "s/^X//" >'mark.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/mark.e,v 2.0 91/03/05 12:49:35 william Exp $
X */
X
Xextern void	HighLightAnObj ();
Xextern void	HighLightForward ();
Xextern void	HighLightReverse ();
END_OF_FILE
if test 331 -ne `wc -c <'mark.e'`; then
    echo shar: \"'mark.e'\" unpacked with wrong size!
fi
# end of 'mark.e'
fi
if test -f 'menu.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'menu.e'\"
else
echo shar: Extracting \"'menu.e'\" \(690 characters\)
sed "s/^X//" >'menu.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/menu.e,v 2.0 91/03/05 12:49:36 william Exp $
X */
Xextern int	iconWindowShown;
Xextern int	iconWindowCreated;
X
Xextern int	TextMenuLoop ();
Xextern int	PxMpMenuLoop ();
Xextern void	Prompt ();
Xextern int	MainMenu ();
Xextern void	RedrawTitleWindow ();
Xextern void	RedrawIconWindow ();
Xextern void	InitTitle ();
Xextern void	InitMenu ();
Xextern void	CleanUpMenu ();
Xextern void	SaveDrawWinInfo ();
Xextern void	UnIconify ();
Xextern void	IconEventHandler ();
Xextern void	Iconify ();
Xextern void	TitleEventHandler ();
END_OF_FILE
if test 690 -ne `wc -c <'menu.e'`; then
    echo shar: \"'menu.e'\" unpacked with wrong size!
fi
# end of 'menu.e'
fi
if test -f 'move.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'move.e'\"
else
echo shar: Extracting \"'move.e'\" \(309 characters\)
sed "s/^X//" >'move.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/move.e,v 2.0 91/03/05 12:49:37 william Exp $
X */
X
Xextern void	MoveObj ();
Xextern void	MoveAllSel ();
Xextern void	MoveSel ();
END_OF_FILE
if test 309 -ne `wc -c <'move.e'`; then
    echo shar: \"'move.e'\" unpacked with wrong size!
fi
# end of 'move.e'
fi
if test -f 'msg.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'msg.e'\"
else
echo shar: Extracting \"'msg.e'\" \(365 characters\)
sed "s/^X//" >'msg.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/msg.e,v 2.0 91/03/05 12:49:38 william Exp $
X */
X
Xextern void	CleanUpMsg ();
Xextern void	RedrawMsg ();
Xextern void	Msg ();
Xextern void	TwoLineMsg ();
Xextern void	MsgEventHandler ();
END_OF_FILE
if test 365 -ne `wc -c <'msg.e'`; then
    echo shar: \"'msg.e'\" unpacked with wrong size!
fi
# end of 'msg.e'
fi
if test -f 'names.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'names.e'\"
else
echo shar: Extracting \"'names.e'\" \(752 characters\)
sed "s/^X//" >'names.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/names.e,v 2.0 91/03/05 12:49:39 william Exp $
X */
X
Xextern char	curDomainName[];
Xextern char	curDomainPath[];
Xextern char	curDir[];
Xextern char	curImportDir[];
Xextern char	curSymDir[];
X
Xextern void	ParseSymPath ();
Xextern void	InitNames ();
Xextern void	UpdateSymInfo ();
Xextern void	UpdateDirInfo ();
Xextern void	CleanUpNames ();
Xextern int	SelectFileName ();
Xextern int	SelectFileNameToImport ();
Xextern int	SelectSymbolName ();
Xextern int	SelectDomain ();
Xextern void	SetCurDir ();
Xextern int	NameInCurDir ();
Xextern int	DirInSymPath ();
Xextern int	GetSymbolPath ();
END_OF_FILE
if test 752 -ne `wc -c <'names.e'`; then
    echo shar: \"'names.e'\" unpacked with wrong size!
fi
# end of 'names.e'
fi
if test -f 'obj.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'obj.e'\"
else
echo shar: Extracting \"'obj.e'\" \(452 characters\)
sed "s/^X//" >'obj.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/obj.e,v 2.0 91/03/05 12:49:40 william Exp $
X */
X
Xextern struct ObjRec	* topObj, * botObj;
X
Xextern void	AddObj ();
Xextern void	UnlinkObj ();
Xextern void	FreeObj ();
Xextern void	DelObj ();
Xextern void	DelAllObj ();
Xextern void	AdjObjBBox ();
Xextern void	AdjSplineVs ();
END_OF_FILE
if test 452 -ne `wc -c <'obj.e'`; then
    echo shar: \"'obj.e'\" unpacked with wrong size!
fi
# end of 'obj.e'
fi
if test -f 'oval.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'oval.e'\"
else
echo shar: Extracting \"'oval.e'\" \(445 characters\)
sed "s/^X//" >'oval.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/oval.e,v 2.0 91/03/05 12:49:41 william Exp $
X */
X
Xextern int	ovalDrawn;
X
Xextern void	MyOval ();
Xextern void	DumpOvalObj ();
Xextern void	DrawOvalObj ();
Xextern void	DrawOval ();
Xextern void	SaveOvalObj ();
Xextern void	ReadOvalObj ();
Xextern void	FreeOvalObj ();
END_OF_FILE
if test 445 -ne `wc -c <'oval.e'`; then
    echo shar: \"'oval.e'\" unpacked with wrong size!
fi
# end of 'oval.e'
fi
if test -f 'pattern.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'pattern.e'\"
else
echo shar: Extracting \"'pattern.e'\" \(717 characters\)
sed "s/^X//" >'pattern.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/pattern.e,v 2.0 91/03/05 12:49:42 william Exp $
X */
X
Xextern int	objFill;
Xextern int	lineStyle;
Xextern int	lineWidth;
Xextern int	penPat;
Xextern int	curSpline;
Xextern int	curDash;
X
Xextern void	ChangeAllSelFill ();
Xextern void	ChangeAllSelLineStyle ();
Xextern void	ChangeAllSelLineType ();
Xextern void	ChangeAllSelLineWidth ();
Xextern void	ChangeAllSelDashes ();
Xextern void	ChangeAllSelPen ();
Xextern void	ToggleAllSelLineType ();
Xextern void	ModeMenu ();
Xextern void	FillMenu ();
Xextern void	LineStyleMenu ();
Xextern void	PenMenu ();
END_OF_FILE
if test 717 -ne `wc -c <'pattern.e'`; then
    echo shar: \"'pattern.e'\" unpacked with wrong size!
fi
# end of 'pattern.e'
fi
if test -f 'poly.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'poly.e'\"
else
echo shar: Extracting \"'poly.e'\" \(587 characters\)
sed "s/^X//" >'poly.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/poly.e,v 2.0 91/03/05 12:49:43 william Exp $
X */
X
Xextern int	polyDrawn;
X
Xextern short	widthOfLine[];
Xextern short	arrowHeadH[];
Xextern short	arrowHeadW[];
X
Xextern double	penGrayScale[];
X
Xextern void	UpdPolyBBox ();
Xextern void	MyLine ();
Xextern void	DrawPoly ();
Xextern void	DumpPolyObj ();
Xextern void	DrawPolyObj ();
Xextern void	SavePolyObj ();
Xextern void	ReadPolyObj ();
Xextern void	FreePolyObj ();
END_OF_FILE
if test 587 -ne `wc -c <'poly.e'`; then
    echo shar: \"'poly.e'\" unpacked with wrong size!
fi
# end of 'poly.e'
fi
if test -f 'polygon.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'polygon.e'\"
else
echo shar: Extracting \"'polygon.e'\" \(473 characters\)
sed "s/^X//" >'polygon.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/polygon.e,v 2.0 91/03/05 12:49:44 william Exp $
X */
X
Xextern int	polygonDrawn;
X
Xextern void	DumpPoints ();
Xextern void	DumpPolygonObj ();
Xextern void	DrawPolygonObj ();
Xextern void	DrawPolygon ();
Xextern void	SavePolygonObj ();
Xextern void	ReadPolygonObj ();
Xextern void	FreePolygonObj ();
END_OF_FILE
if test 473 -ne `wc -c <'polygon.e'`; then
    echo shar: \"'polygon.e'\" unpacked with wrong size!
fi
# end of 'polygon.e'
fi
if test -f 'prtgif.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'prtgif.e'\"
else
echo shar: Extracting \"'prtgif.e'\" \(332 characters\)
sed "s/^X//" >'prtgif.e' <<'END_OF_FILE'
X/*
X * Author:	William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/prtgif.e,v 2.0 91/03/05 12:49:45 william Exp $
X */
X
Xextern int	lastFile;
Xextern char	printCommand[];
Xextern short	pDrawFontAsc[];
Xextern short	pDrawFontDes[];
END_OF_FILE
if test 332 -ne `wc -c <'prtgif.e'`; then
    echo shar: \"'prtgif.e'\" unpacked with wrong size!
fi
# end of 'prtgif.e'
fi
if test -f 'raster.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'raster.e'\"
else
echo shar: Extracting \"'raster.e'\" \(1089 characters\)
sed "s/^X//" >'raster.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/raster.e,v 2.0 91/03/05 12:49:47 william Exp $
X */
X
Xextern GC	rasterGC;
X
Xextern Pixmap	patPixmap[];
Xextern GC	patGC;
X
Xextern GC	drawGC;
Xextern GC	defaultGC;
Xextern GC	revDefaultGC;
X
Xextern Pixmap	choicePixmap[];
Xextern Pixmap	patPixmap[];
Xextern Pixmap	lineWidthPixmap[];
Xextern Pixmap	lineTypePixmap[];
Xextern Pixmap	dashPixmap[];
Xextern Pixmap	lineStylePixmap[];
Xextern Pixmap	justPixmap[];
Xextern Pixmap	alignHoriPixmap[];
Xextern Pixmap	alignVertPixmap[];
Xextern Pixmap	filePixmap;
Xextern Pixmap	specialPixmap;
Xextern Pixmap	rotatePixmap[];
Xextern Pixmap	whereToPrintPixmap[];
Xextern Pixmap	shortLineWidthPixmap[];
Xextern Pixmap	shortLineStylePixmap[];
Xextern Pixmap	shortLineTypePixmap[];
Xextern Pixmap	shortDashPixmap[];
X
Xextern int	pat_w[], pat_h[];
Xextern int	dashListLength[];
Xextern char	*dashList[];
X
Xextern void	InitPattern ();
Xextern void	RedrawChoiceWindow ();
Xextern void	CleanUpRasters ();
END_OF_FILE
if test 1089 -ne `wc -c <'raster.e'`; then
    echo shar: \"'raster.e'\" unpacked with wrong size!
fi
# end of 'raster.e'
fi
if test -f 'rcbox.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'rcbox.e'\"
else
echo shar: Extracting \"'rcbox.e'\" \(474 characters\)
sed "s/^X//" >'rcbox.e' <<'END_OF_FILE'
X/*
X * Author:	William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/rcbox.e,v 2.0 91/03/05 12:49:48 william Exp $
X */
X
Xextern int	rcBoxDrawn;
X
Xextern void	SetRCBoxVertex ();
Xextern void	MyRCBox ();
Xextern void	DumpRCBoxObj ();
Xextern void	DrawRCBoxObj ();
Xextern void	DrawRCBox ();
Xextern void	SaveRCBoxObj ();
Xextern void	ReadRCBoxObj ();
Xextern void	FreeRCBoxObj ();
END_OF_FILE
if test 474 -ne `wc -c <'rcbox.e'`; then
    echo shar: \"'rcbox.e'\" unpacked with wrong size!
fi
# end of 'rcbox.e'
fi
if test -f 'rect.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'rect.e'\"
else
echo shar: Extracting \"'rect.e'\" \(544 characters\)
sed "s/^X//" >'rect.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/rect.e,v 2.0 91/03/05 12:49:48 william Exp $
X */
X
Xextern int	BBoxIntersect ();
Xextern int	PointInBBox ();
Xextern int	PointInPolygon ();
Xextern int	PointInPoly ();
Xextern int	FindGoodBox ();
Xextern int	FindGoodRCBox ();
Xextern int	FindGoodOval ();
Xextern int	FindGoodPoly ();
Xextern int	FindGoodPolygon ();
Xextern int	FindGoodArc ();
Xextern int	FindGoodObj ();
END_OF_FILE
if test 544 -ne `wc -c <'rect.e'`; then
    echo shar: \"'rect.e'\" unpacked with wrong size!
fi
# end of 'rect.e'
fi
if test -f 'ruler.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ruler.e'\"
else
echo shar: Extracting \"'ruler.e'\" \(404 characters\)
sed "s/^X//" >'ruler.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/ruler.e,v 2.0 91/03/05 12:49:49 william Exp $
X */
X
Xextern void	InitRuler ();
Xextern void	CleanUpRuler ();
Xextern void	RedrawHRuler ();
Xextern void	RedrawVRuler ();
Xextern void	MarkRulers ();
Xextern void	RedrawRulers ();
END_OF_FILE
if test 404 -ne `wc -c <'ruler.e'`; then
    echo shar: \"'ruler.e'\" unpacked with wrong size!
fi
# end of 'ruler.e'
fi
if test -f 'scroll.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'scroll.e'\"
else
echo shar: Extracting \"'scroll.e'\" \(637 characters\)
sed "s/^X//" >'scroll.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/scroll.e,v 2.0 91/03/05 12:49:50 william Exp $
X */
X
Xextern char	* upData, * downData, * rightData, * leftData;
Xextern GC	scrollGC;
Xextern Pixmap	scrollPixmap;
Xextern XImage	* scrollImage;
X
Xextern void	UpdScrollWinWH ();
Xextern void	InitScroll ();
Xextern void	RedrawScrollBars ();
Xextern void	ScrollUp ();
Xextern void	ScrollDown ();
Xextern void	ScrollLeft ();
Xextern void	ScrollRight ();
Xextern void	ScrollEventHandler ();
Xextern void	CleanUpScrolls ();
END_OF_FILE
if test 637 -ne `wc -c <'scroll.e'`; then
    echo shar: \"'scroll.e'\" unpacked with wrong size!
fi
# end of 'scroll.e'
fi
if test -f 'select.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'select.e'\"
else
echo shar: Extracting \"'select.e'\" \(844 characters\)
sed "s/^X//" >'select.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/select.e,v 2.0 91/03/05 12:49:51 william Exp $
X */
X
Xextern int		selLtX, selLtY, selRbX, selRbY;
Xextern int		selObjLtX, selObjLtY, selObjRbX, selObjRbY;
Xextern struct SelRec	* topSel, * botSel;
X
Xextern void	CalcBBox ();
Xextern void	RemoveAllSel ();
Xextern void	AddSel ();
Xextern void	AddNewSelObj ();
Xextern void	UpdSelBBox ();
Xextern void	SelBox ();
Xextern void	Select ();
Xextern void	SelAllObj ();
Xextern void	MoveSelToTop ();
Xextern void	MoveSelToBot ();
Xextern void	DelAllCutSel ();
Xextern void	UndoDelete ();
Xextern void	PushToCutBuffer ();
Xextern void	CopySelToCut ();
Xextern void	DelAllSelObj ();
Xextern void	GroupSelObj ();
Xextern void	SelectTopObj ();
END_OF_FILE
if test 844 -ne `wc -c <'select.e'`; then
    echo shar: \"'select.e'\" unpacked with wrong size!
fi
# end of 'select.e'
fi
if test -f 'setup.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'setup.e'\"
else
echo shar: Extracting \"'setup.e'\" \(1868 characters\)
sed "s/^X//" >'setup.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/setup.e,v 2.0 91/03/05 12:49:52 william Exp $
X */
X
Xextern unsigned int	mainWinW;
Xextern unsigned int	mainWinH;
Xextern int	vSBarH;
Xextern int	hSBarW;
Xextern int	scrollBarW;
Xextern int	rulerW;
Xextern int	brdrW;
Xextern int	msgWindowW;
Xextern int	msgWindowH;
Xextern int	choiceImageW;
Xextern int	choiceImageH;
Xextern int	choiceWindowW;
Xextern int	choiceWindowH;
Xextern int	menuImageW;
Xextern int	menuImageH;
Xextern int	titleWindowW;
Xextern int	titleWindowH;
Xextern int	iconWindowW;
Xextern int	iconWindowH;
X
Xextern Display		* mainDisplay;
Xextern Colormap		mainColormap;
Xextern unsigned int	mainDepth;
Xextern int		mainScreen;
Xextern Visual		* mainVisual;
X
Xextern Window	rootWindow;
Xextern Window	mainWindow;
Xextern Window	drawWindow;
Xextern Window	choiceWindow;
Xextern Window	titleWindow;
Xextern Window	msgWindow;
Xextern Window	vSBarWindow;
Xextern Window	hSBarWindow;
Xextern Window	vRuleWindow;
Xextern Window	hRuleWindow;
Xextern Window	iconWindow;
Xextern Window	iconBaseWindow;
X
Xextern int	paperWidth;
Xextern int	paperHeight;
Xextern int	drawOrigX;
Xextern int	drawOrigY;
Xextern int	drawWinW;
Xextern int	drawWinH;
X
Xextern int	zoomScale;
X
Xextern struct BBRec	drawWinBBox;
X
Xextern int	colorDisplay;
Xextern int	fileModified;
Xextern int	objId;
X
Xextern void	UpdDrawWinWH ();
Xextern void	UpdDrawWinBBox ();
Xextern void	mainWinEventHandler ();
Xextern void	Setup ();
Xextern int	TieLooseEnds ();
Xextern void	SetFileModified ();
X
Xextern int	myBgPixel;
Xextern int	myFgPixel;
Xextern int	myBorderPixel;
Xextern int	reverseVideo;
X
Xextern char	drawPath[];
Xextern char	bootDir[];
Xextern char	homeDir[];
X
Xextern int	symPathNumEntries;
Xextern char	* * symPath;
X
Xextern int	initDrawWinW;
Xextern int	initDrawWinH;
END_OF_FILE
if test 1868 -ne `wc -c <'setup.e'`; then
    echo shar: \"'setup.e'\" unpacked with wrong size!
fi
# end of 'setup.e'
fi
if test -f 'special.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'special.e'\"
else
echo shar: Extracting \"'special.e'\" \(523 characters\)
sed "s/^X//" >'special.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/special.e,v 2.0 91/03/05 12:49:53 william Exp $
X */
X
Xextern struct ObjRec	* ReadSymbol ();
Xextern struct ObjRec	* GetObjRepresentation ();
Xextern void	PlaceTopObj ();
Xextern void	Instantiate ();
Xextern void	MakeSymbolic ();
Xextern void	UnMakeSymbolic ();
Xextern void	MakeIconic ();
Xextern void	UnMakeIconic ();
Xextern void	SpecialMenu ();
END_OF_FILE
if test 523 -ne `wc -c <'special.e'`; then
    echo shar: \"'special.e'\" unpacked with wrong size!
fi
# end of 'special.e'
fi
if test -f 'spline.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'spline.e'\"
else
echo shar: Extracting \"'spline.e'\" \(561 characters\)
sed "s/^X//" >'spline.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/spline.e,v 2.0 91/03/05 12:49:54 william Exp $
X */
X
Xextern void	Spline ();
Xextern XPoint	* MakeSplinePolyVertex ();
Xextern XPoint	* MakeSplinePolygonVertex ();
Xextern void	DrawSplinePolyObj ();
Xextern void	DrawSplinePolygonObj ();
Xextern void	DumpCurvedPolyPoints ();
Xextern void	DumpCurvedPolygonPoints ();
Xextern int	PointInSplinePoly ();
Xextern int	PointInSplinePolygon ();
END_OF_FILE
if test 561 -ne `wc -c <'spline.e'`; then
    echo shar: \"'spline.e'\" unpacked with wrong size!
fi
# end of 'spline.e'
fi
if test -f 'stk.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'stk.e'\"
else
echo shar: Extracting \"'stk.e'\" \(365 characters\)
sed "s/^X//" >'stk.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/stk.e,v 2.0 91/03/05 12:49:55 william Exp $
X */
X
Xextern int	AncesterModified ();
Xextern void	InitStk ();
Xextern void	PushIcon ();
Xextern void	PopIcon ();
Xextern void	CleanUpStk ();
END_OF_FILE
if test 365 -ne `wc -c <'stk.e'`; then
    echo shar: \"'stk.e'\" unpacked with wrong size!
fi
# end of 'stk.e'
fi
if test -f 'stretch.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'stretch.e'\"
else
echo shar: Extracting \"'stretch.e'\" \(455 characters\)
sed "s/^X//" >'stretch.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/stretch.e,v 2.0 91/03/05 12:49:56 william Exp $
X */
X
Xextern int	* PtInPolyMark ();
Xextern struct SelRec	* PtInSelMark ();
Xextern void	StretchSel ();
Xextern void	FlipHorizontal ();
Xextern void	FlipVertical ();
Xextern void	RotateClockWise ();
Xextern void	RotateCounter ();
END_OF_FILE
if test 455 -ne `wc -c <'stretch.e'`; then
    echo shar: \"'stretch.e'\" unpacked with wrong size!
fi
# end of 'stretch.e'
fi
if test -f 'text.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'text.e'\"
else
echo shar: Extracting \"'text.e'\" \(980 characters\)
sed "s/^X//" >'text.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/text.e,v 2.0 91/03/05 12:49:57 william Exp $
X */
X
Xextern int		textDrawn;
X
Xextern int		textJust;
Xextern int		textCursorShown;
Xextern int		textCursorH;
Xextern struct ObjRec	* curTextObj;
X
Xextern void	CleanUpText ();
Xextern void	PutTextCursor ();
Xextern void	EraseTextCursor ();
Xextern void	NewCurText ();
Xextern void	SetTextBBox ();
Xextern void	UpdTextBBox ();
Xextern void	FreeTextObj ();
Xextern int	CreateTextObj ();
Xextern void	HighLightJustDrawnText ();
Xextern void	DrawText ();
Xextern void	DumpOneStr ();
Xextern void	DumpTextObj ();
Xextern void	DrawTextObj ();
Xextern void	RedrawCurText ();
Xextern void	SaveString ();
Xextern void	SaveTextObj ();
Xextern char *	ReadString ();
Xextern void	ReadTextObj ();
Xextern void	ClearCurText ();
Xextern void	AdjustCurText ();
Xextern void	RepaintFirstStr ();
END_OF_FILE
if test 980 -ne `wc -c <'text.e'`; then
    echo shar: \"'text.e'\" unpacked with wrong size!
fi
# end of 'text.e'
fi
if test -f 'version.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'version.e'\"
else
echo shar: Extracting \"'version.e'\" \(267 characters\)
sed "s/^X//" >'version.e' <<'END_OF_FILE'
X/*
X * Author:      William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1989, 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/version.e,v 2.0 91/03/05 12:49:58 william Exp $
X */
X
Xextern char	* version_string;
END_OF_FILE
if test 267 -ne `wc -c <'version.e'`; then
    echo shar: \"'version.e'\" unpacked with wrong size!
fi
# end of 'version.e'
fi
if test -f 'xbitmap.e' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'xbitmap.e'\"
else
echo shar: Extracting \"'xbitmap.e'\" \(649 characters\)
sed "s/^X//" >'xbitmap.e' <<'END_OF_FILE'
X/*
X * Author:	William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/xbitmap.e,v 2.0 91/03/05 12:49:59 william Exp $
X */
X
XGC	xbmGC;
X
Xextern void	InitXBm ();
Xextern void	CleanUpXBm ();
Xextern void	FlipXBmHorizontal ();
Xextern void	FlipXBmVertical ();
Xextern void	RotateXBmClockWise ();
Xextern void	RotateXBmCounter ();
Xextern void	InvertXBitmaps ();
Xextern void	DumpXBitmapFile ();
Xextern void	DumpXBmObj ();
Xextern void	DrawXBmObj ();
Xextern void	CreateXBmObj ();
Xextern void	SaveXBmObj ();
Xextern void	ReadXBmObj ();
Xextern void	FreeXBmObj ();
END_OF_FILE
if test 649 -ne `wc -c <'xbitmap.e'`; then
    echo shar: \"'xbitmap.e'\" unpacked with wrong size!
fi
# end of 'xbitmap.e'
fi
if test -f 'const.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'const.h'\"
else
echo shar: Extracting \"'const.h'\" \(3540 characters\)
sed "s/^X//" >'const.h' <<'END_OF_FILE'
X/*
X * Author:	William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/const.h,v 2.0 91/03/05 12:50:00 william Exp $
X */
X
X#define TOOL_NAME "Tgif"
X
X#ifndef NULL
X#define NULL 0
X#endif ~NULL
X
X#ifndef TRUE
X#define FALSE 0
X#define TRUE 1
X#endif ~TRUE
X
X#define INVALID -1
X#define BAD -2
X
X#define SINGLECOLOR (FALSE)
X#define MULTICOLOR (TRUE)
X
X#define BUTTONSMASK ((Button1Mask)|(Button2Mask)|(Button3Mask))
X
X#ifndef max
X#define max(A,B) ((A) > (B) ? (A) : (B))
X#define min(A,B) ((A) > (B) ? (B) : (A))
X#endif ~max
X
X#ifndef round
X#define round(X) (((X) >= 0) ? (int)((X)+0.5) : (int)((X)-0.5))
X#endif ~round
X
X#define OFFSET_X(AbsX) (((AbsX) - drawOrigX) >> zoomScale)
X#define OFFSET_Y(AbsY) (((AbsY) - drawOrigY) >> zoomScale)
X
X#define ABS_X(OffsetX) (((OffsetX)<<zoomScale) + drawOrigX)
X#define ABS_Y(OffsetY) (((OffsetY)<<zoomScale) + drawOrigY)
X
X#define SetRecVals(R,X,Y,W,H) ((R).x=(X),(R).y=(Y),(R).width=(W),(R).height=(H))
X
X#define MAXSTRING 256
X#define MAXPATHLENGTH 256
X
X/* object types */
X
X#define OBJ_POLY 0
X#define OBJ_BOX 1
X#define OBJ_OVAL 2
X#define OBJ_TEXT 3
X#define OBJ_POLYGON 4
X#define OBJ_GROUP 5
X#define OBJ_SYM 6
X#define OBJ_ICON 7
X#define OBJ_ARC 8
X#define OBJ_RCBOX 9
X#define OBJ_XBM 10
X
X/* drawing modes */
X
X#define NOTHING 0
X#define DRAWTEXT 1
X#define DRAWBOX 2
X#define DRAWCIRCLE 3
X#define DRAWPOLY 4
X#define DRAWPOLYGON 5
X#define DRAWARC 6
X#define DRAWRCBOX 7
X
X#define MAXCHOICES 8
X
X/* stipple patterns */
X
X#define NONEPAT 0
X#define SOLIDPAT 1
X#define BACKPAT 2
X#define SCROLLPAT 7
X#define MAXPATTERNS 20
X
X/* line stuff */
X
X#define LINE_THIN 0
X#define LINE_MEDIUM 1
X#define LINE_THICK 2
X#define LINE_CURVED 3 /* compatibility hack for fileVersion <= 3 */
X
X#define MAXLINEWIDTHS 7
X
X#define LT_STRAIGHT 0
X#define LT_SPLINE 1
X
X#define MAXLINETYPES 2
X
X#define LS_PLAIN 0
X#define LS_RIGHT 1
X#define LS_LEFT 2
X#define LS_DOUBLE 3
X
X#define MAXLINESTYLES 4
X
X#define MAXDASHES 5
X
X#define NOCONT (FALSE)
X#define CONT (TRUE)
X
X#define NORB (FALSE)
X#define RB (TRUE)
X
X/* font stuff */
X
X#define FONT_TIM 0
X#define FONT_COU 1
X#define FONT_HEL 2
X#define FONT_CEN 3
X#define FONT_SYM 4
X
X#define MAXFONTS 5
X
X#define STYLE_NR 0
X#define STYLE_BR 1
X#define STYLE_NI 2
X#define STYLE_BI 3
X
X#define MAXFONTSTYLES 4
X
X#define FONT_DPI_75 0
X#define FONT_DPI_100 1
X
X#define MAXFONTDPIS 2
X
X#define MAXFONTSIZES 6
X
X#define JUST_L 0
X#define JUST_C 1
X#define JUST_R 2
X
X#define MAXJUSTS 3
X
X/* alignment */
X
X#define ALIGN_N 0
X
X#define ALIGN_L 1
X#define ALIGN_C 2
X#define ALIGN_R 3
X
X#define ALIGN_T 1
X#define ALIGN_M 2
X#define ALIGN_B 3
X
X#define MAXALIGNS 4
X
X/* color */
X
X#define MAXCOLORS 10
X
X/* button stuff */
X
X#define CONFIRM_YES 0
X#define CONFIRM_NO 1
X#define CONFIRM_CANCEL 2
X#define MAX_CONFIRMS 3
X
X#define BUTTON_INVERT 0
X#define BUTTON_NORMAL 1
X
X/* page layout */
X
X#define PORTRAIT 0
X#define LANDSCAPE 1
X#define HIGHPORT 2
X#define HIGHLAND 3
X#define SLIDEPORT 4
X#define SLIDELAND 5
X
X#define MAXPAGESTYLES 6
X
X/* where to print */
X
X#define PRINTER 0
X#define LATEX_FIG 1
X#define PS_FILE 2
X#define XBM_FILE 3
X
X#define MAXWHERETOPRINT 4
X
X/* measurement */
X
X#define PIX_PER_INCH 128
X#define ONE_INCH (PIX_PER_INCH)
X#define HALF_INCH (PIX_PER_INCH/2)
X#define QUARTER_INCH (PIX_PER_INCH/4)
X#define EIGHTH_INCH (PIX_PER_INCH/8)
X
X#define DEFAULT_GRID (EIGHTH_INCH)
X
X/* text rotation */
X
X#define ROTATE0 0
X#define ROTATE90 1
X#define ROTATE180 2
X#define ROTATE270 3
X
X/* arc */
X
X#define ARC_CCW 0 /* counter-clock-wise */
X#define ARC_CW 1 /* clock-wise */
END_OF_FILE
if test 3540 -ne `wc -c <'const.h'`; then
    echo shar: \"'const.h'\" unpacked with wrong size!
fi
# end of 'const.h'
fi
if test -f 'types.h' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'types.h'\"
else
echo shar: Extracting \"'types.h'\" \(3429 characters\)
sed "s/^X//" >'types.h' <<'END_OF_FILE'
X/*
X * Author:	William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * Copyright (C) 1990, 1991, William Cheng.
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/types.h,v 2.0 91/03/05 12:50:02 william Exp $
X */
X
X#include "const.h"
X
Xtypedef struct BBRec {
X   int	ltx, lty, rbx, rby;
X} * BBRecPtr;
X
Xtypedef struct PtRec {
X   int		x, y;
X   struct PtRec	* next;
X} * PtRecPtr;
X
Xtypedef struct ObjRec {
X   int			x, y, type, color, id, dirty;
X   struct BBRec		obbox;	/* object bounding box */
X   struct BBRec		bbox;	/* real bounding box */
X   struct ObjRec	* next, * prev;
X   struct AttrRec	* fattr, * lattr; /* first and last attributes */
X   union {
X      struct GroupRec	* r;
X      struct PolyRec	* p;
X      struct PolygonRec	* g;
X      struct BoxRec	* b;
X      struct OvalRec	* o;
X      struct TextRec	* t;
X      struct ArcRec	* a;
X      struct RCBoxRec	* rcb;
X      struct XBmRec	* xbm;
X   } detail;
X} * ObjRecPtr;
X
Xtypedef struct AttrRec {
X   char			name[MAXSTRING+1]; /* attribute name */
X   char			s[MAXSTRING+1]; /* attribute value string */
X   short		bit7on[MAXSTRING+1];
X   short		shown; /* TRUE if the attribute is shown */
X   short		nameshown; /* TRUE if the attr name is also shown */
X   short		inherited; /* TRUE if attr was inherited */
X   struct ObjRec	* obj; /* the OBJ_TEXT object that represent the attr */
X   struct ObjRec        * owner; /* ptr to owner obj of the record */
X   struct AttrRec	* next, * prev; /* next and prev attributes */
X} * AttrRecPtr;
X
Xtypedef struct GroupRec {
X   struct ObjRec	* first, * last;
X   char			s[MAXSTRING+1];
X} * GroupRecPtr;
X
Xtypedef struct PolyRec {
X   int			n;	/* number of points in the polyline */
X   XPoint		* vlist;
X   int			sn;	/* number of points in the spline polyline */
X   XPoint		* svlist;
X   int			style, width, pen, curved, fill, dash;
X} * PolyRecPtr;
X
Xtypedef struct PolygonRec {
X   int		n;	/* number of points in the polygon */
X   XPoint	* vlist;
X   int		sn;	/* number of points in the spline polygon */
X   XPoint	* svlist;
X   int		fill, width, pen, curved, dash;
X} * PolygonRecPtr;
X
Xtypedef struct BoxRec {
X   int	fill, width, pen, dash;
X} * BoxRecPtr;
X
Xtypedef struct OvalRec {
X   int	fill, width, pen, dash;
X} * OvalRecPtr;
X
Xtypedef struct StrRec {
X   char			s[MAXSTRING+1];
X   short		bit7on[MAXSTRING+1];
X   struct StrRec	* next, * prev;
X} * StrRecPtr;
X
Xtypedef struct TextRec {
X   int			just;
X   int			lines;
X   int			font, style, size, dpi, rotate, pen;
X   int			asc, des;
X   struct AttrRec       * attr; /* ptr to attr record if text obj is an attr */
X   struct StrRec	* first, * last;
X} * TextRecPtr;
X
Xtypedef struct SelRec {
X   struct ObjRec	* obj;
X   struct SelRec	* next, * prev;
X} * SelRecPtr;
X
Xtypedef struct StkRec {
X   struct ObjRec	* first, * last, * sel;
X   struct StkRec	* next;
X   int			name_valid, file_mod, id, page_style;
X   int			orig_x, orig_y, zoom, grid, grid_on;
X   int			color, h_align, v_align, line_w, line_s;
X   int			fill, pen, dash, just, font, f_style, f_size, f_dpi;
X   char			name[MAXPATHLENGTH+1], domain[MAXPATHLENGTH+1];
X   char			dir[MAXPATHLENGTH+1], sym_dir[MAXPATHLENGTH+1];
X} * StkRecPtr;
X
Xtypedef struct ArcRec {
X   int	fill, width, pen, dash;
X   int	xc, yc, x1, y1, x2, y2, dir;
X   int	ltx, lty, w, h, angle1, angle2;
X} * ArcRecPtr;
X
Xtypedef struct RCBoxRec {
X   int	fill, width, pen, dash, radius;
X} * RCBoxRecPtr;
X
Xtypedef struct XBmRec {
X   int		fill;
X   char		* data;
X   Pixmap	bitmap;
X} * XBmRecPtr;
END_OF_FILE
if test 3429 -ne `wc -c <'types.h'`; then
    echo shar: \"'types.h'\" unpacked with wrong size!
fi
# end of 'types.h'
fi
echo shar: End of archive 18 \(of 23\).
cp /dev/null ark18isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 23 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
---------------------------------> cut here <---------------------------------
-- 
Bill Cheng // UCLA Computer Science Department // (213) 206-7135
3277 Boelter Hall // Los Angeles, California 90024 // USA
william@CS.UCLA.EDU      ...!{uunet|ucbvax}!cs.ucla.edu!william

--
Dan Heller
------------------------------------------------
O'Reilly && Associates		 Z-Code Software
Senior Writer			       President
argv@ora.com			argv@zipcode.com
------------------------------------------------
General Email: argv@sun.com
Comp-sources-x stuff: comp-sources.x@uunet.uu.net