5.1 概要

SZPACK ではポリラインやテキストといった各図形要素をすべて 折れ線とトーンに分解する. したがって SZPACK には, 折れ線とトーン描画の2系統の基本描画ルーチンがあり, その上位にSGPACK の各プリミティブに対応するインターフェイスルーチンが ある.

折れ線とトーンの基本描画ルーチンは両方とも, オープンとクローズの間で必要な座標点を指定する構造になっており, 最上位の U 座標系のルーチンから最下位の R 座標系のルーチンまで, 座標変換やクリッピングの処理単位ごとのルーチンが用意されている.

上位のインターフェイスルーチンも, オープンとクローズのルーチンがあって, その間で呼ばれる描画ルーチン (基本描画ルーチンのオープンからクローズまでをひとまとめにしたもので, SGPACK の各プリミティブに対応する.) が用意されている. この上位インターフェイスのオープンのタイミングで, 各プリミティブの属性設定などの初期化が行なわれ, SWPACK の SWOOPN (オブジェクトのオープン) が呼ばれる. クローズのタイミングでは SWOCLS (オブジェクトのクローズ) が呼ばれる.

SGPACK の各ルーチンは, 基本的に1つのプリミティブ毎にオープンとクローズを行なうが, 同じ属性のプリミティブを多数描画する際には, このオープンとクローズの処理にかかる時間が無視できなくなる場合がある. そのような場合には, SZPACK の上位インターフェイスルーチンを使って, 1回のオープンとクローズの間に, 複数のプリミティブを描画するようにすることで高速化が図れる.