[comp.sources.x] v12i035: tgif, Part19/23

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

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

---------------------------------> 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 19 (of 23)."
# Contents:  Makefile.noimake Imakefile .psmac README Copyright tgif.pl
#   tgificon.obj
# Wrapped by william@oahu on Wed Mar  6 09:58:06 1991
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'Makefile.noimake' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Makefile.noimake'\"
else
echo shar: Extracting \"'Makefile.noimake'\" \(9867 characters\)
sed "s/^X//" >'Makefile.noimake' <<'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/Makefile.noimake,v 2.1 91/03/06 09:35:44 william Exp $
X#
X
XCOMPILE.c = $(CC) -c $(CFLAGS) $(CPPFLAGS)
XLINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
X
XTGIFVERSION	= 2.0
XINSTALLDIR	= /u/tangram/$(MACHINE)/bin
XCC 		= cc
XTGIFDIR 	= /u/tangram/lib/tgif
XMANPATH		= /u/tangram/man
X
XMANDIR		= $(MANPATH)/mann
XINSTPGMFLAGS 	= -s
XINSTMANFLAGS	= -m 0444
XDEFINES		= -DTGIF_PATH=\"$(TGIFDIR)\" -DPSFILE_MOD=\"664\" \
X		  -DEPSF_FILE_EXT=\"eps\" -DPS_FILE_EXT=\"ps\" \
X		  -DXBM_FILE_EXT=\"xbm\" -DXPM_FILE_EXT=\"xpm\"
XCFLAGS 		= -g $(DEFINES) -I/usr/local/include
XLFLAGS 		= -lX11 -lm
X
XOBJ1 =	align.o animate.o arc.o attr.o \
X	box.o button.o \
X	choice.o color.o copypaste.o cursor.o \
X	dialog.o drawing.o dup.o \
X	edit.o \
X	file.o font.o \
X	grid.o group.o \
X	mainloop.o mark.o menu.o move.o msg.o \
X	names.o \
X	obj.o oval.o \
X	pattern.o poly.o polygon.o \
X	raster.o rcbox.o rect.o ruler.o \
X	scroll.o select.o setup.o spline.o special.o stk.o stretch.o \
X	text.o \
X	version.o \
X	xbitmap.o
X
XRASTER_BM = \
X        xbm/arrow.xbm xbm/text.xbm xbm/box.xbm xbm/oval.xbm \
X	xbm/poly.xbm xbm/polygon.xbm xbm/arc.xbm xbm/rcbox.xbm \
X	\
X	xbm/pat0.xbm xbm/pat1.xbm xbm/pat2.xbm xbm/pat3.xbm xbm/pat4.xbm \
X	xbm/pat5.xbm xbm/pat6.xbm xbm/pat7.xbm xbm/pat8.xbm xbm/pat9.xbm \
X	xbm/pat10.xbm xbm/pat11.xbm xbm/pat12.xbm xbm/pat13.xbm xbm/pat14.xbm \
X	xbm/pat15.xbm xbm/pat16.xbm xbm/pat17.xbm xbm/pat18.xbm xbm/pat19.xbm \
X	xbm/pat20.xbm \
X	\
X	xbm/just_l.xbm xbm/just_c.xbm xbm/just_r.xbm \
X	\
X	xbm/align_n.xbm \
X	xbm/align_l.xbm xbm/align_c.xbm xbm/align_r.xbm \
X	xbm/align_t.xbm xbm/align_m.xbm xbm/align_b.xbm \
X	\
X	xbm/lw0.xbm xbm/lw1.xbm xbm/lw2.xbm xbm/lw3.xbm \
X	xbm/lw4.xbm xbm/lw5.xbm xbm/lw6.xbm \
X	\
X	xbm/lt0.xbm xbm/lt1.xbm \
X	\
X	xbm/ls0.xbm xbm/ls1.xbm xbm/ls2.xbm xbm/ls3.xbm \
X	\
X	xbm/ld0.xbm xbm/ld1.xbm xbm/ld2.xbm xbm/ld3.xbm xbm/ld4.xbm \
X	\
X	xbm/lw0s.xbm xbm/lw1s.xbm xbm/lw2s.xbm xbm/lw3s.xbm \
X	xbm/lw4s.xbm xbm/lw5s.xbm xbm/lw6s.xbm \
X	\
X	xbm/lt0s.xbm xbm/lt1s.xbm \
X	\
X	xbm/ls0s.xbm xbm/ls1s.xbm xbm/ls2s.xbm xbm/ls3s.xbm \
X	\
X	xbm/ld0s.xbm xbm/ld1s.xbm xbm/ld2s.xbm xbm/ld3s.xbm xbm/ld4s.xbm \
X	\
X	xbm/printer.xbm xbm/latex.xbm xbm/psfile.xbm xbm/xbm.xbm \
X	\
X	xbm/file.xbm xbm/special.xbm \
X	\
X	xbm/rotate_0.xbm xbm/rotate_90.xbm xbm/rotate_180.xbm xbm/rotate_270.xbm
X
XNAMES_BM = xbm/uparrow.xbm xbm/downarrow.xbm
X
XSCROLL_BM = xbm/uparrow.xbm xbm/downarrow.xbm xbm/rightarrow.xbm \
X	xbm/leftarrow.xbm
X
XCURSOR_BM = xbm/null.xbm xbm/nullmask.xbm xbm/text_cur_image.xbm
X
XOBJS = tgif.o $(OBJ1)
X
Xtgif: $(OBJS)
X#	$(CC) -o tgif $(OBJS) /usr/lib/debug/malloc.o -g $(LFLAGS)
X	$(CC) -o tgif $(OBJS) -g $(LFLAGS)
X
Xall: tgif prtgif #frontend11.o
X	@echo Making all ...
X
Xprtgif: prtgif.o $(OBJ1)
X#	$(CC) -o prtgif prtgif.o $(OBJ1) /usr/lib/debug/malloc.o -O $(LFLAGS)
X	$(CC) -o prtgif prtgif.o $(OBJ1) -O $(LFLAGS)
X
Xalign.o:	const.h types.h \
X		drawing.e dup.e grid.e mark.e move.e obj.e select.e setup.e
Xanimate.o:	const.h types.h \
X		color.e raster.e select.e setup.e
Xarc.o:		const.h types.h \
X		color.e cursor.e file.e grid.e obj.e pattern.e poly.e \
X		raster.e ruler.e select.e setup.e
Xattr.o:		const.h types.h \
X		choice.e color.e cursor.e dialog.e drawing.e dup.e file.e \
X		font.e mainloop.e mark.e menu.e msg.e obj.e raster.e \
X		select.e setup.e text.e
Xbox.o:		const.h types.h \
X		color.e cursor.e file.e grid.e obj.e pattern.e poly.e \
X		raster.e ruler.e setup.e
Xbutton.o:	const.h types.h \
X		box.e cursor.e font.e mainloop.e raster.e rect.e setup.e
Xchoice.o:	const.h types.h \
X		align.e arc.e box.e color.e cursor.e font.e grid.e mark.e \
X		msg.e oval.e pattern.e poly.e polygon.e raster.e rcbox.e \
X		select.e setup.e text.e
Xcolor.o:	const.h types.h \
X		choice.e mark.e menu.e obj.e raster.e select.e setup.e text.e
Xcopypaste.o:	const.h types.h \
X		choice.e color.e dup.e file.e font.e move.e obj.e pattern.e \
X		select.e setup.e special.e text.e
Xcursor.o:	const.h types.h $(CURSOR_BM) choice.e setup.e
Xdialog.o:	const.h box.e cursor.e font.e mainloop.e raster.e setup.e
Xdrawing.o:	const.h types.h \
X		align.e animate.e arc.e attr.e box.e choice.e copypaste.e \
X		cursor.e dialog.e dup.e edit.e file.e font.e grid.e group.e \
X		mark.e menu.e msg.e obj.e oval.e pattern.e poly.e polygon.e \
X		raster.e rcbox.e rect.e ruler.e scroll.e select.e setup.e \
X		special.e stk.e stretch.e text.e xbitmap.e
Xdup.o:		const.h types.h \
X		attr.e drawing.e grid.e obj.e raster.e select.e setup.e \
X		xbitmap.e
Xedit.o:		const.h types.h \
X		align.e color.e copypaste.e cursor.e drawing.e dup.e font.e \
X		group.e mark.e obj.e poly.e raster.e select.e setup.e \
X		special.e spline.e stretch.e xbitmap.e
Xfile.o:		const.h types.h \
X		align.e arc.e attr.e box.e button.e choice.e color.e cursor.e \
X		dialog.e drawing.e dup.e font.e grid.e group.e mainloop.e \
X		menu.e msg.e names.e pattern.e poly.e polygon.e prtgif.e obj.e \
X		oval.e rcbox.e rect.e ruler.e scroll.e select.e setup.e \
X		special.e stk.e text.e xbitmap.e
Xfont.o:		const.h types.h \
X		choice.e color.e drawing.e mark.e menu.e obj.e \
X		pattern.e raster.e select.e setup.e text.e
Xgrid.o:		const.h types.h \
X		choice.e color.e drawing.e dup.e msg.e obj.e \
X		raster.e ruler.e scroll.e select.e setup.e
Xgroup.o:	const.h types.h \
X		attr.e dup.e file.e obj.e select.e setup.e
Xmainloop.o:	const.h types.h \
X		animate.e choice.e color.e copypaste.e cursor.e dialog.e \
X		drawing.e file.e font.e grid.e menu.e msg.e names.e obj.e \
X		raster.e ruler.e scroll.e select.e setup.e stk.e text.e \
X		version.e xbitmap.e
Xmark.o:		const.h types.h \
X		raster.e setup.e select.e
Xmenu.o:		const.h types.h \
X		box.e choice.e color.e cursor.e dialog.e drawing.e edit.e \
X		file.e font.e grid.e msg.e names.e obj.e pattern.e raster.e \
X		select.e setup.e special.e text.e version.e
Xmove.o:		const.h types.h \
X		arc.e attr.e cursor.e drawing.e dup.e grid.e obj.e oval.e \
X		raster.e rcbox.e ruler.e select.e setup.e
Xmsg.o:		const.h types.h font.e raster.e setup.e
Xnames.o:	const.h types.h $(NAMES_BM) \
X		box.e button.e cursor.e file.e font.e mainloop.e raster.e \
X		scroll.e setup.e
Xobj.o:		const.h types.h \
X		arc.e attr.e box.e group.e oval.e poly.e polygon.e rcbox.e \
X		setup.e spline.e text.e xbitmap.e
Xoval.o:		const.h types.h \
X		color.e cursor.e file.e grid.e obj.e pattern.e \
X		poly.e raster.e ruler.e select.e setup.e
Xpattern.o:	const.h types.h \
X		arc.e choice.e drawing.e mark.e menu.e obj.e poly.e raster.e \
X		select.e setup.e spline.e
Xpoly.o:		const.h types.h \
X		attr.e color.e cursor.e drawing.e file.e grid.e obj.e \
X		pattern.e raster.e rect.e ruler.e select.e setup.e spline.e
Xpolygon.o:	const.h types.h \
X		color.e cursor.e dialog.e grid.e file.e obj.e \
X		pattern.e poly.e raster.e ruler.e select.e setup.e spline.e
Xprtgif.o:	const.h types.h \
X		file.e grid.e obj.e setup.e
Xraster.o:	const.h types.h $(RASTER_BM) \
X		choice.e color.e font.e pattern.e setup.e
Xrcbox.o:	const.h types.h \
X		color.e cursor.e file.e grid.e obj.e pattern.e poly.e \
X		raster.e ruler.e setup.e
Xrect.o:		const.h types.h \
X		arc.e poly.e setup.e spline.e
Xruler.o:	const.h types.h font.e grid.e raster.e setup.e
Xscroll.o:	const.h types.h $(SCROLL_BM) \
X		drawing.e msg.e obj.e raster.e ruler.e setup.e text.e
Xselect.o:	const.h types.h \
X		choice.e cursor.e drawing.e dup.e grid.e group.e mark.e \
X		move.e obj.e raster.e rect.e ruler.e setup.e stretch.e
Xsetup.o:	const.h types.h \
X		choice.e color.e cursor.e drawing.e font.e mainloop.e menu.e \
X		names.e raster.e ruler.e scroll.e stk.e xbitmap.e
Xspecial.o:	const.h types.h \
X		animate.e attr.e choice.e color.e cursor.e dialog.e drawing.e \
X		dup.e edit.e file.e grid.e group.e mark.e msg.e move.e names.e \
X		obj.e raster.e select.e setup.e stk.e
Xspline.o:	const.h types.h \
X		poly.e raster.e rect.e setup.e
Xstk.o:		const.h types.h \
X		align.e button.e choice.e color.e dup.e file.e font.e grid.e \
X		mark.e menu.e msg.e names.e obj.e pattern.e ruler.e scroll.e \
X		select.e setup.e text.e
Xstretch.o:	const.h types.h \
X		arc.e choice.e color.e cursor.e drawing.e dup.e font.e grid.e \
X		move.e obj.e poly.e raster.e ruler.e select.e setup.e spline.e \
X		text.e xbitmap.e
Xtext.o:		const.h types.h \
X		attr.e choice.e color.e cursor.e dup.e file.e font.e \
X		grid.e obj.e pattern.e poly.e prtgif.e raster.e ruler.e setup.e
Xtgif.o:		const.h types.h mainloop.e msg.e setup.e
Xversion.o:
Xxbitmap.o:	const.h types.h \
X		color.e file.e mark.e names.e obj.e pattern.e raster.e \
X		select.e setup.e
X
Xfrontend11.o: $(OBJ1)
X	ld -o frontend11.o -r $(OBJ1)
X
Xinstall: $(INSTALLDIR)/tgif $(INSTALLDIR)/prtgif \
X		$(TGIFDIR)/.psmac $(TGIFDIR)/tgificon.obj
X	@echo Making install ...
X
X$(INSTALLDIR)/tgif: tgif
X	install -c $(INSTPGMFLAGS) tgif $(INSTALLDIR)/tgif
X
X$(INSTALLDIR)/prtgif: prtgif
X	install -c $(INSTPGMFLAGS) prtgif $(INSTALLDIR)/prtgif
X
X$(TGIFDIR)/.psmac: .psmac
X	install -c .psmac $(TGIFDIR)/.psmac
X
X$(TGIFDIR)/tgificon.obj: tgificon.obj
X	install -c tgificon.obj $(TGIFDIR)/tgificon.obj
X
Xinstall.man: $(MANDIR)/tgif.n $(MANDIR)/prtgif.n
X	@echo Making install.man ...
X
X$(MANDIR)/tgif.n: tgif.man
X	install -c $(INSTMANFLAGS) tgif.man $(MANDIR)/tgif.n
X
X$(MANDIR)/prtgif.n: prtgif.man
X	install -c $(INSTMANFLAGS) prtgif.man $(MANDIR)/prtgif.n
X
XOBJDEMO = an-sr-flip-flop.obj fonts.obj slide-demo.obj spice/*.obj
XSYMDEMO = flip-flop.sym nand2.sym pin.sym tangram.sym spice/*.sym
XMISCTAR = tgif.man README Copyright tgif.pl spice/*.mod
X
Xtar:
X	@if [ `hostname` != rye ] ; then \
X		echo ''; \
X		echo '	Error:  Can only generate tar file on rye'; \
X		echo ''; \ exit 1; \
X	fi;
X	rm -f tgif-$(TGIFVERSION).tar*
X	tar cvf tgif-$(TGIFVERSION).tar *.c *.e *.h Makefile.noimake Imakefile \
X		xbm/*.xbm .psmac .*port .*land tgificon.obj \
X		$(OBJDEMO) \
X		$(SYMDEMO) \
X		$(MISCTAR)
X	compress tgif-$(TGIFVERSION).tar
X
Xclean:
X	rm -f tgif prtgif *.o core
END_OF_FILE
if test 9867 -ne `wc -c <'Makefile.noimake'`; then
    echo shar: \"'Makefile.noimake'\" unpacked with wrong size!
fi
# end of 'Makefile.noimake'
fi
if test -f 'Imakefile' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Imakefile'\"
else
echo shar: Extracting \"'Imakefile'\" \(4189 characters\)
sed "s/^X//" >'Imakefile' <<'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/Imakefile,v 2.3 91/03/06 09:43:44 william Exp $
X/**/#
X
XTGIFVERSION	= 2.1
XPROGRAMS	= tgif prtgif /**/#frontend11.o
X/**/#CDEBUGFLAGS= -g
X/**/#INSTPGMFLAGS= -s
X/**/#BINDIR	= /u/tangram/$(MACHINE)/bin
X/**/#MANPATH	= /u/tangram/man
X/**/#TGIFDIR	= /u/tangram/lib/tgif
XTGIFDIR		= $(LIBDIR)/tgif
XDEFINES		= -DTGIF_PATH=\"$(TGIFDIR)\" -DPSFILE_MOD=\"664\" \
X                  -DEPSF_FILE_EXT=\"eps\" -DPS_FILE_EXT=\"ps\" \
X                  -DXBM_FILE_EXT=\"xbm\" -DXPM_FILE_EXT=\"xpm\"
XLOCAL_LIBRARIES	= $(XLIB)
XDEPLIBS		= $(DEPXLIB)
XSYS_LIBRARIES	= -lm
X
XOBJ1 =	align.o animate.o arc.o attr.o \
X	box.o button.o \
X	choice.o color.o copypaste.o cursor.o \
X	dialog.o drawing.o dup.o \
X	edit.o \
X	file.o font.o \
X	grid.o group.o \
X	mainloop.o mark.o menu.o move.o msg.o \
X	names.o \
X	obj.o oval.o \
X	pattern.o poly.o polygon.o \
X	raster.o rcbox.o rect.o ruler.o \
X	scroll.o select.o setup.o special.o spline.o stk.o stretch.o \
X	text.o \
X	version.o \
X	xbitmap.o
X
XOBJS1 = tgif.o $(OBJ1)
XOBJS2 = prtgif.o $(OBJ1)
XFRONTENDOBJS = frontend.o $(OBJ1)
X
XSRCS1 = .//**/*.c
XSRCS2 = 
XSRCS3 = 
X
XComplexProgramTarget_1(tgif,$(LOCAL_LIBRARIES),)
XComplexProgramTarget_2(prtgif,$(LOCAL_LIBRARIES),)
X
X/*
X * NormalRelocatableTarget(frontend11,$(FRONTENDOBJS))
X */
X
XMakeDirectories(install,$(TGIFDIR))
XInstallNonExec(.psmac,$(TGIFDIR))
XInstallNonExec(tgificon.obj,$(TGIFDIR))
X
X.SUFFIXES: .l .man
X
X.l.man:
X	rm -f $*.man
X	cp $*.l $*.man
X
XOBJDEMO = an-sr-flip-flop.obj fonts.obj slide-demo.obj spice//**/*.obj
XSYMDEMO = flip-flop.sym nand2.sym pin.sym tangram.sym spice//**/*.sym
XMISCTAR = /**/*.man README Copyright tgif.pl spice//**/*.mod example.tex
X
Xdistr: tar version
X
Xtar:
X	rm -f tgif-$(TGIFVERSION).tar/**/*
X	tar cvf tgif-$(TGIFVERSION).tar /**/*.c /**/*.e /**/*.h \
X		Makefile.noimake Imakefile \
X		.psmac tgificon.obj xbm//**/*.xbm \
X		$(OBJDEMO) \
X		$(SYMDEMO) \
X		$(MISCTAR)
X	compress tgif-$(TGIFVERSION).tar
X
XSPICE_1 = spice spice//**/*.obj spice//**/*.sym spice//**/*.mod
XMAN_1 = /**/*.man example.tex
XMISC_1 = Makefile.noimake Imakefile .psmac \
X		README Copyright tgif.pl tgificon.obj
XOBJDEMO_1 = an-sr-flip-flop.obj fonts.obj slide-demo.obj
XSYMDEMO_1 = flip-flop.sym nand2.sym pin.sym tangram.sym
X
Xshar:
X	rm -f tgif-$(TGIFVERSION).shar./**/*
X	shar -otgif-$(TGIFVERSION).shar.1 -n1 -e23 a/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.2 -n2 -e23 b/**/*.c c/**/*.c \
X		d[a-i]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.3 -n3 -e23 d[j-z]/**/*.c e/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.4 -n4 -e23 f[a-i]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.5 -n5 -e23 f[j-z]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.6 -n6 -e23 [g-l]/**/*.c ma/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.7 -n7 -e23 m[b-z]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.8 -n8 -e23 n/**/*.c o/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.9 -n9 -e23 p[a-n]/**/*.c p[r-z]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.10 -n10 -e23 p[o-q]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.11 -n11 -e23 r[a-c]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.12 -n12 -e23 r[d-z]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.13 -n13 -e23 s[a-o]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.14 -n14 -e23 s[p-s]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.15 -n15 -e23 s[t-z]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.16 -n16 -e23 t[a-f]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.17 -n17 -e23 t[g-z]/**/*.c [v-z]/**/*.c
X	shar -otgif-$(TGIFVERSION).shar.18 -n18 -e23 /**/*.e /**/*.h
X	shar -otgif-$(TGIFVERSION).shar.19 -n19 -e23 $(MISC_1)
X	shar -otgif-$(TGIFVERSION).shar.20 -n20 -e23 $(SPICE_1)
X	shar -otgif-$(TGIFVERSION).shar.21 -n21 -e23 xbm xbm/[a-l]/**/*.xbm
X	shar -otgif-$(TGIFVERSION).shar.22 -n22 -e23 xbm/[m-z]/**/*.xbm
X	shar -otgif-$(TGIFVERSION).shar.23 -n23 -e23 $(MAN_1) $(OBJDEMO_1) \
X		$(SYMDEMO_1)
X
Xversion:
X	what .psmac /**/*.c /**/*.e /**/*.h Makefile.noimake Imakefile \
X		/**/*.man tgif.pl README example.tex \
X		tgificon.obj an-sr-flip-flop.obj fonts.obj slide-demo.obj \
X		flip-flop.sym nand2.sym pin.sym tangram.sym \
X		spice//**/*.obj spice//**/*.sym \
X		> VersionInfo/Distribution/tgif-$(TGIFVERSION)
END_OF_FILE
if test 4189 -ne `wc -c <'Imakefile'`; then
    echo shar: \"'Imakefile'\" unpacked with wrong size!
