GrWin グラフィクス・ライブラリ

Version 0.99.9b

Copyright (C) 1998 - 2003 Tamaribuchi, Tsuguhiro

tamari@spdg1.sci.shizuoka.ac.jp

http://spdg1.sci.shizuoka.ac.jp/grwinlib/

目次

  1. はじめに
  2. 利用可能な環境
  3. インストールとアンインストール
  4. grwnd.exe について
  5. PGPLOT ドライバ
  6. ライブラリのリンク
  7. ダウンロード
  8. 配布ファイル
  9. 本バージョンについて
  10. 著作権と免責,利用,再配布について
  11. 更新履歴


  1. はじめに
  2. 「GrWin グラフィクス・ライブラリ」は Windows Xp/2000/NT/Me/9x 上で利用できる Fortran と C/C++ のためのフリーなグラフィクス・ライブラリです。 MinGWCygwin などのプログラミング環境とともにこのライブラリを用いることで, Windows プログラミングについての知識や経験が全くない人でも Windows (x86) プラットフォーム上でのフリーなグラフィクス・プログラミングを手軽に楽しむことができます。 また, 最近フリーなコマンドライン・コンパイラーとして公開された Open Watcom C/C++ and Fortran 1.0Borland C++ Compiler 5.5( bcc ),Digital Mars C/C++ Compilers( dmc ),さらに AT&T UWIN 3.x や,市販の Intel(R) C++/Fortran Compiler 7.1( Intel ) や Microsoft Visual C++ Version 6.0( vcpp ),Compaq (旧 Digital) Compaq Visual Fortran Version 6 にも対応しています。対応する Fortran コンパイラを持たない bcc,dmc や, Fortran コンパイラが別製品として市販されている Intel や vcpp でも,C のコンパイラさえあれば f2c( Fortran 77 から C への翻訳プログラム )を使った Fortran 77 によるグラフィクス・プログラミングが可能です。

    「GrWin グラフィクス・ライブラリ」は主に,シミュレーションや数値計算などの導入教育や科学技術計算で必要となる数値データの可視化(含,アニメーション,対話処理),さらに教育現場での教材作成などを想定して開発されていますが, 高品位な印刷ができることから出版用原図の作成などへの利用も考えられます。

    一般的に,Xwindow や Windows などのようなウィンドウをベースとした本格的なアプリケーションの開発には,オブジェクト指向やイベント駆動といったある程度専門的な知識や発想が必要であるといわれています。 また,Xwindow や Windows 上でグラフィクス表示を前提にすると,簡単な文字列を表示するだけでも,旧来の文字ベースのユーザーインターフェース(CUI)によるプログラミングに比べるとかなり煩雑な手続きが必要となってしまい,これらは計算機科学を専門としない人たちにとっては少々敷居の高いものといえます。

    このライブラリの特徴の一つは,マルチ・ウィンドウや対話処理に対応しながら,CUI をそのまま残した点にあり,グラフィクス表示やイベント処理は grwnd.exe という独立したプログラムにより行われます。 本ライブラリによるグラフィクス・プログラミングは,DOS上のグラフィクス・プログラミングやプロッタ用のプログラミングがそうであったように,少数のグラフィクス出力用のルーチンをコールするだけでグラフィクス表示を行うことが可能で,イベント駆動的な発想は不要です。 つまり,プログラムの実行の流れに沿った自然な発想でグラフィクス表示を行うことができるので,Windows のプログラミングに不慣れな人たちやプログラミングの初学者にとっても理解が容易であると期待できます。

    また,Fortran や C で書かれた(コンソール)アプリケーションにこのライブラリをリンクしても,READ/WRITE 文やprintf 関数などによる標準の入出力はアプリケーションを起動したコマンドプロンプト(Windows Me/9x の場合は DOS プロンプト)に割当てられたままで,グラフィクス以外の部分には全く影響を与えません。 つまり,数値出力を行うプログラムが完成している場合には,グラフィクス表示や対話処理の部分のみを書き加えることで,既存のプログラムを最初から書き直すことなしに比較的容易にグラフィクス対応の対話型のプログラムに変更することができます。

    さらに,本ライブラリは Win32 API のさまざまなオブジェクトもサポートしていて,たとえば,さまざまな線の種類や太さに加えて TrueType フォントも使えますし,メタファイル形式でのファイル出力が可能なので、MS-Word など、メタファイル形式での図形入力をサポートしている多くのアプリケーションのデータに結果を容易に貼り付けることができます。また,ビットマップ・ファイルの取り込みやクリップ・ボードへの貼り付けも可能です。 得られた結果の印刷には,グラフィクス対応のプリンタならほとんどすべての機種が使えるはずで,そのプリンタの能力に応じた高品質の出力結果が得られることから,研究結果の清書用などにも広く使えることでしょう。

    本ライブラリはまた,C++ で書かれた本格的なオブジェクト指向のプログラムでも使えますし,Windows 本来のグラフィクス・ベースのユーザーインターフェース(GUI) をもった Windows アプリケーションにリンクして使うこともできます。

    本ソフトウェア群はもともと,理工系大学の計算機科学を専門としない学生を対象とした学生実習などで利用する目的で開発された(開発中の)ものです。 しかし,これまで述べてきた特徴から考えると,高校や中学での実習や教材作成,さらに Windows のさまざまな機能を利用したアプリケーションを手軽に作成したい人々にとっても利用価値があるのではと期待しています。



  3. 利用可能な環境
  4. AT 互換機 (いわゆる DOS/V 機) で, Windows Xp/2000/NT/Me/9x (x86) の何れかの OS が動作している環境。

    開発に当って,学生や生徒が個人で利用したり,多人数で利用しても経費の問題のないフリーな処理系で利用できることを第一条件としました。 現在のところ, 付加的な dll を必要とせず,単独で動作可能な Windows アプリケーションの作成が可能な MinGW (最新版は MinGW-2.0 )を主な開発対象としていて, Cygwin (最新版は Cygnus Cygwin 1.3.x )や, MinGW や Cygwin の旧版に対応する GNU-Win32gcc-2.95.2-mingw32gcc-2.95.2-cygb20 と uwin (最新版は AT&T UWIN 3.x)+ gcc-2.95.2-uwin にも対応しています。 また,最近フリーなコマンドライン・コンパイラーとして公開された Open Watcom C/C++ and Fortran 1.0Borland C++ Compiler 5.5Digital Mars C/C++ Compilers,市販の Intel(R) C++/Fortran Compiler 7.1 や Microsoft Visual C++ Version 6.0, Compaq (旧 Digital) Compaq Visual Fortran Version 6 でも利用できます。さらに,Intel(R) C++, Borland C/C++, Microsoft Visual C++, Digital Mars C/C++ 用の f2c ライブラリ(Fortran 77 のソースを C または C++ に変換して使用するためのもの)も用意されていますので,これらの環境で Fortran コンパイラを所有していない場合でも Fortran 77(f77)によるグラフィクス・プログラミングが可能です。

    なお,グラフィクス表示を行うための grwnd.exe と,本ライブラリを用いて作成された(コンソール)アプリケーションが NEC-PC98 シリーズでも動作することを旧版で一部確認しましたが,コンパイラーを含む Mingw32 や Cygwin や UWIN が NEC-PC98 シリーズで利用できるかどうかについては未確認です。 また,旧版でサポートしていた Windows NT3.51 についてはこのバージョン(以降も)では対応しませんので,動作するかどうかについても未確認です。

    GrWin で利用できるコンパイラ・システムとコマンド名
    利用できるコンパイラ・システム 省略名 *1 FORTRAN C / C++ f2c フリー 備考
    MinGW-2.0 MinGW g77 gcc / g++ ×
    Cygnus Cygwin 1.3.x cygwin g77 gcc / g++ ×
    Open Watcom C/C++ and Fortran 1.0 watcom wfl386 wcl386 ×
    Borland C++ Compiler 5.5 bcc × bcc32
    Digital Mars C/C++ Compilers dmc × sc
    Intel(R) C++/Fortran Compiler 7.1 Intel ifl icl × *2
    Microsoft Visual C++ Version 6.0 vcpp × cl ×
    Compaq Visual Fortran Version 6 vf df × × ×
    gcc-2.95.2-mingw32 (MSVCRT) mingw32m g77 gcc / g++ × *3
    gcc-2.95.2-mingw32 (CRTDLL) mingw32 g77 gcc / g++ × *3
    gcc-2.95.2-cygb20 cygb20 g77 gcc / g++ × *4
    gcc-2.95.2-uwin / AT&T UWIN 3.x uwin g77 gcc / g++ × *5
    *1 GrWin 関連文書中で便宜的に使う省略名です。
    *2 C++ と Fortran は別製品,評価版あり
    *3 Mumit Khan による MinGW の旧版( ここからもダウンロードできます。)
    *4 Cygwin の旧版
    *5 教育・研究ライセンスあり。複数のコンパイラを使用できるが,GrWin は gcc-2.95.2 のみに対応。


  5. インストールとアンインストール
  6. 「GrWin グラフィックス・ライブラリ」は多くのコンパイラに対応していますが, ここでは付加的な dll を必要とせず,単独で動作可能な Windows アプリケーションの作成が可能で, しかもフリーな MinGW-2.0 を使用する場合に限定して説明します。 MinGW の使い方についてここに日本語情報があります。 MinGW-2.0 を使わない場合には以下の b. は読み飛ばしてください。 GrWin で利用できるほかのコンパイラ・システムについては「利用可能な環境」を参照してください。

    インストール先や実行コマンドなど,自分の環境に合わせて自由にアレンジ可能ですが, 何をやっているかがよくわからない方は以下の手順を忠実に実行してください。

    a. エディタの準備
    b. MinGW-2.0 のインストールとアンインストール
    c. 「GrWin グラフィックス・ライブラリ」のインストールとアンインストール
    d. f77chk について
    e. サンプル・プログラムの実行

    a. エディタの準備

    エディタとは,プログラム(ソース・コード)を打ち込んだりプログラムを修正したりするときに使うプログラムのことです。 Windows には「メモ帳(notepad.exe)」という簡易エディタがついているのでそれを使うこともできますが, 機能もあまりなく,多くの人にとって使いやすいものとはいえないでしょう。 エディタは,プログラミングを行う際に使用時間の最も長いものになりますので, この際ぜひ自分のお気に入りのエディタを入手して手になじませておいてください。 市販やシェアウェアのエディタはいろいろありますが,ここでは, フリー・ソフトでなかなか使いやすいものを二つほど紹介しておきます:
    TeraPad: http://www2s.biglobe.ne.jp/~t-susumu/toclip/library/tpad.html

    サクラエディタ: http://members.tripod.co.jp/sakura_editor/

    b. MinGW-2.0 のインストールとアンインストール

    MinGW-2.0 を使わない場合は c. に進んでください。
    1. まず, MinGW の配布元から必要なファイルを取り寄せます。 使用目的に応じて個別のパッケージをダウンロードすることもできますが, 自信のない人は必要なものすべてが 一つのファイルに圧縮されたもの( 2003.06.01 現在の最新版は MinGW-2.0.0-3.exe)をダウンロードして,どこでもよいので適当なフォルダ( C:\tmp )に保存してください。 MinGW-2.0.0-3.exe はインストーラ付の実行ファイルですので,実行して指示に従うだけで MinGW システムのインストールが一応終了し,この段階で, GNU-C/C++ や GNU-Fortran のコンパイラなど,ソースファイルから実行ファイルを生成するためのすべてのファイルが整ったことになります。ただし,ファイルがインストールされた場所(フォルダ)をコンピュータが認識していませんのでこのままでは使えないことに注意して,以下を熟読してください。

      以下では MinGW-2.0.0-3.exe の実行時の指示に従って, MinGW システムを C:\MinGW にインストールしたものとして説明を続けます。 ほかのディレクトリにインストールした場合には C:\MinGW を自分の環境にあわせて読み替える必要があります。

      ダウンロードしたファイル MinGW-2.0.0-3.exe はこれで用済みですので消去しても差し支えありませんが, ディスク容量に余裕がない場合を除いて,再インストールが必要になったときのためにどこかに保存しておくことをお勧めします。

    2. MinGW は基本的にコマンド・プロンプト(Windows Me/9x では DOS プロンプト)で使用しますので, インストール・フォルダに作成されたサブフォルダ bin に「パスを通す」設定を行う必要があります。 パスを通すというのは,コマンドが実行される際にそのコマンドに対応する実行ファイル(*.exe)やバッチファイル(*.bat)がどこにあるか(これは,インストールを行ったあなたしか知りません)を OS に教えることです。 方法はいくつかありますが,ここでは OS の種類に依存しない方法を紹介します。 まずエディタで,mingw.bat というファイル名で内容が

      PATH=C:\MinGW\bin;%PATH%

      の1行だけのバッチ・ファイルをインストール・フォルダ( C:\MinGW )に作成します。 正しく作成できたかどうかは

      C:\MinGW>type C:\MinGW\mingw.bat
      PATH=C:\MinGW\bin;%PATH%

      C:\MinGW>

      で確認できます。確認ができたらこれで MinGW システムのインストール作業は一応終了です。 コマンド・プロンプトを開いたらその都度 C:\MinGW\mingw を1回打ち込むことで, そのコマンド・プロンプト上で MinGW を使うことができます。

    3. MinGW システムが正しくインストールできているかを確認するために, インストール作業で使用したコマンド・プロンプトのウィンドウを閉じてから, 新たに別のコマンド・プロンプト・ウィンドウを開きます。 まずパス設定のためのバッチ・ファイル mingw.bat を実際に起動してみます:

      C:\MinGW>C:\MinGW\mingw

      C:\MinGW>PATH=C:\MinGW\bin;.....
      ....
      C:\MinGW>

      これで,MinGW が使用可能になったはずです。これを確かめるために 'gcc -v' を打ち込みます:

      C:\MinGW>gcc -v
      Reading specs from C:/MinGW/bin/../lib/gcc-lib/mingw32/3.2/specs
      Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=
      mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable
      -languages=f77,c++,objc,ada --disable-win32-registry --disable-shared
      Thread model: win32
      gcc version 3.2 (mingw special 20020817-1)

      C:\MinGW>

      上のように表示されれば MinGW-2.0 のインストールは無事終了です。

      なお,以上のインストール手順に従った場合,MinGW を使うにはコマンド・プロンプトのウィンドウを開くたびに1度だけですが毎回, C:\MinGW\mingw を打ち込んでパス設定を行う必要があります。 これが面倒な場合には,使用している OS の種類に依存しますが, 次のようにしてパス設定を自動化することもできます:

       (方法1: 推奨)
      デスクトップ,スタート・メニューまたはタスクバーに,MinGW を利用するためのコマンド( DOS )・プロンプトのショートカットを作成(右ボタンでドラッグ)し, その「プロパティー」の設定でスタート時に C:\MinGW\mingw が実行されるように設定します:

      • Windows Xp/2000/NT4 の場合: 「コマンドプロンプトのプロパティー」の「ショートカット」タブで,「リンク先」を

        %SystemRoot%\system32\cmd.exe /k "C:\MinGW\mingw"

        とします。

      • Windows Me/9x の場合: 「MS-DOS プロンプトのプロパティー」の「プログラム」タブで,「バッチファイル」を

        C:\MinGW\mingw.bat

        とします。

      どちらの場合にも,ショートカット名を「MinGW」などとし, プログラム開発を行うフォルダを「作業フォルダ」として設定するとよいでしょう。

       (方法2: Windows Me/9x の場合)
      Windows Me/9x では DOS プロンプトを開くと C:\autoexec.bat が最初に実行されます。したがって C:\autoexec.bat の最後に mingw.bat の内容を加えておけば自動的に MinGW のパスが設定されますので,DOS プロンプトを開いた直後から MinGW を使うことができます。 ただし,この方法では MinGW を使わない場合でも C:\MinGW\bin がパスの先頭に設定されてしまうので,場合によって不具合が生じる可能性があります。

    4. MinGW-2.0 をアンインストールするには,「コントロールパネル」の「アプリケーションの追加と削除」から 'MinGW 2.0.x' を選択して,「変更と削除」ボタンを押してください。

    c. 「GrWin グラフィックス・ライブラリ」のインストールとアンインストール

    GrWin グラフィックス・ライブラリのインストーラ版( lGrWn0999a-XXX.exe; XXX はコンパイラ・システムの省略名) を使ってインストールを行うには,GrWin で利用できるコンパイラ・システムがインストールされていて,利用可能になっている必要があります。 自分のコンピュータにまだコンパイラがインストールされていない場合は前項を参照してください。

    GrWin のインストールは自分の環境に合った GrWin のインストーラをダウンロードして実行するだけです。 どのようなファイルがインストールされるかは「配布ファイル」を参照してください。

    GrWin をアンインストールするには,「コントロールパネル」の「アプリケーションの追加と削除」から 'GrWin 0999b for xxx' を選択して,「変更と削除」ボタンを押してください。

    d. f77chk について

    インストーラをつかって GrWin をインストールすると, perl スクリプト言語で書かれた FORTRAN77 のソースコード・チェッカ f77chkl.pl も自動的に インストールされます。 これにより,perl がインストールされていれば,

    C:\GrWin\demo> f77chk.pl trigfn.f

    などとするだけで,Fortran のソースコードで GrWin ライブラリの各ルーチンが正しい引数の並びで呼ばれているかどうかなどの チェックを行うことができます。コンパイルとリンクの時には何もエラーが出ないのに,実行時にエラーが出て異常終了するときなど, f77chk.pl を使うことでエラー個所を発見できる場合があります。 コンパイルとリンクでエラーが出なくなったら一度 f77chk.pl でチェックを行うことで, プログラム開発の能率が大幅に向上するはずです。 より詳しくは配布ファイル中の f77chk.txt を参照してください。

    e. サンプル・プログラムの実行

    以上でインストールは完了しました。MinGW-2.0 以外の開発環境を使うときには,下の説明で gwf77 や gwgcc などのバッチコマンド名を対応するものに読みかえてください。

    それでは,試しにサンプル・プログラムを動かしてみましょう:

    C:\GrWin>cd demo
    C:\GrWin\demo>gwf77 trigfn
    C:\GrWin\demo>gwgcc polygon
    C:\GrWin\demo>dir trigfn.*

    と入力してみてください。 サンプルの Fortran ソースファイル trigfn.f から実行ファイル trigfn.exe が,また,C のソースファイル polygon.c から実行ファイル polygon.exe が生成されているはずです。 ここで失敗するようなら,もう一度 MinGW のインストールから調べ直す必要があります。 trigfn.exe の生成に成功したら

    C:\GrWin\demo> trigfn

    として実行してみてください。 グラフィクス・ウィンドウが開いて sin 関数と cos 関数がプロットされ「フォント」ダイアログ・ボックスが開けば Ok です。 ダイアログ・ボックスの各項目を適当に選択してから [OK] ボタンを押せばダイアログ・ボックスは閉じます。 マウス・ポインタをウィンドウ内に移動して適当な点で左ボタンをクリックすればその点にマークが表示され,下部のステータスバーにはその点のワールド座標系の座標が表示されます。 このサンプル・プログラムを終了するには原点(縦軸と横軸の交点)付近で左クリックしてください。 「Message from grwnd」のダイアログボックスが開きますので,[はい(Y)] ボタンを押してください。 これで,グラフィクス・ウィンドウが閉じて,テストは完了です。 ついでですので polygon.exe も実行してみてください。 動作は polygon.f をコンパイルしたものとまったく同じですので demo\Polygon.txt の説明を参照してください。

    demo フォルダ内の他のサンプル・プログラムについても gwf77 コマンドを用いて上と同様に実行ファイルを生成してから実行し,動作確認をしてみてください。 同じフォルダ内の *.txt ファイルには対応するサンプル・プログラムについての簡単な説明があります。 MinGW-2.0 で、すべてのサンプル・プログラムの実行ファイルを生成するには、同じフォルダで単に

    C:\GrWin\demo>make

    を入力してください。 VC++ と VF がインストールされている場合には

    C:\GrWin\demo>nmake -f make.mak

    とすることで、すべてのサンプル・プログラムの実行ファイルが生成されます。 VC++ がインストールされていて,C で書かれたサンプル・プログラムのみの実行ファイルを生成するには、

    nmake -f make.mak C

    としてください。Fortran のみの場合には C の代りに F としてください。



  7. grwnd.exe について
  8. 本ライブラリでは,(コンソール)アプリケーションの入出力はそのままにして,グラフィクス表示は同梱の grwnd.exe が行います。 つまり,本ライブラリは grwnd.exe にグラフィクス表示のためのコマンドを送る一種のインタープリターを構成するためのもの,といえます。

    grwnd.exe 内部では仮想的な「用紙」が設定されていて,「用紙」の左上隅を原点とし,u 軸と v 軸をそれぞれ右向きと下向きにとった「論理デバイス座標系」が使われています。 「論理デバイス座標系」の単位はプリンタに出力するときの1ピクセルに対応しています。 また,「用紙」サイズの縦横比を保ったまま,「用紙」の短い方の辺の長さを1に規格化した座標系を「規格化論理座標系」と呼びます。 「規格化論理座標系」の原点は「用紙」の左下隅に固定され,右と上をそれぞれ正方向にとります。 ユーザーが定義した座標系は「ワールド座標系」と呼ばれ,本ライブラリのほとんどのルーチンではこの「ワールド座標系」を用います。「ワールド座標系」では原点や各方向の単位および正の向きは任意に設定できます。

    ユーザーのアプリケーションから GrWin ライブラリの初期化ルーチン (GWINIT) を呼び出すと,grwnd.exe が起動し,メイン(フレーム)・ウィンドウが現れます。 ただし,GWINIT は GWOPEN (または GWOPENX) により内部的に 呼び出されますので, オプション指定が必要な場合を除いて明示的に GWINIT を呼び出す必要はありません。 なお,grwnd.exe は予め任意の方法で起動しておいても構いません。 grwnd.exe を起動するときにコマンドラインで初期設定ファイル名(以下参照)を指定することですべての起動オプション(以下参照)を一度に指定することができます。 また,起動オプションは [ヘルプ] → [起動オプション] のダイアログで対話的に指定することもできますし,コマンドラインで指定しなくてもデフォルトの初期設定ファイルファイルから自動的に読み込ませることもできます。 フレーム・ウィンドウのメニューバーからは,各子ウィンドウに対してのクローズ,消去,印刷といった操作も可能です(以下参照)。

    フレーム・ウィンドウ最上部の,タイトルが表示されているタイトルバーの下のバーは「メニューバー」,最下部のバーは「ステータスバー」と呼ばれていて,以下の機能があります:



  9. PGPLOT ドライバ
  10. GrWin グラフィクス・ライブラリ Ver. 0.99.9b」を使って PGPLOT version 5.2.0 を実装したものです.ドライバ名は /GW 及び /CGW ( 及び, /GWD と /CGWD ) です. ドライバ /CGW のカラーテーブルはオリジナルと同じで,背景色が黒で前景色は白です. ドライバ /GW では,背景色が白で前景色は黒,他の色は /CGW と同じです. ドライバのソースコードをここで公開していますので, 自由に改良してください.

    GrWin ライブラリ本来のルーチンを呼び出して使う場合より自由度が若干制限されますが,PGPLOT の X-Window ドライバと同等以上の機能があり, 手持ちの pgplot を使ったソース・コードを Windows 上で動かしたい場合や印刷したい場合などに使えます.

    下の表にあるのは,各コンパイラ・システムで PGPLOT アプリケーションを開発/実行するために必要なファイルと, オリジナル の配布ファイルにあるデモのすべての実行形式を tar + gzip で圧縮したものです。 ただし,デモの実行形式を除いて,すべてが GrWin のインストーラ版に含まれていますので,インストールが簡単なインストーラ版の使用をお勧めします。

    ファイル名 対応するコンパイラ
    pggw0999b-MinGW.tgz MinGW-2.0
    pggw0999b-cygwin.tgz Cygnus Cygwin 1.3.x
    pggw0999b-watcom.tgz Open Watcom C/C++ and Fortran 1.0
    pggw0999b-f2bcc.tgz Borland C++ Compiler 5.5 + f2c
    pggw0999b-f2dmc.tgz Digital Mars C/C++ Compilers + f2c
    pggw0999b-Intel.tgz Intel(R) C++/Fortran Compiler 7.1 ( f2c も可 )
    pggw0999b-f2vcpp.tgz Microsoft Visual C++ Version 6.0 + f2c
    pggw0999b-mingw32m.tgz gcc-2.95.2-mingw32
    pggw0999b-mingw32.tgz gcc-2.95.2-mingw32
    pggw0999b-cygb20.tgz gcc-2.95.2-cygb20
    pggw0999b-uwin.tgz AT&T UWIN 3.x + gcc-2.95.2-uwin

    現在のところ Compaq Visual Fortran Version 6 (VF) に対応したバイナリの配布は行われていません。 VF のユーザーは GrWin ツールキットを使うか,ここを参照してまず VF 用の PGPLOT ライブラリ・ファイルを作成する必要があります。

    下に Cygwin 1.3.x の場合についてのインストール方法とバッチファイルの使い方についての簡単な説明があります。 各配布ファイルにはコンパイラに対応したバッチファイルが含まれていますので, cygwin 以外の環境を使っている場合には下の説明のバッチファイル名を自分の環境のバッチファイル名に読みかえてください。

    ライブラリのその他の使用方法についてはオリジナルの配布ファイルに含まれるドキュメントを参照してください.なお,デモの実行中に終了したい場合には,メニューから [ビュー] -> [停止/終了] を選択して終了させてください.


    インストールの方法 ( Cygwin 1.3.x の場合 )

    1. 配布ファイル pggw0999b-cygwin.tgz を適当なディレクトリ,例えば /tmp にダウンロードする.

    2. インストール・ディレクトリ, 例えば /pgplot に以下の手順で展開する:

      $ mkdir /pgplot
      $ cd /pgplot
      $ tar xvfz /pgplot/pggw0999b-cygwin.tgz

    3. すべてのライブラリ・ファイルを /usr/lib へコピーする:

      $ cp *.a /usr/lib

    4. すべてのインクルード・ファイルを /usr/include へコピーする:

      $ cp *.h /usr/include

    5. 環境変数 PATH と PGPLOT_DIR をセットする.シェルとして bash を使っている場合には以下のコマンドを入力すればよい.ただし,これらの操作は bash を立ち上げるたびに必要なので,適当なスタートアップ・ファイルに書いておくとよい:

      $ PATH=/pgplot:$PATH
      $ export PATH
      $ PGPLOT_DIR=/pgplot
      $ export PGPLOT_DIR

    実行ファイルを生成するためのバッチファイルが配布ファイルに含まれているので利用すると便利.引数には 9 個までのソースファイル名やコマンドライン・オプションを指定することができるが,第一引数には拡張子を除いたメインのソースファイル名を指定する。典型的な使い方は以下の通り:

    $ pggwf77.bat pgdemo1
    ( Fortran のソースファイル pgdemo1.f から実行ファイル pgdemo1.exe が生成される)
    $ pggwgcc.bat cpgdemo
    ( C のソースファイル cpgdemo.c から実行ファイル cpgdemo.exe が生成される)
    $ pggwcpp.bat foo
    ( C++ のソースファイル foo.cpp から実行ファイル foo.exe が生成される)


    ソースからインストールする方法 ( MinGW 2.x の場合 )

    1. オリジナルのソース・ファイル (pgplot5.2.tar.gz) を適当なディレクトリで展開する.
    2. 同じディレクトリで pggw-150.tgz を上書きで展開する.このときいくつかのファイルは上書きされてしまうので注意.
    3. 新しくできたサブディレクトリ gnuwin32 に cd してから MinGW 2.x の環境で GrWin Library Ver. 0.99.9b が使える状態にする. そのままではコマンド長の制限に引っかかるので sh.exe や cygwin 環境の bash などを起動しておくと良い.
    4. "sh ../makemake .. gnuwin32 gwlib" を実行する.これにより make に必要な環境が作られる.
    5. "make" を実行する.Fortran 用のライブラリと Fortran によるデモ用の実行ファイルができる.
    6. "make clear" を実行する(省略化).
    7. "make cpg" を実行する.C 用のライブラリと C によるデモ用の実行ファイルができる.
    8. "strip *.exe" を実行する(省略化).
    9. オリジナルの配布ファイルに含まれるドキュメントを参照して,出来上がった PGPLOT のライブラリをインストールする.
    以上


  11. ライブラリのリンク
  12. ユーザーの (コンソール) アプリケーションで GrWin グラフィクス・ライブラリを利用するには,MinGW / mingw32 / cygwin / uwin の g77 や gcc によるリンク時のオプションとして

    -Wl,--subsystem,console -lGrWin -mwindows
    を指定します。 長いので make やバッチ・ファイルを利用するとよいでしょう。 例えば,polygon.f をコンパイルするには同梱のgwf77.bat を利用して
    gwf77 polygon
    などとできます。 ここでgwf77.batに渡す第一引数には拡張子(.f)を付けないでください。 例として,abc.f xyz.c から abc.exe を作る場合には
    gwf77 abc xyz.c
    としてください。 aaa.c から aaa.exe を作る場合は
    gwgcc aaa
    とします。 Fortran のときと同様に,第一引数についてだけ拡張子を省略する必要があります。

    C または C++ 言語で書かれた Windows アプリケーションの場合には 'console' オプションを 'windows' に置き換えて

    -Wl,--subsystem,windows -lGrWin -mwindows
    を指定します。このためのバッチ・ファイル gwgccw.bat が用意されていて,使い方は gwgcc.bat と同じです。

    なお,Fortran 用のライブラリ・ルーチンは内部で C のルーチンを call している場合が多いので,C 言語でプログラミングを行ったほうが効率が良いでしょう。

    VC++ や VF をコンソール・ウインドウで使うためのバッチ・ファイル gwcl.bat (C, CUI用), gwclw.bat (C, GUI用), gwdf.bat (Foertran, CUI用) など, 各コンパイラシステム用のバッチファイルが用意されていますので、必要に応じてエディタなどでバッチファイルの内容を参照してください。


    (注意)

    特定の漢字を使うとコンパイル時に警告メッセージが現れ,期待通りの結果が得られません. これは漢字をサポートしていない処理系で生じる一般的な問題で、 2バイト目にエスケープ文字を表す「円記号」 '\' (0x5C) が含まれる特定の2バイト文 字をそのまま文字列に使うと、'\'とその次の1バイトがエスケープ文字と認識されてし まうことによります。

    この問題はそのような漢字を,1バイト目は16進表記し,2バイト目は「円記号」 を表すエスケープ文字 '\\' を使って表すことで回避できます.たとえば、'能'の シフト JIS コードは '0x945C' なので

        WRITE(*,*) '能率 = '
    
    などとするとこの問題が生じますが、
        WRITE(*,*) '\x94\\率 = '
    
    または
        WRITE(*,*) '能\率 = '
    
    で、期待通りの結果が得られます。C の場合も同様です。詳しくは、 ホームページ「Q and A」 を参照してください。



  13. ダウンロード
  14. GrWin グラフィックス・ライブラリ」の公式配布場所( ftp サイト)は

    ftp://spdg1.sci.shizuoka.ac.jp/pub/GrWinlib/
    です。また, ESRFミラーサイトが設置されて いますのでそちらもご利用ください.


    a. GrWin グラフィックス・ライブラリ

    GrWin グラフィックス・ライブラリをインストールするには,自分の環境に合わせて, 下の表のファイル名のどれか1つをクリックして、ハードディスクにファイルをコピー して利用してください。 よくわからない場合は,MinGW の最新版をインストールしてから, lGrWn0999b-MinGW.exe をダウンロードするとよいでしょう。 これだけで自分のパソコンに Fortran と C/C++ のための グラフィクス・プログラミング環境を構築することができます。

    インストーラによるインストール時に pgplot を選択(デフォルト)すると PGPLOT ライブラリを使うために必要なファイルがインストールされ,陰線処理やコンター図を含む豊富な高レベル・ルーチン群( 出力例はここ )を Windows 上で利用することができるようになります。 含まれている PGPLOT ドライバは GrWin ライブラリを使って実装したもので, PGPLOT の X-Window ドライバと同等以上の機能があり, UNIX で動かしていた PGPLOT アプリケーションを Windows に容易に移植することができます。 インストールの詳細については「#INSTALL">インストール」を参照してください。

    必須ファイル(自分の環境に合わせて,どれか1つをダウンロードしてください)
    ファイル名 対応するコンパイラシステム
    lGrWn0999b-MinGW.exe MinGW-2.0
    lGrWn0999b-cygwin.exe Cygnus Cygwin 1.3.x
    lGrWn0999b-watcom.exe Open Watcom C/C++ and Fortran 1.0
    lGrWn0999b-f2bcc.exe Borland C++ Compiler 5.5 + f2c
    lGrWn0999b-f2dmc.exe Digital Mars C/C++ Compilers + f2c
    lGrWn0999b-Intel.exe Intel(R) C++/Fortran Compiler 7.1 ( f2c も可 )
    lGrWn0999b-f2vcpp.exe Microsoft Visual C++ Version 6.0 + f2c
    lGrWn0999b-vf.exe Compaq Visual Fortran Version 6
    lGrWn0999b-mingw32m.exe gcc-2.95.2-mingw32
    lGrWn0999b-mingw32.exe gcc-2.95.2-mingw32
    lGrWn0999b-cygb20.exe gcc-2.95.2-cygb20
    lGrWn0999b-uwin.exe AT&T UWIN 3.x + gcc-2.95.2-uwin
    lGrWn0999b.exe 全配布ファイル(インストーラ版)
    lGrWn0999b.lzh 全配布ファイル (lha で圧縮したもの)
    lGrWn0999b.tgz 全配布ファイル (tar + gzip で圧縮したもの)


    b. GrWin ツールキット ( VF ユーザーと開発者向け )

    「GrWin ツールキット」とは GrWin のライブラリ・ ファイルを生成するためのソースコードのセットのことで,f2c や PGPLOT のための パッチを含みます。 Compaq Visual Fortran Version 6 で PGPLOT を使用する場合にはまずこのツールキットを用いて VF 用の PGPLOT ライブラリ・ファイルを作成する必要があります。また,GrWin が対応していないシステムに移植を行いたい場合や個人利用のための改造を行いたい場合にもこれを使います。 それ以外の一般ユーザには多分必要ないでしょう。 「GrWin ツールキット」を使って上の表にないコンパイラ・システムに対応できた場合 は是非ご一報ください。

    開発者向けファイル
    ファイル名 内容
    GrWinTk-0999b.tgz GrWin ツールキット


    c. その他の配布ファイル

    下の表にダウンロード可能な他のファイルを示します。 それらのファイルそのものやそれらの圧縮ファイルを展開して得られるファイルは, 次に述べる例外を除いてすべて,上の2つの表に列挙したファイルに含まれています。 ダウンロードの総量を抑えるためなど,個別のファイルだけを必要とする場合に ダウンロードしてください。

    下の表の pggw0999b-XXX.tgz は,コンパイラ・システム XXX で PGPLOT アプリケーションを開発/実行するために必要なファイルと, PGPLOT のオリジナルの配布ファイルにあるデモすべての実行形式を tar + gzip で圧縮したものですが,デモの実行形式を除くとインストーラ版にすべて含まれています。 これらは PGPLOT のデモを実行してみたいときにダウンロードしてください。

    その他のファイル
    ファイル名 内容
    demoexe MinGW で作成したサンプルプログラムの実行ファイル
    README.html README ファイル(HTML版)
    README.txt README ファイル(テキスト版)
    lGrWn0999b.html ユーザーズ・マニュアル(HTML版)
    lGrWn0999b.txt ユーザーズ・マニュアル(テキスト版)
    f2c-bcc.tgz Borland C++ Compiler 5.5 用の f2c
    f2c-dmc.tgz Digital Mars C/C++ Compilers 用の f2c
    f2c-Intel.tgz Intel(R) C++ Compiler 7.1 用の f2c
    f2c-vcpp.tgz Microsoft Visual C++ Version 6.0 用の f2c
    pggw-150.tgz GrWin を利用した Windows 用 PGPLOT ドライバのソースコードとパッチ
    pggw0999b-MinGW.tgz MinGW-2.0 で PGPLOT を使うためのファイル一式
    pggw0999b-cygwin.tgz Cygnus Cygwin 1.3.x   〃  
    pggw0999b-watcom.tgz Open Watcom C/C++ and Fortran 1.0   〃  
    pggw0999b-f2bcc.tgz Borland C++ Compiler 5.5 + f2c   〃  
    pggw0999b-f2dmc.tgz Digital Mars C/C++ Compilers + f2c   〃  
    pggw0999b-Intel.tgz Intel(R) C++/Fortran Compiler 7.1 ( f2c も可 )   〃  
    pggw0999b-f2vcpp.tgz Microsoft Visual C++ Version 6.0 + f2c   〃  
    pggw0999b-mingw32m.tgz gcc-2.95.2-mingw32   〃  
    pggw0999b-mingw32.tgz gcc-2.95.2-mingw32   〃  
    pggw0999b-cygb20.tgz gcc-2.95.2-cygb20   〃  
    pggw0999b-uwin.tgz AT&T UWIN 3.x + gcc-2.95.2-uwin   〃  
    libs 各コンパイラに対応するライブラリ・ファイル
    PREVIOUS 直前のバージョンの保管場所

    拡張子が .tgz や .lzh のようなファイルは圧縮形式のファイルですのでそのようなファイルをダウンロードして利用するには復元(「解凍」ともいう)を行う必要があります。 圧縮ファイルの復元が必要な場合は奥村さんのページを参考にするとよいでしょう。

    なお,旧版の配布ファイルが ここに保存されていますので必要に応じてご利用ください (旧版の再配布はご遠慮ください)。

  15. 配布ファイル
  16. インストーラ( lGrWn0999b-XXX.exe;   XXX はコンパイラシステムの省略名 )によりインストールを行うと以下のファイルが最適なディレクトリに分散インストールされます。 なお, lGrWn0999b.lzhlGrWn0999b.tgzGrWin が対応しているすべての環境 のためのファイルを圧縮したもの(圧縮版)で, lGrWn0999b.exe はそのインストーラ版です。圧縮版をダウンロードした場合は解凍後に自分ですべてのインストールを行う必要がありますし,そのインストーラ版でも,インストール時に複数の環境を選択すると実行ファイルはすべて,指定した GrWin フォルダに格納されてしまうので,そのフォルダに自分でパスを通す必要があります。 インストールに自信がない人は自分の環境に合ったインストーラ版を使用することを強くお勧めします。 下に,インストールされるフォルダ別に,各配布ファイルについての簡単な説明を加えます。なお,バッチ・ファイル名に含まれる {F77}, {CC}, {CPP} は各使用環境における FORTRAN, C, C++ のコンパイラ名の略記ですのでつぎの表の対応する項目と置き換えて読んでください:

    コンパイラ名の略記の対応表

    GNU (*) watcom bcc dmc Intel vcpp vf
    {F77} f77 wfl × × ifl × df
    {CC} gcc wcl bcc dmc icl cl ×
    {CPP} gpp wcl bcc dmc icl cl ×
    (*) GNU = MinGW, cygwin, uwin, mingw32m, mingw32, ctgb20

    a. GrWin フォルダ

    ファイル名内 容
    README.html README ファイル/HTML版
    README.txt README ファイル/テキスト版
    qanda.html Q and A/HTML版
    lGrWn0999b.html ライブラリ・マニュアル/HTML版
    lGrWn0999b.txt ライブラリ・マニュアル/テキスト版
    f77chk.txtf77chk.pl の簡単な説明
    demo\GrWin のサンプル・プログラムの入ったディレクトリ
    pgplot\PGPLOT アプリケーションを実行するために必要なファイルと PGPLOT ライブラリのサンプル・プログラムの入ったディレクトリ
    lGrWn0999b-XXX.issインストーラのソースコード( XXX はコンパイラの省略名 )
    unins000.exe アンインストーラの実行ファイル
    unins000.dat アンインストーラが使用するデータ・ファイル
    GrWin.ico アンインストーラが使用するアイコン
    b. コンパイラの実行ファイルのフォルダ

    ファイル名内 容
    grwnd.exe Windows Xp/2000/NT/Me/9x 上で本ライブラリを利用するための Windowsアプリケーション
    grwnd.ini grwnd.exe のための .ini ファイル
    f2c.exe FORTRAN77 で書かれたソースファイルを C に翻訳するための f2c の実行ファイル
    f77chk.plFortran77 用のソース・コード・チェッカー (Perl スクリプト)
    library.defライブラリ関数の定義ファイル( f77chk.pl で使用 )
    gw{F77}.bat 拡張子が .f の Fortran ファイルから実行ファイルを生成するためのバッチ・ファイル
    gw{CC}.bat 拡張子が .c の C ファイルから実行ファイル(CUI)を生成するためのバッチ・ファイル 
    gw{CC}w.bat 拡張子が .c の C ファイルから実行ファイル(GUI)を生成するためのバッチ・ファイル 
    gw{CPP}.bat 拡張子が .cpp の C++ ファイルから実行ファイル(CUI)を生成するためのバッチ・ファイル 
    gw{CPP}w.bat 拡張子が .cpp の C++ ファイルから実行ファイル(GUI)を生成するためのバッチ・ファイル 
    gwf2{CC}.bat 拡張子が .f の Fortran ファイルから実行ファイルを生成するためのバッチ・ファイル( f2c 用 )
    pggw{F77}.bat PGPLOT ライブラリを使用した,拡張子が .f の Fortran ファイルから実行ファイルを生成するためのバッチ・ファイル
    pggw{CC}.bat PGPLOT ライブラリを使用した,拡張子が .c の C ファイルから実行ファイル(CUI)を生成するためのバッチ・ファイル 
    pggw{CC}w.bat PGPLOT ライブラリを使用した,拡張子が .c の C ファイルから実行ファイル(GUI)を生成するためのバッチ・ファイル 
    pggwf2{CC}.bat PGPLOT ライブラリを使用した,拡張子が .f の Fortran ファイルから実行ファイル(CUI)を生成するためのバッチ・ファイル( f2c 用 ) 

    c. コンパイラのライブラリファイルのフォルダ

    ライブラリ名内 容
    GrWin GrWin のライブラリ・ファイル
    GrWin0 GrWin のライブラリ・ファイル(除,calcomp ライブラリ)
    calcomp GrWin のライブラリ・ファイルから calcomp ライブラリ部分だけを取り出したもの(GrWin =GrWin0 + calcomp)
    pgplot PGPLOT ライブラリのライブラリ・ファイル( GrWin 使用)
    cpgplot PGPLOT ライブラリを C で使うためのライブラリ・ファイル( GrWin + pgplot 使用)
    f2c f2c.exe で C に翻訳したソースから実行ファイルを生成するためのライブラリ・ファイル

    d. コンパイラのインクルードファイルのフォルダ

    ファイル名内 容
    GrWin.h 利用できるすべの関数のプロトタイプが宣言されているC言語用のヘッダ・ファイル
    cpgplot.h PGPLOT ライブラリを C で利用するためのヘッダ・ファイル
    f2c.h f2c.exe で C に翻訳したソースをコンパイルするために必要なヘッダ・ファイル


  17. 本バージョンについて
  18. grwnd.exe を含む本ライブラリは未だ開発中ですが,Version 0.99.9b はβ版であり,仕様は最初の正式公開版 1.00.X とほぼ同じ予定です。 マニュアルの不備も予想されますし,まだ思わぬ問題が存在するかもしれませんので, お気づきの点をメーリングリストに報告していただければ幸いです。

    今後バージョンアップが行われた場合には,ライブラリと grwnd.exe のバージョン(README.txtに記載されているものと,メニューバーの [ヘルプ] -> [grwnd について] で確認)が一致していること確認する必要があります。 ライブラリのバージョンと,適合する grwnd.exe のバージョンは,プログラムで GWVERSION を呼び出すことによっても調べることができます. 古いライブラリで作成されたアプリケーションは新しい grwnd.exe では動かないと思ったほうが良いでしょう(その逆も)。

    実行ファイルにリンクした GrWin ライブラリと grwnd.exe のバージョンが一致していない場合には,

    "WARNING: XXX [x,x,x,x] is older than YYY [y,y,y,y]"
    のような,どちらが古いかを示す警告メッセージがコンソール・ウィンドウ(CUI)に表示されますので,両者のバージョンを一致させて下さい。 なお,[ ] 内の数字(またはアルファベット)がそれぞれのバージョンを表わしています。 最新版は http://spdg1.sci.shizuoka.ac.jp/grwinlib/ から入手することができます

    配布ファイル中のユーティリティー f77chk を利用すれば,Fortran のソースコードが現在のバージョンに適合しているかどうかを調べることができます。

  19. 著作権と免責,利用,再配布について
  20. grwnd.exe と vcpp\GrWin.lib は Microsoft VC++ 6.0 (grwnd.exe は MFC) を使用して作成しました。 MinGW\*.a は MinGW-2.0 を使用して作成しました。 mingw32\*.a と mingw32m\*.a は gcc-2.95.2-mingw32 を使用して作成しました。 cygb20\*.a 及び cygwin\*.a はそれぞれ,Cygnus Cygwin B20.1 + gcc-2.95.2-cygb20 及び Cygnus Cygwin 1.3.x を使用して作成しました。 uwin\*.a は AT&T UWIN 3.x + gcc-2.95.2-uwin を使用して作成しました。 watcom\*.lib は Open Watcom C/C++ 1.0 を使用して作成しました。 bcc\*.lib は Borland C++ Compiler 5.5 を使用して作成しました。 dmc\*.lib は Digital Mars C/C++ Compilers を使用して作成しました。 intel\*.lib は Intel(R) C++ Compiler 7.1 を使用して作成しました。 「GrWin グラフィックス・ライブラリ」のソフトウェア群についての著作権は 溜渕 継博 が有します。 本ソフトウェア群の利用によって損害が生じたとしても,作者はそれらの損害等に一切責任を負いません。 また,バグの fix やバージョン・アップなどについての責任もありません。 なお,バグ等の報告は歓迎します。

    本ソフトウェア群はフリー・ソフトウェアですので,個人または団体で自由に利用できます。 再配布については,配布ファイル lGrWnXXX.yyy (XXX はバージョン番号 yyy は圧縮形式)の配布形態,すなわち,展開後のすべてのファイルとディレクトリ構造を保つことを条件に自由に行って構いませんが,その際に,再配布に必要な経費以外の金銭の授受を禁止します。 なお,団体で利用される場合には人数や利用目的等について連絡をいただけると幸いです。

    本バージョンは未だ開発途中の段階のものですので,より新しいバージョンが本作者によりリリースされた場合には本バージョンの再配布を禁止します。 ただし,本作者による新しいバージョンのリリースの後でも,古いライブラリをリンクしたアプリケーションとともに,そのアプリケーションを動作させるときに必要となる,対応する grwnd.exe と README.html, および README.txt のみを再配布することは認めます。

    本ライブラリ及び grwnd.exe に関する作者への連絡grwinlib@spdg1.sci.shizuoka.ac.jp へお願いします。



  21. 更新履歴

  22. Ver 0.99.9b
    • gwd フォーマットでファイル保存( *.gwd )する場合,使用しているビットマップを gwd ファイルに埋め込み可能(デフォルト)とした。
    • GWMODE(および,GWmode )の仕様を拡張して,終了時にウィンドウを閉じないモードと,ビットマップを gwd ファイルに埋め込むモードの設定と解除ができるようにした。
    • 2度目以降の'ジョイン'(GWjoin 参照)に失敗するバグを修正した。
    • その他の修正を行った。

    Ver 0.99.9a
    • タートル・グラフィクスのためのルーチン群 (GWTxxxxx, 及び倍精度版の GWDTxxxxx) を追加した。これらのルーチン群は再描画のための座標情報をワールド座標として,実数 (GWTxxxxx) または倍精度実数 (GWDTxxxxx) で保持するので,相対座標による描画でも誤差の蓄積がほとんど生じない。
    • Intel(R) C++/Fortran Compiler をサポート対象に加えた。
    • OpenWatcom の C/C++/Fortran77 をサポート対象に加えた。
    • Intel(R) C++, Borland C/C++, Microsoft Visual C++, Digital Mars C/C++ Compilers 用の f2c ライブラリを用意することによって,これらの環境で Fortran コンパイラを所有していない場合でも Fortran 77 によるプログラミングが可能になった(含,pgplot ドライバ)。
    • 使用環境ごとのインストーラを用意することでインストールが簡単になった。
    • GWINDOW(および,GWindow)の仕様を拡張して,ビューポートのワールド座標系における幅または高さの一方のみが 0 となる設定を行うと,0 でない高さまたは幅を参照して,アスペクト比が 1:1 の等方的座標系が得られるようにした。ワールド座標系を論理デバイス座標系と同じにする場合は,幅と高さの両方が 0 になるように設定すればよい。幅か高さの一方のみを 0 とする設定を行っていた場合に限って,ソースコードの変更が必要。
    • GWSIZE と GWVMODE(および,GWsize と GWvmode)の仕様を拡張して, GWinit による初期化後なら,ウィンドウのオープン以前でも, 種々(ウィンドウと無関係のものに限る)のサイズやデフォルトのビュー(表示)モードについて,設定や問い合わせを可能にした。ソースコードの変更は不要。
    • ディスプレイ上のピクセル・サイズの現在の値をワールド座標系で取得するための GWPXLSIZ (および,GWpxlsiz) を追加した。
    • GWSLEEP2(および,GWsleep2)の仕様を拡張して,呼び出し時の内部時計の時刻 を成功時の戻り値として返すようにした。これによりラップタイムの計測が容易になった。 ソースコードの変更は不要。
    • GWSETMRK(および,GWsetmrk)の仕様を拡張して,ビュー(表示)モードによらずピクセル値でサイズを指定できるマーク(塗りつぶされた正方形)を新設した。 これにより内部の座標変換によるサイズの乱れのないきれいな点のプロットが可能になった。 ソースコードの変更は不要。
    • GWPUTCMB(および,GWputcmb)の仕様を拡張した。 ソースコードの変更は不要。
    • ビットマップの登録削除を行うための GWDELBMP (および,GWdelbmp) を追加した。
    • コンボを多数作ろうとすると失敗してしまうことのあるバグを修正。
    • OGN(オブジェクト・グループ番号)に大きな値を設定しようとすると失敗してしまうバグを修正。
    • フラッシュ描画で描画オブジェクト数が0の場合に古いオブジェクトの消去がなされないバグの修正。
    • 多種類(500程度)のオブジェクトを作成すると grwnd.exe 内部でループしてしまうことのあるバグの修正。
    • VF 環境で KBHIT が使えなかったバグの修正。

    Ver 0.99.9
    • ウィンドウを閉じないで終了するための GWLEAVE(および GWleave)を加えた。
    • 開いているウィンドウに追加書きするための GWJOIN, GWJOINX(および GWjoin, GWjoinx)を加えた。
    • Calcomp ライブラリのさまざまな「方言」に柔軟に対応できるように,Calcomp のライブラリ・ファイル libcalcomp.a ( VC++ / BC では calcomp.lib) を独立させた,libGrWin0.a ( VC++ / BC では GrWin0.lib) を用意した。 GrWin0 ライブラリとともに従来どおり Calcomp ライブラリを使用する場合にはリンク時のオプションとして -lGrWin0 だけでなく -lcalcomp を加える必要がある( VC++ / BC では GrWin0.lib と calcomp.lib) 。
    • GWOPEN, GWOPENX (および GWopen, GWopenx) の仕様を変更して, 必要な場合に GWINIT (GWinit) を呼び出すように変更した。 したがって,オプション指定が必要な場合等を除いて明示的に GWINIT を呼び出す必要はない。 また,最近の高解像度プリンタに対応しデバイス非依存とするため, 内部「用紙」サイズを指定するときの単位をピクセル値から 0.1 mm へ変更した。 「用紙」サイズの指定を行っている場合はソースコードの修正が必要。 その他の場合はこの変更に伴うソースコードの修正は不要。
    • GWSIZE (および GWsize) の仕様を変更して, プリンタ関連の長さの単位をピクセル値(マージンの場合は mm )から 0.1 mm へ変更した。
    • GWPRINT (および GWprint) の仕様を変更して,印刷時のビュー(表示)モードを現在のウィンドウのビューモードとは独立に設定できるようにした。このルーチンの呼び出しを行っている場合はソースコードの修正が必要。
    • GWINITX(および GWinitx)の仕様拡張を行い,プログラムから grwnd.exe のすべての起動オプションを指定可能にした。 これらを使用している場合はソースコードの修正が必要。
    • grwnd.exe のすべての起動オプションを設定ファイル *.ini で設定可能にした。
    • 起動オプションの設定ファイル *.ini を編集するためのダイアログを新設した。
    • 「名前を付けて保存」のダイアログを変更した。
    • GWPORT (および GWport) を使うと上下が反転してしまうバグをフィックスした。
    • 保存モードが OFF のときでもクリップボードへのコピーが可能になった。
    • GWMODE(および GWmode)の仕様拡張を行った。この変更に伴うソースコードの修正は不要。
    • Ver 0.99.8b で判明した Windows のバグ(マイクロソフト サポート技術情報 - Q156696)に対応した。これにより,Windows 9x でもメモリーリークなしに GWSETRGN (および GWsetrgn) が正常に機能するようになった。
    • 試験的に, Digital Mars C/C++ Compilers をサポート対象に加えた。
    • その他の修正を行った。

    Ver 0.99.8b
    • Windows 9x のみで,リソースリークが発生してフリーズしてしまうことがあるバグ(Windows 9x のバグと思われる)に対応した。このため,Windows 9x では GWSETRGN (および GWsetrgn) が正常に機能しなくなった(Windows Me/NT/2k/Xp では問題なし)。
    • その他の修正を行った。

    Ver 0.99.8a
    • Windows XP に対応した。
    • MinGW 最新版の MinGW-1.1 に対応した。
    • Cygwin 最新版の Cygwin-1.3.x に対応した。
    • UWIN 最新版の UWIN-2.9 に対応した。
    • 1次元配列に格納されたデータを折れ線グラフや棒グラフなどとして一括してプロットする GWPLOT1 (および GWplot1) を加えた。
    • インターバルタイマーを起動/停止する GWTIMER (および GWtimer) を加えた。
    • インターバルタイマーが生成するタイマー・イベント情報を取得するために GWEVENT (および GWevent) の仕様を拡張した。
    • GWSLEEP2(および GWsleep2)の仕様を拡張した(マニュアルを修正した)。
    • 内部時計の現在時刻を取得する GWCTIME(および GWctime)を加えた。
    • 0.99.8 のリリース後に発見されたバグのフィックスを行った。

    Ver 0.99.8
    • 保存時のファイル・フォーマットや表示モードを変更できるように GWSAVE (および GWsave) の仕様を拡張するとともに,ルーチン名を GWSAVEAS (および GWsaveas) に変更した。GWSAVE (および GWsave) は将来的に廃止の予定。
    • 特定のディスプレー・モードでビットマップ関連の警告が出るバグを修正。
    • マークで使われるペンの色が常に黒色になってしまうバグを修正した。
    • ビットマップ縮小時にモアレ様のノイズが出るバグを修正。
    • GWLOADEMF (および GWloadEMF) と GWSAVEEMF (および GWsaveEMF) のルーチン名をそれぞれGWLOADCMB (および GWloadcmb),GWSAVECMB (および GWsavecmb) に変更した。これらを使っているソースコードは要修正。
    • GWSETBMP (および GWsetbmp) の仕様を拡張した。
    • GWPOLYGON,GWPOLYLIN,GWBEZIER (および GWpolygon,GWpolylin,GWbezier) にあったセグメント数の上限(256)を撤廃した。
    • GWSETTXT と GWSETSYM (および GWsettxt と GWsetsym) の仕様変更および拡張を行った。これらを使用している場合には,ソースコードの変更が必要。
    • GWSIZE (および GWsize) の仕様変更および拡張を行った。これらを使用している場合には,指定しているパラメータによってはソースコードの変更が必要な場合がある。
    • ワールド座標系でビューポートを設定する GWPORT (および GWport) を追加した。
    • ビューモード名の「スクロール」を「ビットマップ」に改めた。
    • 出力可能なファイルの種類に,ビットマップ (*.bmp) 形式を追加した。
    • 出力のファイル形式として,旧形式である Windows メタファイル (*.wmf) 形式をサポート対象から除外した。
    • pgplot ライブラリからの移植例として,回転する多面体のデモ demo/gwdemo17.f を加えた 。
    • grwnd.exe のコマンドラインから,プリンタ用紙の横置き(ランドスケープ)モードの設定/解除のためのオプション( -l, -L )を追加した。
    • GWINITX (および GWsize) の仕様拡張を行い,プログラムから,プリンタ用紙の横置き(ランドスケープ)モードの設定/解除を可能にした。

    Ver 0.99.7x
    • Ver 0.99.7 の再描画やフラッシュ描画に関係したバグを fix。Ver 0.99.7 からは grwnd.exe のみを入れ替えればよい。

    Ver 0.99.7
    • 描画オブジェクトの集合としての`コンボ'を導入した。コンボは任意の大きさで何度でも描画に使うことができ,emf ファイル(拡張メタファイル)として外部ファイルに保存/読み込みも可能。
    • ビットマップの内部処理を大幅変更し,バッファリング・モードでもアニメーションが可能になった。また,これにより,GWFLUSH を利用することでちらつきの少ないアニメーションを実現できる(サンプルプログラムの bounce, dp, soliton 等を参照)。
    • バッファリング・モードをデフォルトにした。
    • 再描画を高速に行うために背景を登録する GWSETBK (および GWsetbk) を追加した。
    • GWKYBRD (および GWkybrd) の仕様を変更した。これらを使用している場合はソースコードの変更が必要 (ほとんどの場合,引数の並びの最後に ', -1' を加えればよいはず) 。
    • アイドル処理のための GWIDLE, GWIDLE2 (および GWidle, GWidle2) を追加した。アイドル処理中にはキーボードの矢印キーでマウスカーソルを移動することができる。
    • 時間待ち処理のための GWSLEEP2 (および GWsleep2) を追加した。
    • 低レベルの関数群 GW_xxxxxx を公開した。これらは,基本的に「論理デバイス座標系」を使うので,ワールド座標系から変換するときの丸め誤差の影響を排除することができ,1ピクセル単位の操作をしたいときなどに利用できる。引数の並びについては GrWin.h を,機能についてはマニュアルの,対応する関数の項を参照。各低レベルの関数の第1引数 int nDoc には,GWopen または GWopenx が返すウィンドウ番号を指定する。
    • GWCAPIMG,GWCLIPIMG (および GWcapimg,GWclipimg) の仕様を拡張した。
    • GWVPORT (および GWvport) の仕様を拡張した。
    • GWLOAD (および GWload) の仕様を拡張/変更した。
    • GWANCHOR (および GWanchor) の仕様を拡張/変更した。とくに,GWanchor(0) の意味が変更されたので,これを使っているソースコードは要修正。
    • GWSIZE (および GWsize) の仕様を拡張/変更し,'用紙サイズ' 以外,例えば,フレーム・ウィンドウの大きさも変更可能になった。これらを使用している場合はソースコードの変更が必要。
    • GWARRANGE (および GWarrange) の仕様を拡張した。
    • フレーム・ウィンドウの表示モードを設定する GWSHOWFR (および GWshowfr) を追加した。
    • grwnd.exe の起動オプションの指定が可能な GWINITX (および GWinitx) を追加した。
    • ループ処理中にもキーボードやマウスからの割り込みを検出するこのできる GWEVENT (および GWevent) を追加した。
    • ハッチパターンの指定がマニュアルの記述とずれていたバグを修正。
    • メニューに [ウィンドウ(W)]->[フィット(F)] を追加した。機能は GWsize(-3,0,0) と同じ。
    • メニューに [ウィンドウ(W)]->[最前面(T)] を追加した。機能は GWshowfr(11) と同じ。
    • grwnd.exe の起動オプションが利用可能になった。
    • その他,多数の修正を行った。

    Ver 0.99.6x
    • 印刷のプレビューとemf ファイル出力におけるクリッピングに関係したバグと, 他の小さなバグを修正。
    • mingw32 で,gcc-2.95.2-msvcrt にも対応した。
    • 他に大きな変更はないが, データ構造の変更を行ったために Ver 0.99.5 以前で作成した *.gwd ファイルとの互換性が失われたのでバージョン番号を更新した。

    Ver 0.99.5
    • 旧版に較べてある程度の高速化を達成した。
    • [ビュー] のアクセラレー・テータキーを一部変更した。
    • GWCLEAR (および GWclear) の引数 K に関する仕様の一部を修正した。 新しい仕様では K = -1 を指定するとメモリに保存されているすべてのオブジェクトが消去され,これは,メニューから [ビュー] => [消去] を選択したのと同じ。 古いソースで K = -1 (背景色による塗りつぶし) としていて,オブジェクトが消去されると都合が悪い場合には K = -3 に変更する必要がある。
    • 塗りつぶされた四角形を描画するための GWSRECT (および GWsrect) を加えた。 同じことは GWSETPEN+GWSETBRS+GWRECT でも実現できるが,GWSRECT の方が高速。
    • オブジェクトの保護に利用できる GWANCHOR を加えた。
    • 回転など,描画時に2次元の座標変換を行う行列の設定と取得のための GWSETXFRM と GWGETXFRM を加えた(Windows Me/9x では正しく動作しない)。
    • クリッピングのための GWSETRGN を加えた。
    • ヘッダファイル GrWin.h を C++ に対応し,gpp (GNU の C++) のためのバッチファイルを配布に加えた。
    • GWPUTTXT で,用紙の範囲から大きく外れた点を文字列の左下の点の座標として指定すると,文字列は以前の出力の直後に出力されるように変更した。
    • 対応する開発環境に Borland C++ Compiler 5.5 を加えた。

    Ver 0.99.4C
    • Ver 0.99.5 公開前のカレント版として,複数の版が存在。

    Ver 0.99.3
    • GWsavevp と GWselvp に関係した grwnd.exe のバグを修正。
    • GWkybrd の動作を変更し、キーが放されるまで制御を戻さないモードを選択できるようにした。GWkybrd の第2引数 NCNT に -1 または NULL (C の場合) を指定していた場合にはソースコードの修正の必要がある。
    • GWASPECT のバグ (Fortran のみ) を修正。
    • サポートする開発環境に Cygwin 1.1.0 を加えた。
    • コンソール・ウィンドウで使用可能な,C の getch() や getche() に相当する Fortran の関数 KBGETCH を加えた。
    • ソースコード・チェッカー f77chk.pl の組み込み関数に関係するバグを修正し,f77chk.pl のバージョンを 1.2.2 に更新した。
    • GWSIZE (と GWsize ) で現在のビューポートのサイズをピクセル単位で取得できるようにした。

    Ver 0.99.2
    • 上記 Ver 0.99.3 の公開前のカレント版として,Ver 0.99.2 には複数の版が存在した。

    Ver 0.99.1
    • βバージョンとしての最初の公式リリース。

    Ver 0.99.0
    • βバージョンの候補として一部に試験的に公開
    • 対応する開発環境に Microsoft Visual C++ Version 6.0 (スタティック・ライブラリのみ) を加えた 。
    • 対応する開発環境に Compaq (旧 DIGITAL) Visual Fortran 6 (同上) を加えた。
    • メタファイル(*.emf, *.wmf)による出力が可能となった。これにより、MS-Word など、メタファイルをサポートしているワープロ,たとえば MS-Word などへの出力図形の貼り付けが容易になった。
    • 高速化のため,GWerase (および GWERASE) の仕様を変更して,オブジェクトの消去のみで,画面の更新を行わないことができるようにした。
    • GWaspect の仕様を変更して,各種アスペクト比を取得できるようにした。
    • GWversion の仕様を変更した。

    Ver 0.98.2
    • 背景色などの設定が機能しないバグを修正した。
    • GWopenx (および GWOPENX) の仕様を変更して,前景色と背景色の初期値を設定できるようにした。
    • GWsetogn の仕様を変更して,描画の保留を可能にした。保留を解除することで計算に時間がかかる描画を一気に行うことができる。
    • 描画の保留の解除と描画図形の切り替えを行う GWflush を加えた。
    • GWRDRWMOD を廃止して,新設の GWMODE に統合した。
    • grwnd.exe の機能を強化した。

    Ver 0.98.1
    • Windows 9X で grwnd.exe が GDI リソースを消費し尽くしてしまうことがあるバグを修正した。
    • grwnd.exe の他の不具合を修正した。
    • GWerase (および GWERASE) の仕様を変更して,描画のリワインドを可能にした。
    • GWrdrwmod (および GWRDRWMOD) の仕様を変更して,再描画モードだけでなく,バッファリングを行うかどうかの切り替えをアプリケーションから行えるようにした。

    Ver 0.98.0
    • 角度の指定を "度"(deg) から "度/360" に変更した。
    • バッファ描画モードを改善した。
    • オブジェクト・グループを導入して,選択的にオブジェクト(図形データ)を消去できるようにした。 これに伴い,GWERASE (と GWerase ) の仕様を変更した。
    • C の関数について,必要のない出力変数のポインタに NULL を使用することができるようにした(GWsize を除く)。
    • Fortran のサブルーチンの第一引数に C の関数の戻り値と同じ値を返すようにした. これに伴い,ほとんどすべてのサブルーチンの引数の並びが変更されたが, GWOPEN などの入力パラメータに定数が使えるようになった。 旧版用のFortranソース・コードをこの版に合わせて書き換えた場合には, 同梱の f77chk で引数の並びの整合性等のチェックが可能。
    • ライブラリの開発環境を最新の GCC-2.95.2 ( mingw32 / cygb20 / uwin20) に変更した。
    • ビットマップ関連の機能を充実するとともに,内部座標系(論理デバイス座標系)の原点を従来の左下から,左上へと変更した。
    • 記号を「ビットマップ」として描画するモードを廃止し,そのかわり,フォント(任意の TrueType フォント)をビットマップに変換する GWfnt2bmp を加えた。
    • ウィンドウごとに設定されるアニメーション・モード (GWanmmod) を廃止し, ビットマップの属性として背景モードを設定できるようにした。 背景モードを制御することによって従来のアニメーション・モードと同等(以上)の機能を実現することができる。
    • 配列として与えられたビットマップ・データからビットマップを作成する GWmakebmp を加えた。作成されたビットマップは GWsavebmp で bmp ファイルに保存すれば,他のアプリケーションからも利用できる。
    • ライブラリのバージョン番号などの文字列を取得する GWversion を加えた。
    • 現在のワールド座標系を取得する GWgetwn を加えた。
    • 複数のウィンドウを開いているときに,GWsavevp/GWselvp が正常に働かないバグを修正した.
    • マーク・サイズの指定を,フォントの場合に合わせて,ワールド座標系の高さ(旧版では幅)で与えるように変更した。
    • grwnd.exe で [ヘルプ] メニューを変更し,ライブラリ・マニュアルを参照できるようにした。
    • フォント生成関係のバグの修正を行った。
    • 変更のあった C の関数:
      廃止:
      GWanmmod
      追加:
      GWarc, GWchord, GWfnt2bmp, GWgetwn, GWldcpos, GWldcsiz, GWmakebmp, GWpie, GWpolylin, GWrrect, GWsetogn, GWversion
      変更:
      GWcapimg, GWcappnt, GWcopybmp, GWerase, GWfiledlg, GWgetbmp, GWgettxt, GWinput, GWkybrd, GWloadbmp, GWmouse, GWopen, GWopenx, GWgetpxl, GWputbmp, GWrdrwmod, GWsetbmp, GWsetmrk, GWsetsym, GWsettxt, GWvwmod
    • その他の変更を行った。
    • これらの変更により,旧版で作成した exe ファイルと gwd ファイル (出力データ) の互換性が失われたので,古いソースを利用するにはコンパイル(exe)やデータ作成(gwd)のし直しが必要。 フォートランの場合,ソース・コードのチェックには同梱の f77chk を利用してください。

    Ver 0.97.2
    • 各種パラメ−タをデフォルト値に戻す GWreset を加えた。
    • 新たに GWsavevp と GWselvp,GWgetvp を加え,現在のビューポート情報を保存/復帰/取得できるようにした。これにより,単一ウィンドウ内での複数のビューポートの操作が容易になった。
    • GWclear の仕様を一部変更して,現在のビューポートの内部を単一色 (背景色) で塗りつぶすようにした。
    • その他の小修正を行った。

    Ver 0.97.1
    • GWkybrd の仕様を一部変更して,仮想キー・コードだけでなく最後に押された非システムキーの文字コードも取得できるようにした。
    • 全体を単一色で塗りつぶす GWclear を追加した。
    • 再描画関係のバグ修正。
    • サポート対象に AT&T UWIN 2.0 を加えた (配布ファイル名 lGrWn0971A 以降)。

    Ver 0.97.0
    • ライブラリの開発環境を最新の GCC-2.95 ( mingw32 / cygb20 ) に変更した
    • 単一の主ウィンドウでのボトルネックを解消するために,アプリケーションごとに独立した主ウィンドウを開くようにした。
    • [ファイル] -> [印刷] の見直しを行い,ディスプレィ上の表示に近い出力が得られるようにした。
    • 文字列の幅と高さを取得する GWgettxt を追加した。
    • アプリケーションから表示モードを変更する GWvwmod を追加した。
    • アプリケーションからウィンドウ配置を変更する GWarrange を追加した。
    • アプリケーションからウィンドウの表示状態を設定する GWshowwn を追加した。
    • GWopenx の仕様を一部変更して,オープン時のウィンドウの表示状態を設定できるようにした。
    • バックグラウンドで描画ができるように,GWselect でカレント・ウィンドウを変更してもアクティブなウィンドウは変わらないようにした。
    • その他の小修正を行った。
    • これらの変更により,旧版で作成した exe ファイルと gwd ファイル (出力データ) の互換性が失われたので,古いソースを利用するにはコンパイル(exe)やデータ作成(gwd)のし直しが必要。 フォートランの場合,ソース・コードのチェックには同梱の f77chk を利用してください。

    Ver 0.96.0
    • 国際化版として,日本語環境ではメニューが漢字で表示されるようになった。 非日本語環境では旧版と同じ英語。
    • アプリケーションから漢字が使えるようになった。 これに対応して,日本語環境でのデフォルト・フォントを "MS ゴシック" に変更した。 非日本語環境では旧版と同じ "Arial"。
    • 表示モードの設定を [View] から分離して,新設の [表示モード] メニューから行うように変更した。
    • [ファイル] -> [印刷] の見直しを行った。
    • GUI 環境でキーボードより文字列を入力するための新しいルーチン GWinput を追加した。
    • GWonanm と GWoffanm を GWanmmode へ統合した。
    • GWonrdrw と GWoffrdrw を GWrdrwmode へ統合した。
    • GWcapvec, GWcaplin, GWcaprect の仕様を変更した。
    • アプリケーションと grwnd.exe の間の通信方法を見直して,効率化を達成した。
    • これらの変更により,旧版で作成した exe ファイルと gwd ファイル (出力データ) の互換性が失われたので,古いソースを利用するにはコンパイル(exe)やデータ作成(gwd)のし直しが必要。 フォートランの場合,ソース・コードのチェックには同梱の f77chk を利用してください。
    • Windows アプリケーション (GUI) に対応した。
    • その他の小修正を行った。

    Ver 0.95.2
    • Fortran77 用のソース・コード・チェッカー f77chk を配布ファイルに含めた。 これを利用すると,古いバージョン用に書かれたソース・コードを最新版に対応させるために必要な変更箇所の発見が容易になる。
    • GWMOVE2 と GWLINE2 の仕様を変更し,GWMOVE2 でペン位置を初期化しないでも, ペンの初期位置が未定義であることによる余分な直線を描かないようにした。
    • libGrWin.[ah]と grwnd.exe で,バージョン番号の最後の桁 (0.95.X なら X) だけが異なる場合には,警告を出さないようにした。
    • grwnd.exe を Visual C++ Ver.6.0 (SP2) でコンパイルした。
    • 保存ファイル (*.GWD) のドラッグ&ドロップをサポートした。
    • 起動時のコマンドラインで,アプリケーション名以外のオプションなどが指定されていると "failed to get current directory" というメッセージを出してしまうバグを fix した。
    • その他の小修正を行った。

    Ver 0.95.1
    • ライブラリを egcs-1.1.2-mingw32 / egcs-1.1.2-cygb20 でコンパイルし直した。
    • クリップボードに関連したバグを fix した。

    Ver 0.95
    • 多機能化と速度面での改良がなされた。
    • ファイルへの保存(GWSAVE),ファイルからの読み込み(GWSAVE),印刷(GWPRINT),多角形の描画(GWPOLYGON),ベジエスプラインの描画(GWBEZIER)のための機能を追加した。
    • 再描画の高速化の試みとして,バッファ描画モードを新設した。ただし、この機能は Windows NT4 においてのみ動作確認がされていて、Windows 9x では機能しない模様。
    • 以上の変更に伴い grwnd.exe のメニューバーの再構成を行った。
    • 旧版では各種ラスター・オペレーション(混合モード)に対応するために記号フォントを一旦ビットマップに変換してから描画していたが,リソースの節約と高速化のため,これに加えて単純な描画方法を選択できるようにした。
    • 同様に、旧版ではマークを内部的にビットマップとして扱っていたが,これを改め,ペンとブラシで描画するようにした。これに伴い,マークの混合モードの指定方法が変わった。
    • アニメーション・モードに設定するとメモリー・リークが発生していた点を修正
    • リソースの節約のために,再描画のためのデータを保存しないモードを設定(再描画モード解除)する GWOFFRDRW と,その逆(再描画モード設定)の GWONRDRW を新設した。
    • その他,多数のバグ修正と,コマンド体系の見直しを行った。旧版からの移行にはソース・コードの関連部分の変更が必要(以下参照)。
      ・新たに加えられたルーチン:
      GWSETBMP, GWGETBMP, GWGETPXL, GWSETPXL, GWOFFRDRW, GWONRDRW, GWGETPOS, GWSLEEP, GWLOAD, GWSAVE, GWPRINT, GWPOLYGON, GWBEZIER, GWCAPVEC
      ・名前(と仕様)が変更されたルーチン:
      GWSETFNT=>GWSETTXT, GWSYMBOL=>GWPUTSYM, MKCOLOR=>GWCOLOR, GWBMPINFO=>GWGETBMP, GWPUTMSG=>GWSETMSG, GWCPYBMP=>GWCOPYBMP, GWARATIO=>GWASPECT, GWCAPREC=>GWCAPRECT
      ・仕様が変更されたルーチン:
      GWPUTTXT, GWSETSYM, GWCAPPNT, GWSETMRK, GWPUTMRK, GWGETMRK, GWPUTBMP, GWSETSYM, GWSIZE

    Ver 0.94
    • 「混合モードの取得」のための gwgetmix(GWgetmix) と「混合モードの指定」のための gwsetmix(GWsetmix) を廃止し,それぞれ gwgetpen(GWgetpen) と gwsetpen(GWsetpen) に統合した。旧版からの移行にはソース・コードの関連部分の変更が必要。

    Ver 0.93
    • grwnd.exe のメニューバーに,表示の「中断と強制終了」のための項目 [View] -> [Puse/Abort] を新設した。
    • TrueType フォントが使われている場合でも保存ファイル(デフォールトの拡張子は *.gwd )の読み込みができるようになった。
    • grwnd.exe の起動時にコマンドラインに保存ファイル名(同上)を指定することでも保存ファイルの内容をを表示できるようになった。これにより,拡張子 .gwd にアプリケーション grwnd.exe を関係付けすることで,保存ファイルの内容の確認が容易になる。
    • [View] -> [Isotropic] 表示モードの仕様を一部変更して, アスペクト比を保ったままビューポートをウィンドウ内で最大表示するモードとした。
    • C から GWselct (ウィンドウの選択) を呼び出した場合に,パラメターの切り替えが正常に行われなかったバグを修正した。
    • ビューポートの原点が (0,0) でないときに, [Isotropic] 及び [Fit] の表示モード でビューが正しく表示されないバグを修正。
    • バージョンの異なるライブラリをリンクした実行ファイルについても,警告を表示するだけでそのまま続行するようにした。
    • 内部座標(ライブラリの仕様とは無関係)の見直しと,その他の小修正を行った。

    Ver 0.92
    • ライブラリを egcs-1.1.1-mingw32 でコンパイルした。
    • egcs-1.1.1-cygb20 でコンパイルしたライブラリを用意した。
    • 使用条件を変更し,完全なフリーソフトとした。
    • その他,いくつかの小修正

    Ver 0.91+
    • Windows 95 で起動できない不具合の修正

    Ver 0.91
    • ライブラリの開発環境を egcs-1.0.2-mingw32 に変更した
    • Ver 0.9 のライブラリに加えられていなかったカルコンプ系のサブルーチン等を実装した
    • 文字列の基準点を左上から左下に変更した
    • グラフィクス・ウィンドウ上でキーボードの状態を取得するサブルーチンGWKYBRD を追加
    • その他,いくつかのバグ修正

    Ver 0.9
    • αバージョンとしての最初の公開版

最終更新日 2003/7/21