%表題   基本グラフィックルーチンライブラリ
%
%履歴
%\Drireki{
%         91/05/20 酒井 敏
%         91/09/05 林祥介
%         92/04/22 林祥介   (4.1版)
%         94/04/04 酒井敏, 塩谷雅人
%        }
%
%  \Dchapter{SWPACK : コントロールルーチン}
\Dchapterhead

\section {概要}

SWPACK は GRPH1 のライブラリの中の機械依存ルーチンをまとめたもので,
最下位に位置するものである.
SWPACK では, 上位インターフェイスの規格のみ定められており,
実際の動作や内部の構造は各種のデバイスによって異なる.
\vspace{1em}

SWPACK の機能には「基本機能」と「拡張機能」があり,
基本機能はすべてのデバイスにおいて実現される (と仮定している) が,
拡張機能はデバイスによって実現できないものもある.

\begin{itemize}
  \item {\bf 基本機能}
    \begin{itemize}
      \item 線画機能 (線の太さか色のどちらかが変えられること)
    \end{itemize}
  \item {\bf 拡張機能}
    \begin{itemize}
      \item ハードフィル機能 (ハードウェアによる網かけ)
      \item イメージ表示機能 (ドット単位の描画)
      \item ポインティング機能 (マウスなど)
    \end{itemize}
\end{itemize}

上位ルーチンは拡張機能が使えない場合があることを想定して,
コーディングされなければならない.
これらの機能が使えるかどうかは,
SWPACK の問い合わせルーチンを通して取得できる.
\vspace{1em}

GRPH1 のレベルでは,
線の太さと色はデバイスの能力によって切替えられる.
また, ハードフィルのできないデバイスでは,
ソフトフィルによる網かけに自動的に変更する.
\vspace{1em}

イメージ表示機能とポインティング機能に関しては代替処置がないので,
これらの機能を使う時には注意が必要である.
\vspace{1em}

なお, SWPACK では機種依存内部変数を \SWPGETSET
(整数・実数・論理型) および {\tt SWCGET/SWCSET} (文字型)によって
参照/変更することができる.
ただし, \SWPGETSET および {\tt SWCGET/SWCSET} の
管理する内部変数は,
デバイスのオープン時にすべて読み込まれて,
その後は参照されないので,
{\bf {\tt SWPSET} および {\tt SWCSET} は {\tt SGOPN} の前に
呼ばなければならない.}
\vspace{1em}

\ref{swpack.swpget}節には, 電脳ライブラリが標準的に提供する図形出力装
置(Xサーバー, ポストスクリプト, テクトロ端末)に対する内部変数に
関する説明がある. 
どのような内部変数が定義されているかはシステムに依存する.
