PGPLOT version 5.1.0 Tested Systems Version 5.1.0 has been tested with the following operating systems and compilers. Drivers tested include: GI, GL, NU, PP, PS, TT, VT, WD, X2, XM, XW (but not all combinations of drivers and systems have been tested exhaustively). * SunOS 4.1.3_U1, Sun Fortran (f77) 1.3.1, GNU C (gcc) 2.7.0 (tested on SPARC 5). * Solaris 2.5 (SunOS 5.5), Sun Fortran (f77) 3.0.1, Sun C (cc) 3.0.1 (tested on SPARC IPX). * Solaris 2.5 (SunOS 5.5), Sun Fortran (f77) 3.0.1, GNU C (gcc) 2.7.2 (tested on SPARC IPX, SPARC Ultra-1). * OpenVMS AXP V6.1, DEC FORTRAN V6.2, DEC C V4.0, DECwindows Motif 1.1 (tested on DEC 3000/M600). * OpenVMS VAX V6.1, DEC FORTRAN V6.2, DEC C V4.0, DECwindows Motif 1.2 (tested on VAXstation 4000-90). Changes in Version 5.1.0 New Features 1. A major change in this version allows a program to have more than one PGPLOT device open at once. The devices can be of the same type, e.g., two windows on an X-window workstation, or of different types, e.g., a Tektronix terminal emulator and a PostScript file. Up to 8 devices may be open at once. To support this new feature, four new routines have been added: PGOPEN, PGQID, PGSLCT, and PGCLOS, and many routines have been modified internally. At present, support for multiple devices of the same type is not complete. Each PGPLOT device driver needs to be modified to support multiple devices of the same type (i.e., served by the same driver), or to explicitly prohibit opening more than one device. Some of the older drivers have not yet been modified, and these drivers may give incorrect results if you attempt to use them to open two devices. There should never be any problem with unlike devices served by different drivers, e.g., /XTERM and /PS. 2. A new driver (xmdriv) and support routines have been provided by Martin Shepherd to facilitate use of PGPLOT in a Motif application. Note that this is an experimental driver: feedback would be appreciated. 3. The C function prototypes (cpgplot.h) and C binding are now compatible with C++ as well as C. Bugs Fixed A bug has been fixed in GRPOCL (support routine for PGPOLY). This could cause overflow and incorrect plots if the world-coordinate values were greater than about 1E18 (on most machines). A rounding-error has been fixed in GRFA (support routine for PGPOLY); this could cause gaps between polygons that should abut. A bug has been fixed in GRPIXL (support routine for PGPIXL); this should improve speed. Two bugs have been fixed in the X-window driver (XWDRIV): it would sometimes cause color maps to be set incorrectly; it allowed only 255 colors, not 256. Drivers Removed The following device drivers have been moved into directory pgplot/drivers/old, and cannot be selected in a normal installation. I believe that no-one is still using these drivers: ardriv.f (Args image display), grdriv.f (Grinnell image display), ikdriv (Ikon pixel engine), lidriv (Liacom display), pkdriv.f and pzdriv.f (Peritek image displays), vedriv.f (Versatec V80 printer). ---------------------------------------------------------------------------- List of Changes pgplot aaaread.me, copyright notice, makedoc, makehtml Updated date and version number. drivers.list Added XMDRIV (Motif driver). Do not select this unless you have the necessary Motif support and plan to write Motif applications that call PGPLOT. Removed obsolete drivers as noted above. makemake Added new subroutines. Added targets pgplot.hlp (VMS help file); pgplot-routines.tex (LaTeX); pgmdemo (example Motif application). Name changes: pgdisp is now pgdispd (directory); pgview is now pgview.app (NeXT). makehelp (New file.) Script to generate VMS help file. maketex (New file.) Script to generate LaTeX documentation. pgdispd Changed name of directory from pgdisp to pgdispd to avoid problems if you try to compile PGPLOT in the source directory. ver510.txt (New file.) List of changes since previous version. pgplot/cpg cpgdemo.c Added a third page to exercise more routines. cpgplot.h Deleted file (note that this file needs to be created as part of the installation). pgbind.c Added C++ wrapper to the generated cpgplot.h file. Added support for const qualified declarations in the function prototypes. pgplot/drivers gidriv.f, ppdriv.f, psdriv.f, ttdriv, wddriv.f, x2driv.c Modified to prevent concurrent access. gidriv.f, ppdriv.f, psdriv.f, wddriv.f On some systems the decoding of environment variables PGPLOT_xx_WIDTH, HEIGHT failed owing to a bad Fortran format. Rewritten to avoid this problem. nudriv.f Modified to allow concurrent access (up to 8 devices). xmdriv.c, pgxwin.c, pgxwin.h New files: PGPLOT driver for Motif applications (from Martin Shepherd). xwdriv.c Fix bug in handling query-color-representation. pgxwin_server.c Fix bug: 256 colors allowed, not 255. pgplot/drivers/old New directory: several obsolete drivers (and associated drivers.list) have been moved from pgplot/drivers into this directory. These drivers should not be used; contact Tim Pearson if you still have a need for any of them. pgplot/drivers/xmotif New directory: support routines and example program for Motif applications. pgplot/examples Some of the example programs have been modified to use PGOPEN/PGCLOS instead of PGBEG/PGEND. pgdemo1.f Changed the pseudo-random number generator to avoid integer overflows. pgdemo6.f `+' key now cycles between cursor modes (rubber-band, cross-hair, etc.) pgdemo13.f (New program) Demonstration of two open devices. pgdemo14.f (New program) This program demonstrates a method of coding a user interface in PGPLOT. It requires the /XSERV device. For a more professional approach to graphical user interfaces, consider using the PGPLOT Motif driver. pgplot/src (Many pg routines) Changed the C function prototypes to use the const qualifier where appropriate. This makes it easier to use the function prototypes with C++. Most arguments declared float * or char * are now const float * or const char * (except for returned values). grpckg1.inc Modified to allow up to 8 concurrent devices. grfa.f Rounding-error fix (thanks to Remko Scharroo; twice). grinit.f New routine: initializes common block (avoids BLOCK DATA). grpixl.f Minor bug fix (Remko Scharroo). grpocl.f Rewrite to avoid potential overflow (thanks to Tomasz Plewa). pgplot.inc Modified to allow up to 8 concurrent devices; many variables changed from scalars to arrays, with new names. pgask.f, pgband.f, pgbbuf.f, pgbeg.f, pgbox.f, pgcirc.f, pgebuf.f, pgend.f, pgerrb.f, pgerrx.f, pgerry.f, pggray.f, pghi2d.f, pgiden.f, pgimag.f, pglen.f, pgmtxt.f, pgncur.f, pgnoto.f, pgpage.f, pgpanl.f, pgpap.f, pgpoly.f, pgptxt.f, pgqah.f, pgqch.f, pgqcir.f, pgqcs.f, pgqfs.f, pgqhs.f, pgqinf.f, pgqitf.f, pgqtbg.f, pgqtxt.f, pgqvp.f, pgqvsz.f, pgqwin.f, pgrect.f, pgsah.f, pgsch.f, pgscir.f, pgsfs.f, pgshs.f, pgsitf.f, pgstbg.f, pgsubp.f, pgsvp.f, pgswin.f, pgvsiz.f, pgvstd.f, pgvw.f, pgwnad.f Modified to allow multiple concurrent devices. pgclos.f (New routine.) Closes the currently selected graphics device. pginit.f (New internal routine.) Initialize PGPLOT (this is to avoid an illegal initialization of data in COMMON). pgopen.f (New routine.) Open (and select) a graphics device; unlike PGBEG, this does not close any previously opened device. pgqid.f (New routine.) Returns the identifier of the currently selected graphics device, for use with PGSLCT. pgslct.f (New routine.) Selects one of the open devices for graphics output. pgqinf.f Changed version number to 5.1.0. pgshs.f Added checks on validity of arguments. pgplot/sys_* Changes to configuration files to support compilation of the Motif driver and example programs. pgplot/sys_arc Contents of directory updated for version 5.1.0 by Dave Crennell. See file AAAREADME. pgplot/sys_linux The current version of gcc does not require system-specific variants of any files. The variants for f2c have been moved into a subdirectory pgplot/sys_linux/f77_src and the configuration files have been modified accordingly. pgplot/sys_mac Contents of directory updated for version 5.0.3 by J. S. Salmento. See file aaaread.me. pgplot/sys_msdos Contents of directory updated for version 5.1.0 by C. T. Dum. See file aaaread.me. pgplot/sys_next Contents of directory updated for version 5.1.0 and NeXtStep 3.0 by Allyn Tennant. Configuration file for GNU Fortran (g77) added. See file aaaread.me. pgplot/sys_sol2 Added -R options to the ld commands in the configuration files; these help the demo programs to find the PGPLOT shared library at run time (assuming you haven't moved it after compilation.) pgplot/sys_sun4 Changed version number from 1.7 to 1.8 in all .conf files. pgplot/sys_vms build.com, compile.com Added new routines to shared library transfer vector. Added instructions for linking with Motif library when needed. grlgtr.f This routine formerly converted all PGPLOT device specifications to uppercase for VMS. It now preserves case (VMS file and device names are not case-sensitive, but some PGPLOT device specifications can be). install.com Added new target (pgmdemo) to compile/install the Motif demonstration program. make_cpg.com Corrected to use the version of cpgplot.h in the current directory; set correct protection on generated files. make_pgdisp.com Changed name of directory from PGDISP to PGDISPD. make_pgmdemo.com (New file.) Used in compilation of the Motif example program. pgplot/sys_win New directory: from Phil Seeger. Port of version 5.1.0 to MS PowerStation Fortran/Windows95 (or WindowsNT) environment. See file aaaread.me. ---------------------------------------------------------------------------- Tim Pearson, California Institute of Technology, tjp@astro.caltech.edu Copyright © 1996 California Institute of Technology