[comp.sources.x] v11i068: tgif, Patch6, Part06/06

william@CS.UCLA.EDU (William Cheng) (02/13/91)

Submitted-by: william@CS.UCLA.EDU (William Cheng)
Posting-number: Volume 11, Issue 68
Archive-name: tgif/patch6.06
Patch-To: tgif: Volume 7, Issue 56-76 (original: tgif-1.2)
Patch-To: tgif: Volume 8, Issue 46-48 (Patch1: tgif-1.2 => tgif-1.9)
Patch-To: tgif: Volume 8, Issue 58-60 (Patch2: tgif-1.9 => tgif-1.12)
Patch-To: tgif: Volume 8, Issue 87-89 (Patch3: tgif-1.12 => tgif-1.13)
Patch-To: tgif: Volume 8, Issue 94 (Patch4: tgif-1.13 => tgif-1.14)
Patch-To: tgif: Volume 8, Issue 95 (Patch5: tgif-1.14 => tgif-1.15)

---------------------------------> cut here <---------------------------------
*** setup.e.orig	Wed Dec 12 14:40:59 1990
--- setup.e	Wed Dec 12 14:41:00 1990
***************
*** 4,8 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/setup.e,v 1.6 90/06/25 23:44:35 william Exp $
   */
  
--- 4,8 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/setup.e,v 1.8 90/09/05 08:46:03 william Exp $
   */
  
***************
*** 74,77 ****
--- 74,82 ----
  
  extern char	drawPath[];
+ extern char	bootDir[];
+ extern char	homeDir[];
+ 
+ extern int	symPathNumEntries;
+ extern char	* * symPath;
  
  extern int	initDrawWinW;
*** special.e.orig	Wed Dec 12 14:41:07 1990
--- special.e	Wed Dec 12 14:41:08 1990
***************
*** 4,11 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/special.e,v 1.1 90/04/01 22:17:22 william Exp $
   */
  
  extern struct ObjRec	* ReadSymbol ();
  extern void	PlaceTopObj ();
  extern void	Instantiate ();
--- 4,12 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/special.e,v 1.2 90/11/01 18:02:05 william Exp $
   */
  
  extern struct ObjRec	* ReadSymbol ();
+ extern struct ObjRec	* GetObjRepresentation ();
  extern void	PlaceTopObj ();
  extern void	Instantiate ();
*** stk.e.orig	Wed Dec 12 14:41:13 1990
--- stk.e	Wed Dec 12 14:41:14 1990
***************
*** 4,11 ****
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/stk.e,v 1.2 90/07/16 09:30:53 william Exp $
   */
  
  extern int	AncesterModified ();
  extern void	PushIcon ();
  extern void	PopIcon ();
--- 4,12 ----
   * Copyright (C) 1989, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/stk.e,v 1.6 90/10/23 10:41:48 william Exp $
   */
  
  extern int	AncesterModified ();
+ extern void	InitStk ();
  extern void	PushIcon ();
  extern void	PopIcon ();
*** const.h.orig	Wed Dec 12 14:41:18 1990
--- const.h	Wed Dec 12 14:41:20 1990
***************
*** 4,8 ****
   * Copyright (C) 1990, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/const.h,v 1.7 90/08/15 11:41:10 william Exp $
   */
  
--- 4,8 ----
   * Copyright (C) 1990, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/const.h,v 1.9 90/10/29 17:54:01 william Exp $
   */
  
***************
*** 90,93 ****
--- 90,95 ----
  
  #define MAXLINESTYLES 4
+ 
+ #define MAXDASHES 5
  
  #define NOCONT (FALSE)
*** types.h.orig	Wed Dec 12 14:41:25 1990
--- types.h	Wed Dec 12 14:41:26 1990
***************
*** 4,8 ****
   * Copyright (C) 1990, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/types.h,v 1.7 90/08/14 17:32:37 william Exp $
   */
  
--- 4,8 ----
   * Copyright (C) 1990, William Cheng.
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/types.h,v 1.13 90/10/26 17:45:15 william Exp $
   */
  
***************
*** 55,59 ****
     int			sn;	/* number of points in the spline polyline */
     XPoint		* svlist;
!    int			style, width, pen, curved, fill;
  } * PolyRecPtr;
  
--- 55,59 ----
     int			sn;	/* number of points in the spline polyline */
     XPoint		* svlist;
!    int			style, width, pen, curved, fill, dash;
  } * PolyRecPtr;
  
***************
*** 63,75 ****
     int		sn;	/* number of points in the spline polygon */
     XPoint	* svlist;
!    int		fill, width, pen, curved;
  } * PolygonRecPtr;
  
  typedef struct BoxRec {
!    int	fill, width, pen;
  } * BoxRecPtr;
  
  typedef struct OvalRec {
!    int	fill, width, pen;
  } * OvalRecPtr;
  
--- 63,75 ----
     int		sn;	/* number of points in the spline polygon */
     XPoint	* svlist;
!    int		fill, width, pen, curved, dash;
  } * PolygonRecPtr;
  
  typedef struct BoxRec {
!    int	fill, width, pen, dash;
  } * BoxRecPtr;
  
  typedef struct OvalRec {
!    int	fill, width, pen, dash;
  } * OvalRecPtr;
  
***************
*** 98,111 ****
     int			orig_x, orig_y, zoom, grid, grid_on;
     int			color, h_align, v_align, line_w, line_s;
!    int			fill, pen, just, font, f_style, f_size, f_dpi;
     char			name[MAXPATHLENGTH+1], domain[MAXPATHLENGTH+1];
  } * StkRecPtr;
