Control routines

Initialization

                         +----------------------+
                         | CALL  IGINIT (NWHIGZ) |
                         +----------------------+
                                  

Action: This routine initializes HIGZ. This must be the first function to be used in the HIGZ package.

Parameter Description:

NWHIGZ
Minimal ZEBRA dynamic space in memory for the HIGZ division; A value of 0, indicates that allocation will be done automatically. NWHIGZ must be less than NWORDS-5000 where NWORDS is the size of the common block PAWC (see below).

The ZEBRA memory allocation must be defined in the application program with the common block:

      COMMON/PAWC/RPAW(NWORDS)

If HIGZ is used outside the context of PAW the routine MZPAW must be called in the main program in order to initialize the ZEBRA package [bib-ZEBRA], before calling IGINIT. Note that packages like HBOOK[bib-HBOOK], HPLOT[bib-HPLOT], PAW[bib-PAW] and KUIP[bib-KUIP] call MZPAW directly and therefore the user should not issue such a call. These packages store dynamic structures in the same common /PAWC/.

      CALL MZPAW(NWORDS,'M')

Termination

                             +--------------+
                             | CALL  IGEND   |
                             +--------------+
                                  

Action: This routine terminates HIGZ. This must be the last call to be issued in a HIGZ session. IGEND deactivates and closes all open workstations. It also closes the basic graphics package by calling IDAWK, ICLWK, ICLKS.

Graphic package control

                       +--------------------------+
                       |CALL  IGSSE (IERRF,KWTYPE) |
                       +--------------------------+
                                  

Action: In general, the initialization of the underlaying graphics package consists in several calls to different routines, in order to set the environment parameters. For user's convenience and for most applications, IGSSE initializes the standard graphic package environment. In particular, the default primitives attributes and the default window, viewport, workstation window and workstation viewport are initialized. Sophisticated applications may need to call the specialized basic control routines, namely IOPKS, IOPWK, IACWK, ISWKWN and ISWKVP, instead of using IGSSE. IGSSE opens only a single workstation.

Parameter Description:

IERRF
Error file logical unit number.
KWTYPE
Workstation type. See the description of IOPWK section [more info].
IGSSE calls the following routines:
IOPKS
See section [more info].
IOPWK(1,KONID,KWTYPE)
See section [more info].
IACWK(1)
See section [more info].
Note that KONID is initialized in IGSSE depending on the underlying graphics package used. In general KONID is set to 1. In addition, the workstation window and viewport are also initialized in IGSSE as follows:
     CALL ISWKWN(1,0.,1.,0.,1.)
     CALL ISWKVP (1,0.,XMAX,0.,YMAX)
where XMAX and YMAX are the screen dimensions in pixels. In addition, the following primitives attributes (see details below) are initialized:

        +-+-Attributes-names----------+-Default-values---------+-+
        +-+---------------------------+------------------------+-+
        | | Polyline colour index     | 1                      | |
        | | Line type                 | 1                      | |
        | | Line width                | 1.0                    | |
        | | Polymarker colour index   | 1                      | |
        | | Marker type               | 1                      | |
        | | Marker scale factor       | 1.0                    | |
        | |                           |                        | |
        | | Fill area colour index    | 1                      | |
        | | Fill area interior style  | 0                      | |
        | | Fill area style index     | 1                      | |
        | | Character height          | 0.01                   | |
        | | Character up vector       | 0.0,1.0                | |
        | | Text alignment            | 0,0                    | |
        | |                           |                        | |
        | | Text font and precision   | 0,2                    | |
        | | Text colour index         | 1                      | |
        | | Clipping indicator        | 1                      | |
        +-+-GKS-Aspect-source-flag----+-Individual-attributes--+-+
                                  
In addition to this initialization role, IGSSE, when it is used in the context of the Telnetg program, allows to open the connection between the remote machine and the local one even if the X Window System is not available. This is done by giving to IGSSE the negative value of the local workstation type.

Display control

Many terminals provide different modes: for example a Tektronix emulation mode (or graphics mode) and a VT100 emulation mode (or alphanumeric mode). Some terminals have (additionally) two overlayed screens: a graphics screen and an alphanumeric screen (or dialog scroll). If a Fortran input is requested, the operating system generally displays a prompt (for example ``CMS READ''), which belongs to the alphanumeric screen in VT100 emulation mode. HIGZ provides two functions to switch between these modes and to enable Fortran input and output. In some systems (e.g. IBM's VM/CMS) it is essential that all Fortran input/output be performed in alphanumeric mode, else an abend will occur.

Graphic mode

Alphanumeric mode

                                
        +------------------+                  +------------------+
        |CALL  IGSG (KWKID) |                  |CALL  IGSA (KWKID) |
        +------------------+                  +------------------+
               
Action: This routine takes the Action: This routine takes the terminal back into graphics mode and terminal out of graphics mode into enables graphics input/output. This alphanumeric mode. On terminals like task is in general performed Pericom Graphics the bell is rung automatically by all the basic and the user has to press the graphics routines. key to continue. Parameter Description: Parameter Description:
KWKID
KWKID
Workstation identifier Workstation identifier