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
- 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.
- 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.
- 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.