================================================================================ 『 Hspix Resource Kit 』 Version 0.1.0.0 プログラミングガイド ================================================================================ 1. 概要 『 Hspix Resource Kit 』(Hspix)は、HSP(Hot Soup Processor)プログラムに、 JPEG・GIF・BMP・WMF・ICO形式のピクチャ読み込み機能を拡張するプラグイン・ リソースキットです。 本リソースキットには、C言語及びObject Pascalで記述されたソースプログラム が付属していますので、これらのプログラミング経験のある方はもちろん、これ からステップアップする初心者の方にもDLLの作成・カスタマイズが可能です。 プラグイン(hspix.dll)の作成には、次のいずれかの開発環境を使用します。 ・Borland C++ Compiler 5.5 (フリーソフト) ・Borland Delphi 5/6 (Delphi 6 Personal版はフリーソフト) ・lcc-win32 Version 3.2 (フリーソフト) ・Visual C++ 6.0/7.0 作成したプラグインを使用するために特別な知識は不要です。HSPの標準命令と 同様の簡単なスクリプト記述で手軽に拡張機能を実現することができます。 2. 参考 ■ 開発環境のダウンロード・詳細情報 ・Borland C++ Compiler 5.5 ・Borland Delphi 5/6 [http://www.borland.co.jp/] ・lcc-win32 Version 3.2 [http://www.cs.virginia.edu/~lcc-win32/] ・Visual C++ 6.0/7.0 [http://www.microsoft.com/japan/] ■ Windows開発者向けの情報 ・MSDN Library [http://www.microsoft.com/japan/developer/library/] 3. プラグインの作成 プラグイン本体(hspix.dll)は、付属のソースプログラムをコンパイルして作成 します。本リソースキットには、各開発環境でコンパイルを行うための環境設定 ファイルやバッチファイルなどが用意されています。 また、言語や開発環境に合わせてソースを若干修正していますが、基本的なプロ グラム構造は同じで、出力されるDLLの機能も共通となっています。 お手持ちの開発環境に応じて、以下の手順にてコンパイルを行って下さい。 ■ Borland C++ Compiler ソースフォルダ: bcc compile.bat コンパイル用バッチファイル hspdll.h HSPプラグイン用ヘッダファイル hspix.c メインプログラム hspix.def モジュール定義ファイル BCCのインストール先にPATHを通すか、compile.batを編集して、BCC32及びILINK 32の部分を、ドライブ名からの完全なパスに修正します。 compile.batを実行すると、コンパイル・リンクが行われ、hspix.dllが出力され ます。 BCCはコンパイル条件を詳細に設定できる反面、コマンドラインが非常に複雑で すが、これらの設定機能やコンパイラ呼び出し機能をもつエディタなどがフリー ソフトとして数多く公開されていますので、利用してみるのも良いでしょう。 BCCフリー版の古いバージョンでは、OLE関連の定義が欠落しているものが多い為 コンパイルできない場合があります。必ず最新のバージョンにてコンパイルして 下さい。 ■ Borland Delphi 5/6 ソースフォルダ: delphi hspdll.pas HSPプラグイン用ユニットファイル hspix.dpr プロジェクトファイル(メインプログラム) Delphiを起動し、メニューから[ファイル]→[プロジェクトを開く]を選択して、 hspix.dprを開きます。 次にメニューから[プロジェクト]→[hspixをコンパイル]を選択し、コンパイル を実行すると、hspix.dllが出力されます。 DelphiでOLEAPIを使ってCOMインターフェイスオブジェクトを直接扱う場合は、 アドレスの参照レベルの管理に注意が必要です。 ■ lcc-win32 Version 3.2 ソースフォルダ: lcc compile.bat コンパイル用バッチファイル hspdll.h HSPプラグイン用ヘッダファイル hspix.c メインプログラム lcc-win32のインストール先にPATHを通すか、compile.batを編集して、LCC及び LCCLNKの部分を、ドライブ名からの完全なパスに修正します。 compile.batを実行すると、コンパイル・リンクが行われ、hspix.dllが出力され ます。 lcc-win32に付属の開発環境(wedit.exe)のプロジェクト管理・編集機能を使用す ることもできますが、日本語に対応していないためエディタの表示が乱れます。 また、コード中の文字列などに日本語を使用すると、文字種によってはコンパイ ルエラーが発生しますのでご注意ください。 Delphiのエディタは、コンパイルやコード補完こそできませんが、Cのソースを 現在の設定に基づいて色分け表示してくれますので、これを代用する方法もあり ます。 尚、lccで生成されたオブジェクトファイルは、Visual C++とリンカレベルで互 換性があります。 ■ Visual C++ 6.0/7.0 ソースフォルダ: vc hspdll.h HSPプラグイン用ヘッダファイル hspix.c メインプログラム hspix.dsw VC++ 6.0用ワークスペースファイル hspix.dsp VC++ 6.0用プロジェクトファイル hspix.sln VC++ 7.0用ソリューションファイル hspix.vcproj VC++ 7.0用プロジェクトファイル 開発環境を起動し、ワークスペース(VC6)またはソリューション(VC7)ファイルを 開きます。 メニューから、[ビルド]→[hspixのビルド]を選択して、ビルドを実行すると、 hspix.dllがソースと同じフォルダに出力されます。 4. プラグイン命令一覧 コマンド名 内容 ------------------------------------------------------------------- pixload ピクチャファイルをロード pixdraw ピクチャを描画 hspixver hspix.dllのバージョンを取得 ------------------------------------------------------------------- 5. プラグイン命令詳細 ■ pixload p1,p2 p1 = 数値型(配列)変数 :ピクチャサイズを受け取る変数 p2 = 文字列または文字列変数 :ピクチャファイル名 stat 0 正常に完了 1 ファイルが開けない 2 メモリが確保できない 3 ファイルサイズがゼロ 4 ファイル読み込みエラー 5 ピクチャがロードできない ・説明 ピクチャファイルをロードします。 JPEG(.jpg)・ビットマップ(.bmp)・GIF(.gif)・メタファイル(.wmf)・ アイコン(.ico)フォーマットの読み込みに対応しています。 p2には、ファイル名を拡張子も含めて指定して下さい。 ロードが完了すると、ピクチャのXサイズ、Yサイズが、p1で指定し た数値型(配列)変数に代入されます。X,Yサイズはそれぞれ p1.0,p1.1 に配列の形で代入されます。 例: pixload a,"picture.jpg" x = a.0 ;x → Xサイズ y = a.1 ;y → Yサイズ screen 0,x,y,0 ;ピクチャのサイズで初期化 ロードしたピクチャは、後述のpixdraw命令で、ウインドウまたはバッ ファ画面に描画します。 ■ pixdraw p1,p2,p3 p1 = 0〜(0) :X座標 p2 = 0〜(0) :Y座標 p3 = 0〜1(0) :再描画モード stat 0 正常に完了 6 ピクチャがロードされていない ・説明 ロードしたピクチャを、現在選択されているウインドウに描画します。 p1,p2に、左上XY座標を指定します。 p3には、再描画モードを指定します。0の場合は、表示されているウイ ンドウを再描画します。1を指定すると、仮想画面のみが描画され、実 際の画面は更新されません。 ■ hspixver (パラメータなし) ・説明 hspix.dllのバージョンを取得します。バージョンは戻り値stat に次のような形で返されます。 Ver 0.10 → 10 Ver 1.00 → 100 ================================================================================ Copyright (C) 2002 Hiroyuki Satoh (FORCE) ================================================================================