戻る|進む
DCL:GRPH1:SGPACK : ユーザーインターフェイス
2.1 概要
SGPACK は GRPH1 の他のパッケージを統合し,
ユーザーに使いやすいインターフェイスを提供するものである.
SGPACK には, デバイスやページの制御などを行なうコントロールルーチン,
座標変換の設定ルーチン, 図形の基本要素 (出力プリミティブ) を作画する
ルーチンなどがある.
出力プリミティブとしては次のものがある.
- ポリライン(polyline) : 折れ線.
- ポリマーカー(polymarker) : マーカー列.
- テキスト(text) : 文字列.
- トーン(tone) : 多角形のぬりつぶし.
このほか, 補助的に次のプリミティブがある.
- ライン(line) : 線分.
- アロー(arrow) : 矢印.
これら6つのプリミティブのうち, トーンプリミティブ以外の5つは
すべて線分で構成される.
トーンプリミティブは出力装置の能力に応じて,
hard fillまたはsoft fillを切替えて多角形のぬりつぶしをおこなう;
soft fillは斜線を引くことによって実現される.
また, GRPH1では各プリミティブを
ユーザー座標系(U座標系), 仮想直角座標(V座標系),
および正規直角座標(R座標系)で定義できる
6つの出力プリミティブには次のような属性がある.
- 1.
- ポリラインプリミティブについては,
- 2.
- ポリマーカープリミティブについては,
- マーカーの種類.
- マーカーを描く線のラインインデクス.
- マーカーの大きさ.
- 3.
- テキストプリミティブについては,
- 文字の高さ.
- 文字列の回転角.
- 文字列のセンタリングオプション.
- 文字を描く線のラインインデクス.
- 4.
- トーンプリミティブについては,
- 5.
- ラインサブプリミティブについては,
- 6.
- アローサブプリミティブについては,
- 矢印の軸部分の線種.
- 矢印の軸部分のラインインデクス.
これらの属性は個別に指定することもできるし,
すべて同時に指定することもできる
(2.6, 2.7, 2.8,
2.9, 2.10節参照).
各プリミティブを定義するメソッド(元サブルーチン)名の命名規約は
以下のようになっている.
- 1.
- 先頭の2文字はすべてSGで始まる.
- 2.
- 属性を設定/参照する場合,
3文字目はs (set)/ q (query)である.
- 3.
- 各プリミティブの名前がそれに続く. それぞれ,
- pl : ポリラインプリミティブ.
- pm : ポリマーカープリミティブ.
- tx : テキストプリミティブ.
- tn : トーンプリミティブ.
- ln : ラインサブプリミティブ.
- la : アローサブプリミティブ.
- 4.
- プリミティブを定義(出力)するルーチンについて, 属性を同時に指定する
場合はzが続く.
- 5.
- さらにプリミティブをどこに定義するかによって,
u (U座標系で定義する), v (V座標系で定義する)
またはr (R座標系で定義する)が続く.
- 6.
- プリミティブの属性を定義/参照する場合,
6文字目はその属性を示す.
- t : ラインタイプ, マーカータイプ.
- i : ラインインデクス.
- s : マーカーサイズ, 文字の高さ.
- r : 文字列の回転角.
- c : 文字列のセンタリングオプション.
- p : トーンパターン.