fi
# end of 'Imakefile'
fi
if test -f '.psmac' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'.psmac'\"
else
echo shar: Extracting \"'.psmac'\" \(5099 characters\)
sed "s/^X//" >'.psmac' <<'END_OF_FILE'
X
X%% @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/.psmac,v 2.0 91/03/05 14:14:52 william Exp $
X/ellipsedict 6 dict def
Xellipsedict /mtrx matrix put
X
X/ellipse
X { ellipsedict begin
X      /yrad exch def
X      /xrad exch def
X      /y exch def
X      /x exch def
X      /savematrix mtrx currentmatrix def
X      x y translate
X      xrad yrad scale
X      0 0 1 0 360 arc
X      savematrix setmatrix
X   end
X } def
X
X/arrowtipdict 8 dict def
Xarrowtipdict /mtrx matrix put
X
X/arrowtip
X { arrowtipdict begin
X      /dy exch def
X      /dx exch def
X      /h exch def
X      /w exch def
X      /y exch def
X      /x exch def
X      /savematrix mtrx currentmatrix def
X      x y translate
X      dy dx atan rotate
X      0 0 moveto
X      w neg h lineto
X      w neg h neg lineto
X      savematrix setmatrix
X   end
X } def
X
X/tgifarcdict 8 dict def
Xtgifarcdict /mtrx matrix put
X
X/tgifarcn
X { tgifarcdict begin
X      /endangle exch def
X      /startangle exch def
X      /yrad exch def
X      /xrad exch def
X      /y exch def
X      /x exch def
X      /savematrix mtrx currentmatrix def
X      x y translate
X      xrad yrad scale
X      0 0 1 startangle endangle arc
X      savematrix setmatrix
X   end
X } def
X
X/tgifarc
X { tgifarcdict begin
X      /endangle exch def
X      /startangle exch def
X      /yrad exch def
X      /xrad exch def
X      /y exch def
X      /x exch def
X      /savematrix mtrx currentmatrix def
X      x y translate
X      xrad yrad scale
X      0 0 1 startangle endangle arcn
X      savematrix setmatrix
X   end
X } def
X
X/setuserscreendict 22 dict def
Xsetuserscreendict begin
X   /tempctm matrix def
X   /temprot matrix def
X   /tempscale matrix def
X
X   /concatprocs
X    { /proc2 exch cvlit def
X      /proc1 exch cvlit def
X      /newproc proc1 length proc2 length add array def
X      newproc 0 proc1 putinterval
X      newproc proc1 length proc2 putinterval
X      newproc cvx
X    } def
X   /resmatrix matrix def
X   /findresolution
X    { 72 0 resmatrix defaultmatrix dtransform
X      /yres exch def /xres exch def
X      xres dup mul yres dup mul add sqrt
X    } def
Xend
X
X/setuserscreen
X { setuserscreendict begin
X      /spotfunction exch def
X      /screenangle exch def
X      /cellsize exch def
X
X      /m tempctm currentmatrix def
X      /rm screenangle temprot rotate def
X      /sm cellsize dup tempscale scale def
X
X      sm rm m m concatmatrix m concatmatrix pop
X
X      1 0 m dtransform /y1 exch def /x1 exch def
X
X      /veclength x1 dup mul y1 dup mul add sqrt def
X      /frequency findresolution veclength div def
X
X      /newscreenangle y1 x1 atan def
X
X      m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt
X
X      {{neg} /spotfunction load concatprocs
X         /spotfunction exch def
X      } if
X
X      frequency newscreenangle /spotfunction load setscreen
X   end
X } def
X
X/setpatterndict 18 dict def
Xsetpatterndict begin
X   /bitison
X    { /ybit exch def /xbit exch def
X      /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def
X
X      /mask 1 7 xbit 8 mod sub bitshift def
X      bytevalue mask and 0 ne
X    } def
Xend
X
X/bitpatternspotfunction
X { setpatterndict begin
X      /y exch def /x exch def
X
X      /xindex x 1 add 2 div bpside mul cvi def
X      /yindex y 1 add 2 div bpside mul cvi def
X
X      xindex yindex bitison
X       { /onbits onbits 1 add def 1 }
X       { /offbits offbits 1 add def 0 }
X       ifelse
X   end
X } def
X
X/setpattern
X { setpatterndict begin
X      /cellsz exch def
X      /angle exch def
X      /bwidth exch def
X      /bpside exch def
X      /bstring exch def
X
X      /onbits 0 def /offbits 0 def
X      cellsz angle /bitpatternspotfunction load setuserscreen
X      {} settransfer
X      offbits offbits onbits add div setgray
X   end
X } def
X
X/inch {72 mul} def
X
X/showpattern
X { /ang exch def
X   /pat exch def
X   pat 8 1 ang 72 300 32 div div setpattern
X
X   newpath
X      0 0 moveto 1 inch 0 lineto
X      1 inch dup lineto 0 1 inch lineto
X   closepath fill
X } def
X
X/patdict 10 dict def
X
X/patbyte
X { currentdict /retstr get exch
X   pat i cellsz mod get put
X } def
X
X/patproc
X { 0 1 widthlim {patbyte} for retstr
X   /i i 1 add def
X } def
X
X/patfill
X { patdict begin
X      /h exch def
X      /w exch def
X      /lty exch def
X      /ltx exch def
X      /cellsz exch def
X      /pat exch def
X
X      /widthlim w cellsz div cvi 1 sub def
X      /retstr widthlim 1 add string def
X      /i 0 def
X
X      ltx lty translate
X      w h true [1 0 0 1 0 0] {patproc} imagemask
X      ltx neg lty neg translate
X   end
X } def
X
X/pat1 <ffffffffffffffff> def
X/pat2 <0000000000000000> def
X/pat3 <8000000008000000> def
X/pat4 <8800000022000000> def
X/pat5 <8800220088002200> def
X/pat6 <8822882288228822> def
X/pat7 <aa55aa55aa55aa55> def
X/pat8 <8040201008040201> def
X/pat9 <8844221188442211> def
X/pat10 <77bbddee77bbddee> def
X/pat11 <c1e070381c0e0783> def
X/pat12 <8040200002040800> def
X/pat13 <40a00000040a0000> def
X/pat14 <ff888888ff888888> def
X/pat15 <ff808080ff080808> def
X/pat16 <f87422478f172271> def
X/pat17 <038448300c020101> def
X/pat18 <081c22c180010204> def
X/pat19 <8080413e080814e3> def
X
X/centertext { dup stringwidth pop 2 div neg 0 rmoveto } def
X
X/righttext { dup stringwidth pop neg 0 rmoveto } def
X
X1.415 setmiterlimit
X
END_OF_FILE
if test 5099 -ne `wc -c <'.psmac'`; then
    echo shar: \"'.psmac'\" unpacked with wrong size!
