ANYPLT
Simple Graphics Interface


ANYPLT is a FORTRAN90 library which provides an interface between a FORTRAN90 program and a variety of graphics packages.

The idea is outdated now, but at the time, I was trying to make it possible to define a simple graphic interface routine that would allow me to run the same program on a variety of machines and environments without having to worry about the details of the particular graphics package that was available.

The interface consisted of a single subroutine, with a single argument, whose value indicated the graphics action desired. Any data required to carry out the indicated command was supplied indirectly, by setting certain variables in a COMMON block.

This idea was helpful for me for a time. Once I stopped needing to do graphics in so many environments, I quit developing the package, and it has started to suffer 'data rot'. Nonetheless, I keep it around in fond memory of the time when it was so helpful.

At one time or another, I had developed the following interfaces:

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

ANYPLT is available in a FORTRAN90 version.

Related Data and Programs:

DISLIN, C programs which illustrate the use of DISLIN, a scientific graphics package.

PS_WRITE, a FORTRAN90 library which can be used to create PostScript image files.

TTYPLT, a FORTRAN77 library which creates simple typewriter graphics images of mathematical data.

The NUL Interface

The NUL interface was the easiest to design. The idea was that the NUL device was a fake device that did nothing, and the interface was a dummy routine with the right name that would keep the compiler happy. The purpose of the NUL device was to allow me to compile and load a graphics program when I didn't actually want any graphics. So the program could merrily call the ANYPLT routine all it wanted, but the graphics information was never sent anywhere.

The BUG Interface

The BUG interface was the second easiest to design. The idea was that the BUG device was a fake device that simply recorded all the calls to the graphics interface routine by writing the data to a file. This would allow me to debug a malfunctioning program by intercepting the graphics calls.

The CGM Interface

The CGM interface was designed to interact with the DRAWCGM package, a graphics package developed at the Pittsburgh Supercomputing Center, which could output graphics in CGM format, but also in PostScript or X Windows as well.

The MAC Interface

The MAC interface was designed to interact with (a very early model) of the Macintosh computer, using the Absoft Fortran compiler, and an assembly language package called TOOLBOX.SUB, which I couldn't find if I wanted to now.

The PS Interface

The PS interface was designed to output a PostScript image.

The TTY Interface

The TTY interface was designed to output ridiculously crude "teletype" or "typewrite" graphics.

Examples and Tests:

You can go up one level to the FORTRAN90 source codes.


Last revised on 29 December 2010.