- 
- typedef struct _DspItem {
-    char		s[MAXPATHLENGTH+1];
- } DspItem;
- 
- typedef struct _DspList {
-    char			itemstr[MAXPATHLENGTH+1];
-    struct _DspList	* next;
- } DspList;
--- 98,103 ----
     int			orig_x, orig_y, zoom, grid, grid_on;
     int			color, h_align, v_align, line_w, line_s;
!    int			fill, pen, dash, just, font, f_style, f_size, f_dpi;
     char			name[MAXPATHLENGTH+1], domain[MAXPATHLENGTH+1];
+    char			dir[MAXPATHLENGTH+1], sym_dir[MAXPATHLENGTH+1];
  } * StkRecPtr;
*** Makefile.noimake.orig	Wed Dec 12 14:41:32 1990
--- Makefile.noimake	Wed Dec 12 14:41:34 1990
***************
*** 4,8 ****
  # Copyright (C) 1990, William Cheng.
  #
! # @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/Makefile.noimake,v 1.25 90/08/27 11:29:48 william Exp $
  #
  
--- 4,8 ----
  # Copyright (C) 1990, William Cheng.
  #
! # @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/Makefile.noimake,v 1.29 90/11/10 13:53:48 william Exp $
  #
  
***************
*** 10,15 ****
  LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
  
! TGIFVERSION	= 1.15
! INSTALLDIR	= /u/tangram/bin
  
  CC = cc
--- 10,15 ----
  LINK.c = $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
  
! TGIFVERSION	= 1.19
! INSTALLDIR	= /u/tangram/$(MACHINE)/bin
  
  CC = cc
***************
*** 46,49 ****
--- 46,55 ----
  	bitmaps/lw4.bm bitmaps/lw4s.bm bitmaps/lw5.bm bitmaps/lw5s.bm \
  	bitmaps/lw6.bm bitmaps/lw6s.bm \
+ 	bitmaps/ld0.bm bitmaps/ld0s.bm bitmaps/ld1.bm bitmaps/ld1s.bm \
+ 	bitmaps/ld2.bm bitmaps/ld2s.bm bitmaps/ld3.bm bitmaps/ld3s.bm \
+ 	bitmaps/ld4.bm bitmaps/ld4s.bm \
+ 	bitmaps/file.bm bitmaps/special.bm \
+ 	bitmaps/rotate_0.bm bitmaps/rotate_90.bm \
+ 	bitmaps/rotate_180.bm bitmaps/rotate_270.bm \
  	bitmaps/oval.bm bitmaps/pat0.bm bitmaps/pat1.bm bitmaps/pat10.bm \
  	bitmaps/pat11.bm bitmaps/pat12.bm bitmaps/pat13.bm bitmaps/pat14.bm \
***************
*** 59,63 ****
  	bitmaps/leftarrow.bm
  
! CURSOR_BM = bitmaps/nullmask.bm bitmaps/text_cur_image.bm
  
  OBJS = tgif.o $(OBJ1)
--- 65,69 ----
  	bitmaps/leftarrow.bm
  
! CURSOR_BM = bitmaps/null.bm bitmaps/nullmask.bm bitmaps/text_cur_image.bm
  
  OBJS = tgif.o $(OBJ1)
***************
*** 111,116 ****
  edit.o:		const.h types.h \
  		align.e color.e copypaste.e cursor.e drawing.e dup.e font.e \
! 		group.e mark.e obj.e poly.e raster.e select.e setup.e spline.e \
! 		stretch.e
  file.o:		const.h types.h \
  		align.e attr.e box.e button.e choice.e color.e dialog.e \
--- 117,122 ----
  edit.o:		const.h types.h \
  		align.e color.e copypaste.e cursor.e drawing.e dup.e font.e \
! 		group.e mark.e obj.e poly.e raster.e select.e setup.e \
! 		special.e spline.e stretch.e
  file.o:		const.h types.h \
  		align.e attr.e box.e button.e choice.e color.e dialog.e \
***************
*** 141,146 ****
  msg.o:		const.h types.h font.e raster.e setup.e
  names.o:	const.h types.h $(NAMES_BM) \
! 		box.e button.e cursor.e font.e mainloop.e raster.e scroll.e \
! 		setup.e
  obj.o:		const.h types.h \
  		attr.e box.e group.e oval.e poly.e polygon.e setup.e spline.e \
--- 147,152 ----
  msg.o:		const.h types.h font.e raster.e setup.e
  names.o:	const.h types.h $(NAMES_BM) \
! 		box.e button.e cursor.e file.e font.e mainloop.e raster.e \
! 		scroll.e setup.e
  obj.o:		const.h types.h \
  		attr.e box.e group.e oval.e poly.e polygon.e setup.e spline.e \
***************
*** 172,178 ****
  setup.o:	const.h types.h \
  		choice.e color.e cursor.e drawing.e font.e mainloop.e menu.e \
! 		names.e raster.e ruler.e scroll.e
! spline.o:	const.h types.h \
! 		poly.e raster.e rect.e setup.e
  special.o:	const.h types.h \
  		animate.e attr.e choice.e color.e cursor.e dialog.e drawing.e \
--- 178,182 ----
  setup.o:	const.h types.h \
  		choice.e color.e cursor.e drawing.e font.e mainloop.e menu.e \
! 		names.e raster.e ruler.e scroll.e stk.e
  special.o:	const.h types.h \
  		animate.e attr.e choice.e color.e cursor.e dialog.e drawing.e \
***************
*** 179,182 ****
--- 183,188 ----
  		dup.e file.e grid.e group.e mark.e msg.e move.e names.e \
  		obj.e raster.e select.e setup.e stk.e