fi
# end of '.psmac'
fi
if test -f 'README' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'README'\"
else
echo shar: Extracting \"'README'\" \(1222 characters\)
sed "s/^X//" >'README' <<'END_OF_FILE'
X/*
X * Author:	William Chia-Wei Cheng (william@cs.ucla.edu)
X *
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/README,v 2.0 91/03/05 12:50:35 william Exp $
X */
X
XThis is the ``tgif'' README file.
X
XTgif is a Xlib base 2-D drawing facility under X11.  It also supports
X	hierarchical construction of drawings.
X
X1) Please read the Copyright file for the copyright information.
X
X2) Please read tgif.man, the man pages that comes with the distribution.
X	nroff -t -man tgif.man | more	<== to view
X	psroff -man tgif.man		<== to print
X
X3) Modify Makefile.noimake or Imakefile such that TGIF_PATH is set
X   to the directory where the icon file and the PostScript macro file are.
X
X4) If you don't have imake, just do the following,
X	cp Makefile.noimake Makefile
X	make tgif
X
X   If you have imake and xmkmf, do the following,
X	xmkmf
X	make tgif
X
X   If you have imake but don't have xmkmf, do the following,
X		(note that the config directory should be set to
X		wherever you can find Imake.tmpl)
X	imake -DUseInstalled -I/usr/local/libdata/X11/config
X	make tgif
X
X5) Remember to set the environment variables TGIFPATH and TGIFICON (see
X	the man pages).
X
X6) Please also note that tgif has nothing to do with GIF files/formats.
END_OF_FILE
if test 1222 -ne `wc -c <'README'`; then
    echo shar: \"'README'\" unpacked with wrong size!
