SLPACK : レイアウトルーチン

概要

これは,装置に依存した図形出力表示面を分割して, 1画面のうちに互いに重なり合わない複数の ワークステーションビューポートを設定できるようにした サブルーチンパッケージである.

本パッケージは,次のような主要サブルーチンからなる.

  • SLINIT ... 初期化をおこなう.
  • SLSIZE ... A4, B4などの紙の大きさで作画範囲を設定する.
  • SLFORM ... 縦横の実長で作画範囲を設定する.
  • SLDIV  ... 画面の分割をおこなう.
  • SLMGN  ... マージンをとる.
  • SLRAT  ... 縦横比を指定してマージンをとる.
  • SLSTTL ... タイトルを設定する.
  • まず,SLINITを呼ぶことにより最大作画範囲を設定する. ただしSLINITSGOPN ([here]参照)の 中で呼ばれるので, ユーザーが直接呼ぶ必要はない. この作画可能な最大領域を第1レベル目のフレームという. SLPACKのほかのルーチンを呼ばなければ,このフレームが ワークステーションビューポートとなる. さらに,SLSIZE, SLFORMによってこの第1レベルの フレームを具体的な実長を持った大きさで再設定することもできる.

    次に,SLMGNでこのフレームにマージン(余白部分)をとることができる. マージンをとった内側が新しいフレームとなる. SLRATによって,フレームの縦横比を指定して マージンをとることもできる. 第1レベルのフレームに限って,このマージン部分に文字列(タイトル)を 描くことができる. この文字列の設定は,SLSTTLによっておこなう.

    1ページの中に2つ以上のワークステーションビューポートを設定する場合, サブルーチンSLDIVを呼ぶことにより第1レベル目のフレームを分割する. このときワークステーションビューポートを設定してゆく順序 および分割数を指定する. ここで,分割された各部分を第2レベルのフレームという. 再びSLMGNまたはSLRATを呼ぶことによって, 第2レベルのフレームすべてについてマージンをとることができる. SLDIVによる分割は2回まで可能である;すなわち第3レベルのフレームまで 設定することができる. SGFRM ([here]節参照)はこうやって設定したフレームを ワークステーションビューポートと考えて,つぎつぎと作画領域を定義してゆき 必要に応じて改ページの動作もおこなう.

    基本的にこれらのルーチンはSGOPNと最初に呼ばれるSGFRMの 間で呼ばなければならない.ただしSLSTTLSGFRMのあとでも呼 ぶことができて,これは次の改ページのタイミングで有効となる.

    その他に, GRPH1の管理する情報にしたがって作画境界を実線枠あるいは コーナーマークを使って描くサブルーチンがある.

  • SLPVPR ... ビューポートの境界を描く.
  • SLPWWR ... ワークステーションウインドウの境界を描く.
  • SLPWVR ... 最大作画領域の境界を描く.
  • SLPVPC ... ビューポートの4隅を描く.
  • SLPWWC ... ワークステーションウインドウの4隅を描く.
  • SLPWVC ... 最大作画領域の4隅を描く.
  • なお,SLPACKが用いる内部変数は SGpGET/SGpSETが管理している.

    内部的には,SLBLK1という名前の共通ブロックを使用している. ユーザーは同じ名前の外部手続き名・共通ブロック名を用いてはならない.


    Back to Main


    Latex Source


    地球流体電脳倶楽部 : 95/6/9 (Version 5.0)

    NUMAGUTI Atusi <a1n@gfdl.gov>
    Last Modified: Thu Aug 31 13:06:16 EDT 1995