LEGALESE ~~~~~~~~ Copyright (c) 1995 Ilya Zakharevich. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. You should have received a copy of the Perl license along with Perl; see the file README in Perl distribution. You should have received a copy of the GNU General Public License along with Perl; see the file Copying. If not, write to the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. You should have received a copy of the Artistic License along with Perl; see the file Artistic. Author of this software makes no claim whatsoever about suitability, reliability, edability, editability or usability of this product, and should not be kept liable for any damage resulting from the use of it. If you can use it, you are in luck, if not, I should not be kept responsible. Keep a handy copy of your backup tape at hand. WHAT ~~~~ This module is intended for low-resolution or high-resolution graphics using gnuplot low-level functions. Documentation is at the start of the .pm file. INSTALL ~~~~~~~ You may need to edit LIBS line in Makefile.PL, and INC and CFLAGS lines in gnuterm/Makefile.PL (as based on the included platform-specific makefiles and READMEs in ./gnuterm directory), but if you do not wish to support platform-specific terminals, this should work: perl Makefile.PL make make test (Check whether you are satisfied with the result.) make install By default, the following libs are tried to be found: -L/usr/openwin/lib -lX11 -lm -lsocket -lvga -llinuxvga \ -lgd -lpng -lz -ljmgraph -lvesa You may change this by putting TRY_LIBS=new_specs on the command line of Makefile.PL. (Say, I needed to remove -lgd since the header file gd.h was for a newer version of gd than the library, and Term::Gnuplot could not determine the version of gd correctly.) If you needed some changed, and can automate them, please send patches to the address below. Currently the defines HAVE_LIBGD, HAVE_LIBPNG, LINUXVGA, EMXVESA are automatically set to reasonable values. X11 and DEBUG terminals are always included. Gnuplot 3.7 would also use AMIGA ATARI MTOS _Macintosh DJGPP __ZTC__ PC NEXT APOLLO GPR IRIS MGR RGIP SCO SUN UIS UNIXPC UNIXPLOT GNUGRAPH DEBUG Note that for some term types (such as X11, or PM) additional binaries are needed. They should be available if gnuplot is already installed on your system. AUTHOR BUGS ~~~~~~~~~~~ Ilya Zakharevich ilya@math.ohio-state.edu CHANGES ~~~~~~~ 0.2: Test added. 0.3: Part of gnuplot3.5 distribution included to make it into turnkey installation, tested on OS/2, Solaris. 0.4: list_terms() added; interactive test for different terminals; 0.41: change_term_address(), term_tbl_address() added; 0.5: uses Gnuplot 3.6pre built 340 (with a tiny patch, included); change_term returns 1 on success, 0 on failure; 0.51: Does not need any change to Gnuplot source files. 0.55: Updated to latest Gnuplot.h from PARI 2.0.13 (with do_init => init). setpointsize works now. set_gnuplot_fh() removed, replaced by plot_outfile_set(). Updated to version 3.7. stdfn.c needed too... setpointsize(0.25) instead of pointsize(). GD terminal was coring, since it required calling option before plot. 0.56: Better docs, DEBUG terminal. Setup a line buffer for options() so that gnuplot error reporting works better. New functions plotsizes_scale(), term_init(), term_start_plot(), term_end_plot(), term_start_multiplot(), term_end_multiplot(). New C API setup_gpshim(). POD for Terminals. 0.5601: syscfg.h was not \n-terminated SET_OUTFILE() had wrong precedence of `,'. 0.57: Updated to 3.7.1. Gnuplot.h from PARI 2.0.17 used. New Makefile.PL option TRY_LIBS. 0.5701: New function _term_descrs(), hash %description. A primitive support for direct-to-Tk drawing: create Tk canvas $c, call Term::Gnuplot::setcanvas($c), then use 'tkcanvas' terminal with option 'tkperl_canvas'. (Size is determined at the moment of doing set_options().) 0.5702: Add a check for gdCreateGif too; setcanvas was not exported; Change TERM_PUBLIC to 'extern' for our private functions in tkcanvas.trm. Make Tk serve events while in test.pl. BUGS with tkcanvas tests: Not realistic charcell/ticks sizes; $ptk_canvas->delete($ptk_canvas->find('all')) if $ptk_canvas; segfaults; thus the canvas is not cleared between the iterations. 0.5703: $ptk_canvas->delete('all') works. Go figure... Refcount the canvas. Off by one and 2 errors in the size of plotting area fixed. Same for offsets of plotting area (including borders). New make target gnuterm_dynamic to make loadable-at-runtime DLL. Now queries the font size and calculates ticks accordingly. Erase the canvas between builtin and Perl tests.