fi
# end of 'README'
fi
if test -f 'Copyright' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'Copyright'\"
else
echo shar: Extracting \"'Copyright'\" \(1157 characters\)
sed "s/^X//" >'Copyright' <<'END_OF_FILE'
XCopyright (C) 1990, 1991, William Chia-Wei Cheng
X
XWilliam Cheng ("Author") grants to the party hereby receiving "tgif" from
Xan authorized provider ("Recipient") a non-exclusive, royalty-free
Xlicense to copy, display, distribute, and produce derivative works of
X"tgif", provided that the above copyright notice appears in all copies
Xmade of "tgif" and both the copyright notice and this license appear
Xin supporting documentation, and that the name of Author not be used
Xin advertising or publicity pertaining to "tgif".
X
X"Tgif" is provided "as is" without express or implied warranty. Author
Xdoes not and cannot warrant the performance of "tgif" or the results
Xthat may be obtained by its use or its fitness for any specific use by
XRecipient or any third party.  In no event shall Author become liable
Xto Recipient or any other party, for any loss or damages,
Xconsequential or otherwise, including but not limited to time, money,
Xor goodwill, arising from use or possession, authorized or not, of
X"tgif" by Recipient or any other party.
X
X/*
X * @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/Copyright,v 2.0 91/03/05 12:50:34 william Exp $
X */
END_OF_FILE
if test 1157 -ne `wc -c <'Copyright'`; then
    echo shar: \"'Copyright'\" unpacked with wrong size!