+ spline.o:	const.h types.h \
+ 		poly.e raster.e rect.e setup.e
  stk.o:		const.h types.h \
  		align.e button.e choice.e color.e dup.e file.e font.e grid.e \
*** Imakefile.orig	Wed Dec 12 14:41:40 1990
--- Imakefile	Wed Dec 12 14:41:42 1990
***************
*** 4,17 ****
  /**/# Copyright (C) 1990, William Cheng.
  /**/#
! /**/# @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/Imakefile,v 1.28 90/08/27 11:29:39 william Exp $
  /**/#
  
! TGIFVERSION	= 1.15
  PROGRAMS	= tgif prtgif tgif2ps frontend11.o
  /**/#CDEBUGFLAGS= -g
! /**/#BINDIR	= /u/tangram/bin
  /**/#MANPATH	= /u/tangram/man
  /**/#TGIFDIR	= /u/tangram/lib/tgif
! TGIFDIR	= $(LIBDIR)/tgif
  DEFINES		= -DTGIF_PATH=\"$(TGIFDIR)\" -DPSFILE_MOD=\"664\"
  LOCAL_LIBRARIES	= $(XLIB)
--- 4,17 ----
  /**/# Copyright (C) 1990, William Cheng.
  /**/#
! /**/# @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/Imakefile,v 1.34 90/11/10 13:53:45 william Exp $
  /**/#
  
! TGIFVERSION	= 1.19
  PROGRAMS	= tgif prtgif tgif2ps frontend11.o
  /**/#CDEBUGFLAGS= -g
! /**/#BINDIR	= /u/tangram/$(MACHINE)/bin
  /**/#MANPATH	= /u/tangram/man
  /**/#TGIFDIR	= /u/tangram/lib/tgif
! TGIFDIR		= $(LIBDIR)/tgif
  DEFINES		= -DTGIF_PATH=\"$(TGIFDIR)\" -DPSFILE_MOD=\"664\"
  LOCAL_LIBRARIES	= $(XLIB)
***************
*** 38,41 ****
--- 38,42 ----
  OBJS2 = prtgif.o $(OBJ1)
  OBJS3 = tgif2ps.o
+ FRONTENDOBJS = frontend.o $(OBJ1)
  
  SRCS1 = .//**/*.c
***************
*** 47,51 ****
  ComplexProgramTarget_3(tgif2ps,,)
  
! NormalRelocatableTarget(frontend11,$(OBJ1))
  
  MakeDirectories(install,$(TGIFDIR))
--- 48,52 ----
  ComplexProgramTarget_3(tgif2ps,,)
  
! NormalRelocatableTarget(frontend11,$(FRONTENDOBJS))
  
  MakeDirectories(install,$(TGIFDIR))
***************
*** 61,65 ****
  OBJDEMO = an-sr-flip-flop.obj fonts.obj slide-demo.obj spice//**/*.obj
  SYMDEMO = flip-flop.sym nand2.sym pin.sym tangram.sym spice//**/*.sym
! MISCTAR = *.man README Copyright tgif.pl spice//**/*.mod example.tex
  
  distr: tar version
--- 62,66 ----
  OBJDEMO = an-sr-flip-flop.obj fonts.obj slide-demo.obj spice//**/*.obj
  SYMDEMO = flip-flop.sym nand2.sym pin.sym tangram.sym spice//**/*.sym
! MISCTAR = /**/*.man README Copyright tgif.pl spice//**/*.mod example.tex
  
  distr: tar version
***************
*** 115,118 ****
  version:
  	what /**/*.c /**/*.e /**/*.h Makefile.noimake Imakefile \
! 		/**/*.man tgif.pl README \
  		> VersionInfo/Distribution/tgif-$(TGIFVERSION)
--- 116,119 ----
  version:
  	what /**/*.c /**/*.e /**/*.h Makefile.noimake Imakefile \
! 		/**/*.man tgif.pl README example.tex \
  		> VersionInfo/Distribution/tgif-$(TGIFVERSION)
*** tgif.man.orig	Wed Dec 12 14:41:54 1990
--- tgif.man	Wed Dec 12 14:41:56 1990
***************
*** 1,3 ****
! .\"@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/tgif.man,v 1.11 90/08/16 15:30:15 william Exp $
  .TH TGIF 1 "Version 1.13 and Above" "Tgif"
  .SH NAME
--- 1,3 ----
! .\"@(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/tgif.man,v 1.17 90/11/08 17:02:40 william Exp $
  .TH TGIF 1 "Version 1.13 and Above" "Tgif"
  .SH NAME
***************
*** 50,55 ****
  See \fBATTRIBUTES\fR section for details.
  .PP
! The output of tgif is in PostScript(TM) form.  Normally, the output
! is printed to /tmp/DRAW.PS and that file is piped to lpr.
  A mode within tgif allows the printout to go to a file with a
  .I \.ps
--- 50,56 ----
  See \fBATTRIBUTES\fR section for details.
  .PP
! The output of tgif is in PostScript(TM) form (color PostScript
! is supported).  Normally, the output
! is printed to /tmp/Tgifa* where * is a number and that file is piped to lpr.
  A mode within tgif allows the printout to go to a file with a
  .I \.ps
***************
*** 79,83 ****
  Tgif supports 20 fill patterns, 20 pen patterns, 7 line widths, 4 line
  styles (plain, head arrow, tail arrow, double arrows) for
