DCL:GRPH1:SLPACK: Layout Routines
This is a subroutine package that enables you to set multiple workstation viewports in a single screen by dividing the machine-dependent graphics display area.
The main subroutines contained in this package are the following.
By first calling slinit, the frame is set to the maximum size. However,
since slinit is called internally in sgopn (see Section 2.4.1),
the user does not have to call it directly. This maximum-sized frame is called
the level-1 frame. If no other routines in the SLPACK is called, this frame will
be the workstation viewport. Furthermore, by using slsize or slform,
the level-1 frame can be reset to preferred dimensions.
Next, margins (blank borders) of a frame can be set using slmgn. The
new frame will be the area inside the margins. By slrat, you can set
margins by specifying the aspect ratio. Text (titles) can be placed
in the margins only in level-1 frames. The text is set using slsttl.
To have more than 2 workstation viewports in a page, call subroutine sldiv
to divide the level-1 frame. You must specify the order and the number of
sections of the workstation viewport. Each section is called the level-2 frame.
By calling slmgn or slrat again, margins can be set for all
level-2 frames. A frame may be divided using sldiv up to 2 times. In
other words, the highest level of frames is level-3. The sgfrm (See
Section 2.4.2) treats the frames set by the above
method as workstation viewports, and defines the frames consecutively, placing
page breaks when necessary.
Basically, these routines must be called between the routine sgopn called
first and sgfrm. However, slsttl can be called after sgfrm,
and this becomes effective after the next page break.
There is also a subroutine for drawing the frame border using solid lines or
corner marks according to the information managed by GRPH1.
The internal variables used by SLPACK is handled by sgpget/sgpset.
Internally, these subroutines use a COMMON block named the slblk1. The
user must not use an external procedure or a COMMON block with this name.