next up previous contents
Next: RUNNING SPECX Up: INSTALLING SPECX Previous: Documentation   Contents

Choice of graphics package

From V6.2 on, SPECX offers a choice of graphics backends: as supplied SPECX V6.2 has backends for native MONGO83 and MONGO87, as well as a further backend for both native and (RAL) GKS PGPLOT. These backends offer a standard interface to graphics routines via the SXG library. Where desirable features are missing from one or other of the graphics packages they are supplied, as far as possible, in this library.

With any luck, this will make it much easier now to adapt SPECX to any other graphics packages that you might like to use, although usually there are compromises to be made: the MONGO interfaces for example do not allow full use to be made of SPECX's greyscaling and colour plotting facilities. This shift to `graphics-package independence' is also the first step in porting SPECX from VMS to other environments, most urgently Sun-Unix.

This choice of graphics packages complicates the installation procedure slightly. At present the default graphics library is Tim Pearson's PGPLOT, with GKS device drivers, as supplied to Starlink by RAL. If you need to use another supplied library then you first need to recompile it and insert the object modules into an object library, as described in the remainer of this section. You will then need to modify the appropriate line in sys_specx:link.com to pick up the alternative library from [specx.lib.graphics] (the default is
[specx.lib.graphics]specx_pgplog_gks.olb).

It may be necessary to modify the routines SXGTERMDEV, SXGPRINTDEV and SXGDEVICE in the appropriate graphics package interface library. This is most likely to be true initially for various versions of PGPLOT. Unfortunately different sites often use different names for their PGPLOT device drivers. Since SPECX needs to know things about the different devices that can not be obtained from the various enquiry routines, an interface routine is required to set various parameters for each device. This routine is called SXGDEVICE; SXGTERMDEV and SXGPRINTDEV merely specify which are for immediate (terminal) output and which are hardcopy devices.

In this case the procedure specified above should be prefaced as follows:

One or other of the source files listed above will provide a good start should it prove necessary to link SPECX with some altogether different graphics package instead.


next up previous contents
Next: RUNNING SPECX Up: INSTALLING SPECX Previous: Documentation   Contents
Jamie Leech 2004-08-16