! polyline and open-splines, 3 types of text justifications, 4 text
  styles (roman, itatlic, bold, bold-italic), 12 text sizes
  (8, 10, 12, 14, 18, and 24 for the 75dpi fonts and
--- 80,85 ----
  Tgif supports 20 fill patterns, 20 pen patterns, 7 line widths, 4 line
  styles (plain, head arrow, tail arrow, double arrows) for
! polyline and open-splines, 5 dash patterns,
! 3 types of text justifications, 4 text
  styles (roman, itatlic, bold, bold-italic), 12 text sizes
  (8, 10, 12, 14, 18, and 24 for the 75dpi fonts and
***************
*** 100,110 ****
  It displays tgif messages.  Mouse clicks and key presses have no effect.
  .TP
! .I Panel Window
  This is the window to the right of the message window.
  It displays the current choice (in top/bottom, left/right order) of the
! drawing mode, color, horizontal alignment, vertical alignment,
! text justification, font and text rotation, line width, line style, print mode,
! poly or spline, fill pattern, and pen pattern.
! Key presses have no effect.
  .PP
  .RS
--- 102,114 ----
  It displays tgif messages.  Mouse clicks and key presses have no effect.
  .TP
! .I Panel (Choice) Window
  This is the window to the right of the message window.
  It displays the current choice (in top/bottom, left/right order) of the
! drawing mode, color, horizontal alignment (L C R -),
! vertical alignment (T M B -),
! text justification, font, text rotation, line width, line style,
! poly or spline, dash pattern, print mode,
! fill pattern, and pen pattern.
! Key presses have no effect in this window.
  .PP
  .RS
***************
*** 117,120 ****
--- 121,133 ----
  is used; also, icon objects
  will not change because they should be thought of as ``bitmaps''.
+ .PP
+ The settings of the horizontal and vertical
+ alignments determine how objects align with
+ each other when the ^L keyboard command is issued, and they
+ determine how each individual object aligns with the grids
+ when the ^T keyboard command is issued.  The horizontal
+ alignments are left (L), center (C), right (R), and ignore (-).
+ The vertical alignments are top (T), middle (M), bottom (B), and
+ ignore (-).  The best way to understand them is to try them out.
  .RE
  .TP
***************
*** 223,226 ****
--- 236,240 ----
   ^#I	make the selected complex object iconic\br
   ^#J	make the selected icon object a grouped object\br
+  ^#K	select color or black-and-white PostScript output\br
   ^#L	change the text justification to left justified\br
   ^#M	make the selected complex object symbolic\br
***************
*** 232,237 ****
--- 246,253 ----
   ^#S	save the file under a new name\br
   ^#T	change the text style to italic\br
+  ^#U	update iconic representations of selected objects\br
   ^#V	change the drawing mode to oval\br
   ^#W	toggle between poly and spline\br
+  ^#X	select between printer and LaTeX file output\br
   ^#Y	paste from the cut buffer\br
  .DE
***************
*** 341,346 ****
  high, which is the total height of the picture in an-sr-flip-flop.
  
! Notice that the psfile special construct is used.  Encapsulated
! PostScript format is not supported.  Again, \fItgif2ps\fR is
  used to generate the \fI.ps\fR file, so it should be
  installed in the path.
--- 357,361 ----
  high, which is the total height of the picture in an-sr-flip-flop.
  
! Again, \fItgif2ps\fR is
  used to generate the \fI.ps\fR file, so it should be
  installed in the path.
***************
*** 367,371 ****
  .I Tgif*MaxColors: NUMBER
  This specified the maximum number of colors.  Color0 through ColorMax,
! where Max is NUMBER-1 must all exist in .Xdefaults.
  .TP
  .I Tgif*DefaultColorIndex: NUMBER
--- 382,386 ----
  .I Tgif*MaxColors: NUMBER
  This specified the maximum number of colors.  Color0 through ColorMax,
! where Max is NUMBER-1, and they all must exist in .Xdefaults.
  .TP
  .I Tgif*DefaultColorIndex: NUMBER
***************
*** 385,388 ****
--- 400,416 ----
  between two clicked to be recognized as one double-click.
  Default is 300.
+ .TP
+ .I Tgif*MaxDomains: NUMBER
+ This specified the maximum number of domains.  Domain0 through DomainMax,
+ where Max is NUMBER-1, and they all must exist in .Xdefaults.
+ .TP
+ .I Tgif*Domain#: DOMAINSTRING
+ This specified the correspondance between the domain number and a domain name.
+ See the \fBENVIRONMENT\fR section to see how to specify a path associated
+ with a domain.
+ .TP
+ .I Tgif*DefaultDomain: NUMBER
+ This specified the default domain when tgif starts up.
+ Default is 0 if not specified.
  .SH ENVIRONMENT
  .TP
***************
*** 397,400 ****
--- 425,443 ----
  If it starts with a / character, absolute path is used; otherwise,
  the icon file is assumed to be $TGIFPATH/$TGIFICON.
+ .TP
+ .I TGIF_[Domain]
+ For each \fIDomain\fR name defined in the X defaults, \fITGIF_Domain\fR
+ specifies a search path for the symbol files.  Each search path
+ should have the same format as the \fIPATH\fR csh environment variable.
+ For example, to specify the symbol path for domain \fIDEFAULT\fR
+ to look for symbol files in the library directory /tmp/tgif/symbols
+ then in the current directory,
+ the following command should be executed in csh.
+ .br
+ .DS
+ setenv TGIF_DEFAULT /tmp/tgif/symbols:.
+ .br
+ .DE
+ .br
  .SH FILES
  $TGIFPATH/tgificon.obj
***************
*** 417,421 ****
  .SH SEE ALSO
  \fBlatex\fR(1L), \fBlpr\fR(1), \fBenv\fR(1), \fBX\fR(1), \fBtgif2ps\fR(1),
! \fBdvips\fR(1)
  .SH IDIOSYNCHRASIES
  When any of the ``escape to Prolog'' commands are accidentally
--- 460,464 ----
  .SH SEE ALSO
  \fBlatex\fR(1L), \fBlpr\fR(1), \fBenv\fR(1), \fBX\fR(1), \fBtgif2ps\fR(1),
! \fBdvips\fR(1), \fBcsh\fR(1)
  .SH IDIOSYNCHRASIES
  When any of the ``escape to Prolog'' commands are accidentally
***************
*** 432,439 ****
  settings are ignored.
  .SH BUGS
- The directory where tgif is started is considerd the root
- directory of the tgif session.  The user is not allowed to
- change directory beyond the root.
- .PP
  Text does not have a background fill pattern.
  .PP
--- 475,478 ----
*** tgif.pl.orig	Wed Dec 12 14:42:02 1990
--- tgif.pl	Wed Dec 12 14:42:03 1990
***************
*** 6,10 ****
  % 4) Trace any other goals.
  %
! % @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/tgif.pl,v 1.5 90/08/27 11:19:13 william Exp $
  %
  
--- 6,10 ----
  % 4) Trace any other goals.
  %
