                        Visual Interface Library
                                Ｖ Ｉ Ｌ
                                Ver.3.00
                         リファレンスマニュアル




§１  ＶＩＬ概要

  ＶＩＬ（Visual Interface Library）とは，Ｆ−ＢＡＳＩＣ３８６のプログラ
ムでマルチウィンドウ表示／マウス・パッド入力などのユーザ・インタフェース
を実現するための，サブルーチン集です。

  最近のＴＯＷＮＳ用アプリケーションでは，こうしたインタフェースを用意す
るものが多くなっています。Ｈｉｇｈ−Ｃではこうした機能がライブラリとして
提供されるため，プログラマは作成中のプログラムから関数を呼び出すだけで済
みます。しかし，Ｆ−ＢＡＳＩＣ３８６にはそんな便利なものは用意されていな
いので，インタフェースのルーチンを自分で組む必要があります。

  ＶＩＬはＢＡＳＩＣ上でＣのライブラリに相当するものを実現しようとして作
ったものです。もちろんＢＡＳＩＣのサブルーチンはＣの関数ほど独立性が高く
なく，パラメータの渡し方が複雑になるなどの問題はあるのですが，Ｆ−ＢＡＳ
ＩＣ３８６では

    ・ラベルがサポートされたため，サブルーチンを名前で呼び出すことがで
      き，RENUM の影響を受けずにすむ。

    ・変数名が４０字まで区別されるため，ＶＩＬ内の全変数名を"VIL_"で始め
      ることで，疑似的にローカル変数（と言えるほどのものではないが）を実
      現できる（少なくとも呼び出し側との変数名衝突回避が容易になる）。

    ・高速な３２ビット機上で動作するため，パラメータ設定やサブルーチン呼
      び出し，長い変数名などのオーバヘッドがほとんど無視できる。

等の理由から，充分実用になると思います。

　設計方針として，

    ・本ライブラリを使用して作成するアプリケーションとしては，非アクショ
      ン系のゲーム，およびパターンエディタなどのツール類を想定。

    ・したがって速度より機能優先だが，快適なレスポンスは保証する

というふうに考えています。高機能かつある程度の効率のよさを確保しようとし
たため，本ライブラリのプログラミング上のインタフェースは，若干複雑なもの
になっています。したがって，思うように使いこなすにはある程度の知識と慣れ
が必要ですが，使い込めばＣで記述したものに劣らないアプリケーションを作成
することができます。

　現バージョンでは以下の機能が実現されています。

    ・スタック型の疑似マルチウィンドウ
      複数のウィンドウをオーバラップして開くことができる。ただし，上下関
      係を入れ替えたり，下になっているウィンドウに描画したりはできない。

    ・マウス／パッド／キーボードによるメニュー選択入力
      キーボード／パッド入力はキー割り当てのカスタマイズ可能。

    ・キーボードによる文字列入力機能
      INPUT 文を使わないためサイドワークや割り込みが有効。また，日本語入
      力も可能。ヒストリー機能も持つ。

    ・ウィンドウマネージャ
      ウィンドウの枠・スイッチ描画，各ウィンドウの位置管理，ドット単位の
      オープン／クローズ／移動／サイズ変更などが可能。操作はマウス／パッ
      ド／キーボードに対応。



