これは, 装置に依存した図形出力表示面を分割して, 1画面のうちに互いに重なり合わない複数の ワークステーションビューポートを設定できるようにした サブルーチンパッケージである.
本パッケージは, 次のような主要サブルーチンからなる.
まず, SLINITを呼ぶことにより最大作画範囲を設定する.
ただしSLINITはSGOPN (2.4.1参照)の
中で呼ばれるので,
ユーザーが直接呼ぶ必要はない.
この作画可能な最大領域を第1レベル目のフレームという.
SLPACKのほかのルーチンを呼ばなければ, このフレームが
ワークステーションビューポートとなる.
さらに, SLSIZE, SLFORMによってこの第1レベルの
フレームを具体的な実長を持った大きさで再設定することもできる.
次に, SLMGNでこのフレームにマージン(余白部分)をとることができる.
マージンをとった内側が新しいフレームとなる.
SLRATによって, フレームの縦横比を指定して
マージンをとることもできる.
第1レベルのフレームに限って, このマージン部分に文字列(タイトル)を
描くことができる.
この文字列の設定は, SLSTTLによっておこなう.
1ページの中に2つ以上のワークステーションビューポートを設定する場合,
サブルーチンSLDIVを呼ぶことにより第1レベル目のフレームを分割する.
このときワークステーションビューポートを設定してゆく順序
および分割数を指定する.
ここで, 分割された各部分を第2レベルのフレームという.
再びSLMGNまたはSLRATを呼ぶことによって,
第2レベルのフレームすべてについてマージンをとることができる.
SLDIVによる分割は2回まで可能である;すなわち第3レベルのフレームまで
設定することができる.
SGFRM (2.4.2節参照)はこうやって設定したフレームを
ワークステーションビューポートと考えて, つぎつぎと作画領域を定義してゆき
必要に応じて改ページの動作もおこなう.
基本的にこれらのルーチンはSGOPNと最初に呼ばれるSGFRMの
間で呼ばなければならない. ただしSLSTTLはSGFRMのあとでも呼
ぶことができて, これは次の改ページのタイミングで有効となる.
その他に,
GRPH1の管理する情報にしたがって作画境界を実線枠あるいは
コーナーマークを使って描くサブルーチンがある.
なお, SLPACKが用いる内部変数は SGpGET/SGpSETが管理している.
内部的には, SLBLK1という名前の共通ブロックを使用している.
ユーザーは同じ名前の外部手続き名・共通ブロック名を用いてはならない.