! % @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/tgif.pl,v 1.6 90/11/03 13:29:22 william Exp $
  %
  
***************
*** 48,54 ****
  		_TextStyle,_TextSize,_TextDPI),
  	( OutputObj == true -> call(Obj) ; true ),
! 	FileVersion >= 8,
  	!, abolish(tgif_file_version/1),
  	!, assert(tgif_file_version(FileVersion)).
  
  % --------------------------------------------------------------------- %
--- 48,68 ----
  		_TextStyle,_TextSize,_TextDPI),
  	( OutputObj == true -> call(Obj) ; true ),
! 	FileVersion =< 8,
  	!, abolish(tgif_file_version/1),
  	!, assert(tgif_file_version(FileVersion)).
+ tgif_state(FileVersion,Obj) :-
+ 	(	var(Obj) -> OutputObj = true,
+ 		current_predicate(state,
+ 			state(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_))
+ 	;	OutputObj = false
+ 	),
+ 	Obj = state(_PageStyle,FileVersion,_OrigX,_OrigY,_Zoom,
+ 		_GridSize,_Grid,_Color,_HoriAlign,_VertAlign,_LineWidth,
+ 		_Spline,_LineStyle,_ObjFill,_PenPat,_TextJust,_Font,
+ 		_TextStyle,_TextSize,_TextDPI,_Dash),
+ 	( OutputObj == true -> call(Obj) ; true ),
+ 	FileVersion >= 9,
+ 	!, abolish(tgif_file_version/1),
+ 	!, assert(tgif_file_version(FileVersion)).
  
  % --------------------------------------------------------------------- %
***************
*** 103,107 ****
  	current_predicate(tgif_file_version,tgif_file_version(_)),
  	tgif_file_version(FileVersion),