fi
# end of 'Copyright'
fi
if test -f 'tgif.pl' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'tgif.pl'\"
else
echo shar: Extracting \"'tgif.pl'\" \(12527 characters\)
sed "s/^X//" >'tgif.pl' <<'END_OF_FILE'
X%
X% 1) Call tgif_clean/0 each time before step (2).
X% 2) Consult a '.obj' or a '.sym' file.
X% 3) Call tgif_state/2.  This must be called before any other tgif goals
X%    are called.
X% 4) Trace any other goals.
X%
X% @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/tgif.pl,v 2.0 91/03/05 12:50:36 william Exp $
X%
X
Xtgif_state(FileVersion,Obj) :-
X	(	var(Obj) -> OutputObj = true,
X		current_predicate(state,
X			state(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_))
X	;	OutputObj = false
X	),
X	Obj = state(_PageStyle,FileVersion,_OrigX,_OrigY,_Zoom,
X		_GridSize,_Grid,_Color,_HoriAlign,_VertAlign,_LineWidth,
X		_LineStyle,_ObjFill,_PenPat,_TextJust,_Font,
X		_TextStyle,_TextSize),
X	( OutputObj == true -> call(Obj) ; true ),
X	FileVersion =< 3,
X	!, abolish(tgif_file_version/1),
X	!, assert(tgif_file_version(FileVersion)).
Xtgif_state(FileVersion,Obj) :-
X	(	var(Obj) -> OutputObj = true,
X		current_predicate(state,
X			state(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_))
X	;	OutputObj = false
X	),
X	Obj = state(_PageStyle,FileVersion,_OrigX,_OrigY,_Zoom,
X		_GridSize,_Grid,_Color,_HoriAlign,_VertAlign,_LineWidth,
X		_Spline,_LineStyle,_ObjFill,_PenPat,_TextJust,_Font,
X		_TextStyle,_TextSize),
X	( OutputObj == true -> call(Obj) ; true ),
X	FileVersion =< 7,
X	!, abolish(tgif_file_version/1),
X	!, assert(tgif_file_version(FileVersion)).
Xtgif_state(FileVersion,Obj) :-
X	(	var(Obj) -> OutputObj = true,
X		current_predicate(state,
X			state(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_))
X	;	OutputObj = false
X	),
X	Obj = state(_PageStyle,FileVersion,_OrigX,_OrigY,_Zoom,
X		_GridSize,_Grid,_Color,_HoriAlign,_VertAlign,_LineWidth,
X		_Spline,_LineStyle,_ObjFill,_PenPat,_TextJust,_Font,
X		_TextStyle,_TextSize,_TextDPI),
X	( OutputObj == true -> call(Obj) ; true ),
X	FileVersion =< 8,
X	!, abolish(tgif_file_version/1),
X	!, assert(tgif_file_version(FileVersion)).
Xtgif_state(FileVersion,Obj) :-
X	(	var(Obj) -> OutputObj = true,
X		current_predicate(state,
X			state(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_))
X	;	OutputObj = false
X	),
X	Obj = state(_PageStyle,FileVersion,_OrigX,_OrigY,_Zoom,
X		_GridSize,_Grid,_Color,_HoriAlign,_VertAlign,_LineWidth,
X		_Spline,_LineStyle,_ObjFill,_PenPat,_TextJust,_Font,
X		_TextStyle,_TextSize,_TextDPI,_Dash),
X	( OutputObj == true -> call(Obj) ; true ),
X	FileVersion >= 9,
X	!, abolish(tgif_file_version/1),
X	!, assert(tgif_file_version(FileVersion)).
X
X% --------------------------------------------------------------------- %
X
Xtgif_text(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 2, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = text(_Color,_X,_Y,_Font,_TextStyle,_TextSize,_NumLines,_TextJust,
X		StrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_strs(StrList).
Xtgif_text(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 6, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = text(_Color,_X,_Y,_Font,_TextStyle,_TextSize,_NumLines,_TextJust,
X		_TextRotate,_PenPat,StrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_strs(StrList).
Xtgif_text(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 7, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = text(_Color,_X,_Y,_Font,_TextStyle,_TextSize,_NumLines,_TextJust,
X		_TextRotate,_PenPat,_BBoxW,_BBoxH,StrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_strs(StrList).
Xtgif_text(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 9, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = text(_Color,_X,_Y,_Font,_TextStyle,_TextSize,_NumLines,_TextJust,
X		_TextRotate,_PenPat,_BBoxW,_BBoxH,_Id,_TextDPI,StrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_strs(StrList).
Xtgif_text(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion >= 10, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = text(_Color,_X,_Y,_Font,_TextStyle,_TextSize,_NumLines,_TextJust,
X		_TextRotate,_PenPat,_BBoxW,_BBoxH,_Id,_TextDPI,_Asc,_Des,
X		StrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_strs(StrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_box(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 7, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = box(_Color,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat),
X	( OutputObj == true -> call(Obj) ; true ).
Xtgif_box(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 8, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = box(_Color,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat,_Id,
X		AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
Xtgif_box(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion >= 9, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = box(_Color,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat,_Id,_Dash,
X		AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_oval(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 7, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = oval(_Color,_LeftTopX,_LeftTopY,_RightBotX,_RightBotY,_ObjFill,
X		_LineWidth,_PenPat),
X	( OutputObj == true -> call(Obj) ; true ).
Xtgif_oval(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 8, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = oval(_Color,_LeftTopX,_LeftTopY,_RightBotX,_RightBotY,_ObjFill,
X		_LineWidth,_PenPat,_Id,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
Xtgif_oval(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion >= 9, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = oval(_Color,_LeftTopX,_LeftTopY,_RightBotX,_RightBotY,_ObjFill,
X		_LineWidth,_PenPat,_Id,_Dash,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_poly(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 3, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = poly(_Color,_NumVs,_Vs,_LineStyle,_LineWidth,_PenPat,_Id,
X		AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
Xtgif_poly(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 4, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = poly(_Color,_NumVs,_Vs,_LineStyle,_LineWidth,_PenPat,_Id,_Spline,
X		AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
Xtgif_poly(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 8, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = poly(_Color,_NumVs,_Vs,_LineStyle,_LineWidth,_PenPat,_Id,_Spline,
X		_ObjFill,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
Xtgif_poly(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion >= 9, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = poly(_Color,_NumVs,_Vs,_LineStyle,_LineWidth,_PenPat,_Id,_Spline,
X		_ObjFill,_Dash,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_polygon(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 3, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = polygon(_Color,_NumVs,_Vs,_ObjFill,_LineWidth,_PenPat),
X	( OutputObj == true -> call(Obj) ; true ).
Xtgif_polygon(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 7, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = polygon(_Color,_NumVs,_Vs,_ObjFill,_LineWidth,_PenPat,_Spline),
X	( OutputObj == true -> call(Obj) ; true ).
Xtgif_polygon(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion =< 8, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = polygon(_Color,_NumVs,_Vs,_ObjFill,_LineWidth,_PenPat,_Spline,
X		_Id,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
Xtgif_polygon(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion >= 9, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = polygon(_Color,_NumVs,_Vs,_ObjFill,_LineWidth,_PenPat,_Spline,
X		_Id,_Dash,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_rcbox(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion >= 9, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = rcbox(_Color,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat,_Dash,
X		_Radius,_Id,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_arc(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion >= 9, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = arc(_Color,_ObjFill,_LineWidth,_PenPat,_Dash,_LtX,_LtY,_Xc,_Yc,
X		_X1,_Y1,_X2,_Y2,_Dir,_W,_H,_Angle1,_Angle2,_Id,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_xbm(Obj) :-
X	current_predicate(tgif_file_version,tgif_file_version(_)),
X	tgif_file_version(FileVersion),
X	FileVersion >= 9, !,
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = xbm(_Color,_X1,_Y1,_X2,_Y2,_ObjFill,_Id,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_attrs(AttrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_group(Obj) :-
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = group(ObjList,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_objs(ObjList),
X	tgif_attrs(AttrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_sym(Obj) :-
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = sym(ObjList,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_objs(ObjList),
X	tgif_attrs(AttrList).
X
X% --------------------------------------------------------------------- %
X
Xtgif_icon(Obj) :-
X	( var(Obj) -> OutputObj = true ; OutputObj = false ),
X	Obj = icon(ObjList,_Name,_Id,AttrList),
X	( OutputObj == true -> call(Obj) ; true ),
X	tgif_objs(ObjList),
X	tgif_attrs(AttrList).
X
X% ======================== support routines =========================== %
X
Xtgif_clean :- abolish(state/18), abolish(state/19), abolish(state/20).
X
X% --------------------------------------------------------------------- %
X
Xtgif_strs([]) :- !.
Xtgif_strs([_Str|Strs]) :- !, tgif_strs(Strs).
X
X% --------------------------------------------------------------------- %
X
Xtgif_objs([]) :- !.
Xtgif_objs([Obj|Objs]) :-
X	!,
X	functor(Obj,Functor,_Arity),
X	(	Functor == text ->
X		tgif_text(Obj)
X	;	Functor == box ->
X		tgif_box(Obj)
X	;	Functor == oval ->
X		tgif_oval(Obj)
X	;	Functor == poly ->
X		tgif_poly(Obj)
X	;	Functor == polygon ->
X		tgif_polygon(Obj)
X	;	Functor == rcbox ->
X		tgif_rcbox(Obj)
X	;	Functor == arc ->
X		tgif_arc(Obj)
X	;	Functor == xbm ->
X		tgif_xbm(Obj)
X	;	Functor == group ->
X		tgif_group(Obj)
X	;	Functor == sym ->
X		tgif_sym(Obj)
X	;	Functor == icon ->
X		tgif_icon(Obj)
X	;	true
X	),
X	!, tgif_objs(Objs).
X
X% --------------------------------------------------------------------- %
X
Xtgif_attrs([]) :- !.
Xtgif_attrs([Attr|Attrs]) :-
X	Attr = attr(_Name,_Value,_ShowAll,_ShowNameOnly,_Inherited,TextObj),
X	tgif_text(TextObj),
X	!, tgif_attrs(Attrs).
END_OF_FILE
if test 12527 -ne `wc -c <'tgif.pl'`; then
    echo shar: \"'tgif.pl'\" unpacked with wrong size!
fi
# end of 'tgif.pl'
fi
if test -f 'tgificon.obj' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'tgificon.obj'\"
else
echo shar: Extracting \"'tgificon.obj'\" \(891 characters\)
sed "s/^X//" >'tgificon.obj' <<'END_OF_FILE'
Xstate(0,10,0,0,0,16,1,4,0,3,0,0,1,2,1,0,3,0,5,0,0).
X%
X% @(#)$Header: /tmp_mnt/n/kona/tangram/u/william/X11/TGIF2/RCS/tgificon.obj,v 2.0 91/03/05 12:50:09 william Exp $
X%
Xgroup([
Xgroup([
Xpolygon('yellow',4,[0,40,40,40,40,80,0,40],0,0,1,0,11,0,[
X]),
Xpolygon('yellow',4,[40,40,40,80,80,40,40,40],0,0,1,0,12,0,[
X]),
Xpolygon('yellow',4,[40,0,20,20,60,20,40,0],0,0,1,0,13,0,[
X]),
Xpolygon('yellow',4,[20,20,0,40,20,40,20,20],0,0,1,0,14,0,[
X]),
Xpolygon('yellow',5,[20,20,20,40,40,40,40,20,20,20],0,0,1,0,15,0,[
X]),
Xpolygon('yellow',4,[40,20,40,40,60,40,40,20],0,0,1,0,16,0,[
X]),
Xpolygon('yellow',5,[40,20,60,40,80,40,60,20,40,20],0,0,1,0,17,0,[
X])
X],[
X]),
Xtext('yellow',40,6,0,3,3,1,1,0,1,10,17,18,0,14,3,[
X	"T"]),
Xtext('yellow',30,24,1,1,3,1,1,0,1,9,16,19,0,12,4,[
X	"G"]),
Xtext('yellow',50,43,3,3,3,1,1,0,1,6,17,20,0,14,3,[
X	"I"]),
Xtext('yellow',30,52,2,3,3,1,1,0,1,8,17,21,0,14,3,[
X	"F"])
X],[
X]).
END_OF_FILE
if test 891 -ne `wc -c <'tgificon.obj'`; then
    echo shar: \"'tgificon.obj'\" unpacked with wrong size!
fi
# end of 'tgificon.obj'
fi
echo shar: End of archive 19 \(of 23\).
cp /dev/null ark19isdone
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