A common requirement is for the values of certain Application Program
parameters to be altered via the use of Command Input. It is therefore useful
for the present settings of such parameters to be visible to the User so that
they can decide whether they need alteration or not. A similar requirement
is for the action corresponding to a particular command to be to present to
the User some information (e.g. a histogram or list of values). Such
information should not be destroyed by the display of the next Menu. These
requirements are met through the use of several regions on the terminal
display screen, called Viewports. One viewport will normally be dedicated to
the display of the Menus (although this may be inhibited if so desired),
while other viewports may be used to show additional information required
in order to decide what action to take, or the response to a previous Command.
A viewport is a rectangular region on the display surface. It can be of any
size and aspect ratio, within the limitations of the screen dimensions, and it
may overlap other viewports. What happens when two viewports overlap is highly
application program dependent, but given the appropriate conventions may
provide a ``windowing" environment.
UIPACK supports two types of Viewport, Text and Graphics. The latter are only
supported when the Graphics Version of UIPACK is linked to (see Appendix B).
Each Viewport is assigned a unique ID (in the range 0-255), where for each ID
the Application Program may create either or both of the corresponding Text and
Graphics Viewports. The sizes and positions of the Text and Graphics Viewports
having the same ID need not correspond.
Creation and management of Viewports is independent of the
current mode of operation of UIPACK and thus it is possible to use UIPACK
in prompted mode whilst utilising Graphics Viewports for the display of any
Application Program information (e.g. Events or Histograms). However, when
using either ViewText, ViewCursor or Graphics Mode of Operation, UIPACK
uses Viewports for the display of Menus and Help Information. Several Viewports
are therefore assigned by UIPACK for this purpose, the Application Programmer
being able to specify their sizes and positions, but not being able to delete
them.
A set of Subprograms is available whereby an Application Programmer may
define Viewports, specify their size and position, direct text and/or graphics
to them.