! 	FileVersion >= 8, !,
  	( var(Obj) -> OutputObj = true ; OutputObj = false ),
  	Obj = box(_Color,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat,_Id,
--- 117,121 ----
  	current_predicate(tgif_file_version,tgif_file_version(_)),
  	tgif_file_version(FileVersion),
! 	FileVersion =< 8, !,
  	( var(Obj) -> OutputObj = true ; OutputObj = false ),
  	Obj = box(_Color,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat,_Id,
***************
*** 109,112 ****
--- 123,135 ----
  	( OutputObj == true -> call(Obj) ; true ),
  	tgif_attrs(AttrList).
+ tgif_box(Obj) :-
+ 	current_predicate(tgif_file_version,tgif_file_version(_)),
+ 	tgif_file_version(FileVersion),
+ 	FileVersion >= 9, !,
+ 	( var(Obj) -> OutputObj = true ; OutputObj = false ),
+ 	Obj = box(_Color,_X1,_Y1,_X2,_Y2,_ObjFill,_LineWidth,_PenPat,_Id,_Dash,
+ 		AttrList),
+ 	( OutputObj == true -> call(Obj) ; true ),
+ 	tgif_attrs(AttrList).
  
  % --------------------------------------------------------------------- %
***************
*** 123,127 ****
  	current_predicate(tgif_file_version,tgif_file_version(_)),
  	tgif_file_version(FileVersion),
! 	FileVersion >= 8, !,
  	( var(Obj) -> OutputObj = true ; OutputObj = false ),
  	Obj = oval(_Color,_LeftTopX,_LeftTopY,_RightBotX,_RightBotY,_ObjFill,
--- 146,150 ----
  	current_predicate(tgif_file_version,tgif_file_version(_)),
  	tgif_file_version(FileVersion),
! 	FileVersion =< 8, !,
  	( var(Obj) -> OutputObj = true ; OutputObj = false ),
  	Obj = oval(_Color,_LeftTopX,_LeftTopY,_RightBotX,_RightBotY,_ObjFill,
***************
*** 129,132 ****
--- 152,164 ----
  	( OutputObj == true -> call(Obj) ; true ),
  	tgif_attrs(AttrList).
+ tgif_oval(Obj) :-
+ 	current_predicate(tgif_file_version,tgif_file_version(_)),
+ 	tgif_file_version(FileVersion),
+ 	FileVersion >= 9, !,
+ 	( var(Obj) -> OutputObj = true ; OutputObj = false ),
+ 	Obj = oval(_Color,_LeftTopX,_LeftTopY,_RightBotX,_RightBotY,_ObjFill,
+ 		_LineWidth,_PenPat,_Id,_Dash,AttrList),
+ 	( OutputObj == true -> call(Obj) ; true ),
+ 	tgif_attrs(AttrList).
  
  % --------------------------------------------------------------------- %
***************
*** 153,157 ****
  	current_predicate(tgif_file_version,tgif_file_version(_)),
  	tgif_file_version(FileVersion),
! 	FileVersion >= 5, !,
  	( var(Obj) -> OutputObj = true ; OutputObj = false ),
  	Obj = poly(_Color,_NumVs,_Vs,_LineStyle,_LineWidth,_PenPat,_Id,_Spline,
--- 185,189 ----
  	current_predicate(tgif_file_version,tgif_file_version(_)),
  	tgif_file_version(FileVersion),
! 	FileVersion =< 8, !,
  	( var(Obj) -> OutputObj = true ; OutputObj = false ),
  	Obj = poly(_Color,_NumVs,_Vs,_LineStyle,_LineWidth,_PenPat,_Id,_Spline,
***************
*** 159,162 ****
--- 191,203 ----
  	( OutputObj == true -> call(Obj) ; true ),
  	tgif_attrs(AttrList).
+ tgif_poly(Obj) :-
+ 	current_predicate(tgif_file_version,tgif_file_version(_)),
+ 	tgif_file_version(FileVersion),
+ 	FileVersion >= 9, !,
+ 	( var(Obj) -> OutputObj = true ; OutputObj = false ),
+ 	Obj = poly(_Color,_NumVs,_Vs,_LineStyle,_LineWidth,_PenPat,_Id,_Spline,
+ 		_ObjFill,_Dash,AttrList),
+ 	( OutputObj == true -> call(Obj) ; true ),
+ 	tgif_attrs(AttrList).
  
  % --------------------------------------------------------------------- %
***************
*** 179,186 ****
  	current_predicate(tgif_file_version,tgif_file_version(_)),
  	tgif_file_version(FileVersion),
! 	FileVersion >= 8, !,
  	( var(Obj) -> OutputObj = true ; OutputObj = false ),
  	Obj = polygon(_Color,_NumVs,_Vs,_ObjFill,_LineWidth,_PenPat,_Spline,
  		_Id,AttrList),
  	( OutputObj == true -> call(Obj) ; true ),
  	tgif_attrs(AttrList).
--- 220,236 ----
  	current_predicate(tgif_file_version,tgif_file_version(_)),
  	tgif_file_version(FileVersion),
! 	FileVersion =< 8, !,
  	( var(Obj) -> OutputObj = true ; OutputObj = false ),
  	Obj = polygon(_Color,_NumVs,_Vs,_ObjFill,_LineWidth,_PenPat,_Spline,
  		_Id,AttrList),
+ 	( OutputObj == true -> call(Obj) ; true ),
+ 	tgif_attrs(AttrList).
+ tgif_polygon(Obj) :-
+ 	current_predicate(tgif_file_version,tgif_file_version(_)),
+ 	tgif_file_version(FileVersion),
+ 	FileVersion >= 9, !,
+ 	( var(Obj) -> OutputObj = true ; OutputObj = false ),
+ 	Obj = polygon(_Color,_NumVs,_Vs,_ObjFill,_LineWidth,_PenPat,_Spline,
+ 		_Id,_Dash,AttrList),
  	( OutputObj == true -> call(Obj) ; true ),
  	tgif_attrs(AttrList).
*** README.orig	Wed Dec 12 14:42:07 1990
--- README	Wed Dec 12 14:42:08 1990
***************
*** 2,6 ****
   * Author:	William Chia-Wei Cheng (william@cs.ucla.edu)
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/README,v 1.3 90/05/25 14:34:11 william Exp $
   */
  
--- 2,6 ----
   * Author:	William Chia-Wei Cheng (william@cs.ucla.edu)
   *
!  * @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/README,v 1.4 90/10/27 17:22:25 william Exp $
   */
  
***************
*** 22,28 ****
  	cp Makefile.noimake Makefile
  	make tgif
!    If you have imake, do the following, (note that the config directory
! 		should be set to wherever you can find Imake.tmpl)
! 	imake -DUseInstalled -I/usr/local/libdata/X11/config -s
  	make tgif
  
--- 22,34 ----
  	cp Makefile.noimake Makefile
  	make tgif
! 
!    If you have imake and xmkmf, do the following,
! 	xmkmf
! 	make tgif
! 
!    If you have imake but don't have xmkmf, do the following,
! 		(note that the config directory should be set to
! 		wherever you can find Imake.tmpl)
! 	imake -DUseInstalled -I/usr/local/libdata/X11/config
  	make tgif
  
*** example.tex.orig	Wed Dec 12 14:42:11 1990
--- example.tex	Wed Dec 12 14:42:12 1990
***************
*** 0 ****
--- 1,40 ----
+ %
+ % @(#)$Header: /n/kona/u/tangram/u/william/X11/TGIF/RCS/example.tex,v 1.1 90/11/06 02:26:33 william Exp $
+ %
+ \documentstyle[12pt]{article}
+ %
+ \oddsidemargin=0in
+ \textwidth=6.5in
+ \topmargin=0in
+ \textheight=609pt
+ \parskip=14pt
+ \setlength{\unitlength}{0.5cm}
+ \begin{document}
+ %
+ Figure \ref{fig:psfig} is an example of a tgif \LaTeX\,\, figure printed with
+ the ``psfig'' macro.  Here is a bunch of random text.
+ %
+ \begin{figure*}[htb]
+ \input{psfig}
+ \centerline{\psfig{figure=an-sr-flip-flop.ps}}
+ \caption{Example Tgif Diagram Printed with ``psfig'' Macro.\label{fig:psfig}}
+ \end{figure*}
+ %
+ Here is another bunch of random text, just to see how it looks on the page.
+ What it should do is to center the picture on the page.  But what does
+ it really do?  We shall see $\ldots$
+ 
+ Figure \ref{fig:an-sr-flip-flop} is an example of a tgif \LaTeX\,\, figure
+ printed with the ``psfile'' macro.  Here is a bunch of random text.
+ %
+ \begin{figure*}[htb]
+ \special{psfile="an-sr-flip-flop.ps" hoffset=-40}
+ \rule{0in}{1.1in}
+ \caption{Example Tgif Diagram Printed with ``psfile'' Macro.
+       \label{fig:an-sr-flip-flop}}
+ \end{figure*}
+ %
+ Here is another bunch of random text, just to see how it looks on the page.
+ What it should do is to center the picture on the page.  But what does
+ it really do?  We shall see $\ldots$
+ \end{document}
*** bitmaps/file.bm.orig	Wed Dec 12 15:26:02 1990
--- bitmaps/file.bm	Wed Dec 12 15:26:41 1990
***************
*** 1,9 ****
! #define file_width 20
! #define file_height 15
  #define file_x_hot 0
  #define file_y_hot 0
  static char file_bits[] = {
!    0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0x20, 0x18, 0x00, 0x20, 0x38, 0x00,
!    0x20, 0x78, 0x00, 0x20, 0x40, 0x00, 0x20, 0x40, 0x00, 0x20, 0x40, 0x00,
!    0x20, 0x40, 0x00, 0x20, 0x40, 0x00, 0x20, 0x40, 0x00, 0x20, 0x40, 0x00,
!    0x20, 0x40, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x00};
--- 1,12 ----
! #define file_width 32
! #define file_height 20
  #define file_x_hot 0
  #define file_y_hot 0
  static char file_bits[] = {
!    0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x02, 0x06, 0x00,
!    0x00, 0x02, 0x0a, 0x00, 0x00, 0x02, 0x12, 0x00, 0x00, 0x02, 0x22, 0x00,
!    0x00, 0x02, 0x7e, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00,
!    0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00,
!    0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00,
!    0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00,
!    0x00, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld0.bm.orig	Wed Dec 12 14:59:35 1990
--- bitmaps/ld0.bm	Tue Oct 30 13:16:24 1990
***************
*** 0 ****
--- 1,19 ----
+ #define ld0_width 64
+ #define ld0_height 20
+ #define ld0_x_hot 0
+ #define ld0_y_hot 0
+ static char ld0_bits[] = {
+    0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld0s.bm.orig	Wed Dec 12 14:59:35 1990
--- bitmaps/ld0s.bm	Tue Oct 30 13:16:25 1990
***************
*** 0 ****
--- 1,12 ----
+ #define ld0s_width 32
+ #define ld0s_height 20
+ #define ld0s_x_hot 0
+ #define ld0s_y_hot 0
+ static char ld0s_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld1.bm.orig	Wed Dec 12 14:59:35 1990
--- bitmaps/ld1.bm	Tue Oct 30 13:16:25 1990
***************
*** 0 ****
--- 1,19 ----
+ #define ld1_width 64
+ #define ld1_height 20
+ #define ld1_x_hot 0
+ #define ld1_y_hot 0
+ static char ld1_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld1s.bm.orig	Wed Dec 12 14:59:36 1990
--- bitmaps/ld1s.bm	Tue Oct 30 13:16:26 1990
***************
*** 0 ****
--- 1,12 ----
+ #define ld1s_width 32
+ #define ld1s_height 20
+ #define ld1s_x_hot 0
+ #define ld1s_y_hot 0
+ static char ld1s_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld2.bm.orig	Wed Dec 12 14:59:36 1990
--- bitmaps/ld2.bm	Tue Oct 30 13:16:26 1990
***************
*** 0 ****
--- 1,19 ----
+ #define ld2_width 64
+ #define ld2_height 20
+ #define ld2_x_hot 0
+ #define ld2_y_hot 0
+ static char ld2_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x78, 0x18, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld2s.bm.orig	Wed Dec 12 14:59:36 1990
--- bitmaps/ld2s.bm	Tue Oct 30 13:16:27 1990
***************
*** 0 ****
--- 1,12 ----
+ #define ld2s_width 32
+ #define ld2s_height 20
+ #define ld2s_x_hot 0
+ #define ld2s_y_hot 0
+ static char ld2s_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x78, 0x78, 0x78, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld3.bm.orig	Wed Dec 12 14:59:36 1990
--- bitmaps/ld3.bm	Tue Oct 30 13:16:27 1990
***************
*** 0 ****
--- 1,19 ----
+ #define ld3_width 64
+ #define ld3_height 20
+ #define ld3_x_hot 0
+ #define ld3_y_hot 0
+ static char ld3_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0xf9, 0x19, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld3s.bm.orig	Wed Dec 12 14:59:37 1990
--- bitmaps/ld3s.bm	Tue Oct 30 13:16:28 1990
***************
*** 0 ****
--- 1,12 ----
+ #define ld3s_width 32
+ #define ld3s_height 20
+ #define ld3s_x_hot 0
+ #define ld3s_y_hot 0
+ static char ld3s_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0xf9, 0xf9, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/ld4.bm.orig	Wed Dec 12 14:59:37 1990
--- bitmaps/ld4.bm	Tue Oct 30 13:16:28 1990
***************
*** 0 ****
--- 1,19 ----
+ #define ld4_width 64
+ #define ld4_height 20
+ #define ld4_x_hot 0
+ #define ld4_y_hot 0
+ static char ld4_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0x9f, 0xf9, 0x9f, 0xf9, 0x9f, 0xf9, 0x1f, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x3c, 0x3c, 0x3c,
+    0x3c, 0x3c, 0x3c, 0x3c};
*** bitmaps/ld4s.bm.orig	Wed Dec 12 14:59:37 1990
--- bitmaps/ld4s.bm	Tue Oct 30 13:16:29 1990
***************
*** 0 ****
--- 1,12 ----
+ #define ld4s_width 32
+ #define ld4s_height 20
+ #define ld4s_x_hot 0
+ #define ld4s_y_hot 0
+ static char ld4s_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xf8, 0x9f, 0xf9, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/null.bm.orig	Wed Dec 12 15:01:05 1990
--- bitmaps/null.bm	Tue Sep  4 09:37:35 1990
***************
*** 0 ****
--- 1,7 ----
+ #define null_width 8
+ #define null_height 16
+ #define null_x_hot 0
+ #define null_y_hot 0
+ static char null_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00};
*** bitmaps/nullmask.bm.orig	Wed Dec 12 15:26:06 1990
--- bitmaps/nullmask.bm	Wed Dec 12 15:26:41 1990
***************
*** 4,7 ****
  #define nullmask_y_hot 0
  static char nullmask_bits[] = {
!    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
!    0x00, 0x00, 0x00, 0x00};
--- 4,7 ----
  #define nullmask_y_hot 0
  static char nullmask_bits[] = {
!    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
!    0xff, 0xff, 0xff, 0xff};
*** bitmaps/rotate_0.bm.orig	Wed Dec 12 15:01:04 1990
--- bitmaps/rotate_0.bm	Tue Oct 30 16:21:06 1990
***************
*** 0 ****
--- 1,12 ----
+ #define rotate_0_width 32
+ #define rotate_0_height 20
+ #define rotate_0_x_hot 0
+ #define rotate_0_y_hot 0
+ static char rotate_0_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x30, 0x18, 0x00,
+    0x00, 0x0c, 0x61, 0x00, 0x00, 0x04, 0x41, 0x00, 0x00, 0x82, 0x83, 0x00,
+    0x00, 0x82, 0x83, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01,
+    0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+    0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x04, 0x40, 0x00,
+    0x00, 0x0c, 0x60, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0xc0, 0x07, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/rotate_180.bm.orig	Wed Dec 12 15:01:04 1990
--- bitmaps/rotate_180.bm	Tue Oct 30 16:21:07 1990
***************
*** 0 ****
--- 1,12 ----
+ #define rotate_180_width 32
+ #define rotate_180_height 20
+ #define rotate_180_x_hot 0
+ #define rotate_180_y_hot 0
+ static char rotate_180_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x30, 0x18, 0x00,
+    0x00, 0x0c, 0x60, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x02, 0x80, 0x00,
+    0x00, 0x02, 0x80, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+    0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01,
+    0x00, 0x82, 0x83, 0x00, 0x00, 0x82, 0x83, 0x00, 0x00, 0x04, 0x41, 0x00,
+    0x00, 0x0c, 0x61, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0xc0, 0x07, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/rotate_270.bm.orig	Wed Dec 12 15:01:04 1990
--- bitmaps/rotate_270.bm	Tue Oct 30 16:21:08 1990
***************
*** 0 ****
--- 1,12 ----
+ #define rotate_270_width 32
+ #define rotate_270_height 20
+ #define rotate_270_x_hot 0
+ #define rotate_270_y_hot 0
+ static char rotate_270_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x30, 0x18, 0x00,
+    0x00, 0x0c, 0x60, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x02, 0x80, 0x00,
+    0x00, 0x02, 0x80, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x31, 0x00, 0x01,
+    0x00, 0xfd, 0x01, 0x01, 0x00, 0x31, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
+    0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x04, 0x40, 0x00,
+    0x00, 0x0c, 0x60, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0xc0, 0x07, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/rotate_90.bm.orig	Wed Dec 12 15:01:04 1990
--- bitmaps/rotate_90.bm	Tue Oct 30 16:21:09 1990
***************
*** 0 ****
--- 1,12 ----
+ #define rotate_90_width 32
+ #define rotate_90_height 20
+ #define rotate_90_x_hot 0
+ #define rotate_90_y_hot 0
+ static char rotate_90_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x30, 0x18, 0x00,
+    0x00, 0x0c, 0x60, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x02, 0x80, 0x00,
+    0x00, 0x02, 0x80, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x18, 0x01,
+    0x00, 0x01, 0x7f, 0x01, 0x00, 0x01, 0x18, 0x01, 0x00, 0x01, 0x00, 0x01,
+    0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x04, 0x40, 0x00,
+    0x00, 0x0c, 0x60, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0xc0, 0x07, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
*** bitmaps/special.bm.orig	Wed Dec 12 15:01:05 1990
--- bitmaps/special.bm	Tue Oct 30 16:29:15 1990
***************
*** 0 ****
--- 1,12 ----
+ #define special_width 32
+ #define special_height 20
+ #define special_x_hot 0
+ #define special_y_hot 0
+ static char special_bits[] = {
+    0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x20, 0x08, 0x00,
+    0x00, 0x10, 0x10, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x08, 0x20, 0x00,
+    0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x10, 0x00,
+    0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00,
+    0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x03, 0x00,
+    0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00};
---------------------------------> 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 		      Zyrcom Inc
Senior Writer			       President
argv@ora.com			argv@zipcode.com