2.9 サブルーチンの説明 : トーンプリミティブ

多角形閉領域のぬりつぶし図形出力(tone primitive)に関するサブルーチン群.



出力装置の能力に応じて, hard fillまたはsoft fillを切替える. 内部変数'LSOFTF' (2.4.4節参照)が .TRUE.のときはsoft fillをおこなう; .FALSE.のときはhard fillをおこなう (初期値は.FALSE.). ただし, hard fillを指定してもその能力がない場合は soft fillとなる.

また, 色を用いたべた塗り(下位3桁が999であるようなトーンパターン番号) による塗りわけをおこなうとき, 色番号をドットなどのパターン番号として 読みかえることができる. 内部変数'LCL2TN' (2.4.4節参照)が .TRUE.のときは読みかえる; .FALSE.のときは読みかえない (初期値は.FALSE.). ただし, 色を用いた塗りわけができないような装置では, 'LCL2TN'.FALSE.と設定されていても, パターン番号による読みかえをおこなおうとする.

すでに描かれた図形の上にsoft fillをおこなってもトーンパターンが上書き されるだけで, それまでに描かれた図形が(べた塗りをしない限り)消えてしま うことはない. しかしながら, 出力装置によってはhard fillによるぬりわけによって 先に描かれた図形が消えてしまうことがあるので, ほかの図形出力と一緒にトーンプリミティブを用いるときは 描く順番に注意すること.



以下のサブルーチンの説明で, 多角形を定義する頂点の座標 (PX(i), PY(i)) ( i=1,N ) (これらはU/V/R座標系で指定できる)に関しては, 次のように解釈される. (PX(1), PY(1))と(PX(N), PY(N))は 同一な点である必要はない. つまり, (PX(i), PY(i))と (PX(i+1), PY(i+1)) (i=1,N-1 ) および (PX(N), PY(N))と(PX(1), PY(1))を結んだ 閉領域をぬりつぶす.



現在サポートされているサブルーチン群は, 内部的に確保している作業領域の制約から座標値を与える配列の長さNは 256以下でなければならない.