From gregor@kafka.saic.com Tue Apr  7 21:24:49 1992
Return-Path: <gregor@kafka.saic.com>
Received: from kafka.saic.com by ra-next.arc.nasa.gov (NeXT-1.0 (From Sendmail 5.52)/NeXT-1.0)
	id AA01805; Tue, 7 Apr 92 21:24:46 PDT
Received: by kafka.saic.com (4.1/SMI-4.1)
	id AA28518; Tue, 7 Apr 92 21:34:46 PDT
Date: Tue, 7 Apr 92 21:34:46 PDT
From: gregor@kafka.saic.com (gregg hanna)
Message-Id: <9204080434.AA28518@kafka.saic.com>
To: woo@ra-next.arc.nasa.gov
Subject: New terminal mode for gnuplot.
Cc: gregor@kafka.saic.com
Status: R

Included in this shar is a patch and new files which provide a
new terminal type called 'xlib' (for x11-library mode).  The xlib
is like the x11 mode modified so that the commands previously
sent to the gnuplot_x11 driver are instead put into the output
file.  In addition, the gnuplot_x11.c file has been rewritten to
be a callable function, which will read a xlib file and draw the
described graph in a drawable.

The following files are included:

	xlib.trm - A copy of x11.trm, modified to use the
		normal output file instead of a pipe.

	gnulib_x11.c - A rather severe rewrite of gnuplot_x11.c,
		as well as a few functions used to interface
		into the user code.

	gnulib_x11.h - Specs for user callable routines.

	xlibtest.c - a test program written in Motif, it will
		run gnuplot and build a xlib output file, then
		plot that on the screen.  Resizing the window
		will redraw the plot, scaled appropriately,
		without re-running gnuplot.

	xlibtest.demo - the gnuplot command to draw the test plot.

	makefile.xlib - minimal make file for the xlibtest program

The following patch is included:

	term.patch - Patch to 'term.c' which adds the specification
		for 'xlib' and includes the 'xlib.trm' file.

These changes were made relative to gnuplot3p2b6, and the patch
is in unified diff format.  Please drop me a line if you would like
it in a different format or relative to a different revision level.

To get full use out of the xlib mode, the file gnulib_x11.c needs
to be covered by the alternate GPL for libraries, since the gnulib.o
file must be linked into the user's executable.  Until that is
the case, I will (of course) treat the file as covered by the GPL,
meaning that I cannot include the gnulib_x11 drawing routines in my
software.

The 'xlib' mode provides functionality similar to the 'xpm' terminal
mode I sent earlier.  The 'xlib' mode is *much* faster, the disk
files are smaller, and plots are re-sizable.  The only advantage
of the 'xpm' mode is that XPM format files are more transportable.
This would seems to be less important since there is a ppm terminal
mode.

I'm quite excited about this mode, since it allows executing software
the ability to generate gnuplot plots quickly while integrating the
output into it's own display.  I hope you will consider it for
a future gnuplot release and, at that time, consider the LGPL
option.  I would appreciate knowing your views on the subject, since
I would like to use the 'xlib' mode in my company's software.

Thanks for a great program!

                                         gregg hanna
                                         gregor@kafka.saic.com

--------cut-here---------------cut-here----------------cut-here----------
