/* [改訂履歴] <>は劉邦 (Ryuhou)の対応バージョンです 1.04 PluginDestroy関数の引数をvoidからRPI_SOFTINFO*に変更 <2.53以降> 1.03(公開開始) <2.52以降> RPI_PLUGININFO,RPI_SOFTINFO構造体のメンバにlpvReservedを追加(uSupportedは廃止) メンバ名を一部変更 構造体メンバの型を全体的に変更 ヘッダファイル名変更[ryuhou_102.h]→[rpi_color103.h] 1.02 構造体の名前を若干変更 <2.50以降> RPI_SOFTINFO構造体に呼び出し側の対応状況を表すuSupportedメンバを追加 1.01 呼び出し側の各種情報を取得する為の関数を追加 <2.50以降> [必ず実装(エクスポート)しなければならない関数] BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD reason, LPVOID lpReserved); RYUHOU_EXPORT BOOL WINAPI PluginInfo(RPI_PLUGININFO *pi); RYUHOU_EXPORT BOOL WINAPI RGBtoX(const RPI_RGBDATA *rgb, RPI_COLORDATA *cd); RYUHOU_EXPORT BOOL WINAPI XtoRGB(const RPI_COLORDATA *cd, RPI_RGBDATA *rgb); [必要に応じて実装(エクスポート)する関数] RYUHOU_EXPORT BOOL PluginInitialize(RPI_SOFTINFO *ri); RYUHOU_EXPORT BOOL PluginDestroy(RPI_SOFTINFO *ri); RYUHOU_EXPORT BOOL ColorSetting(RPI_SOFTINFO *ri); [注意] XtoRGB()関数の形式チェックはできるだけ厳しく行って下さい。 各種設定はできるだけレジストリを使用せず、RPI_SOFTINFO構造体のlpIniFilePathメンバより取得したiniファイル内の[Plug-in]セクション又は、プラグインと同じフォルダに書き込むようにして下さい。 (セクション内のキー名は他のプラグインとの重複を避ける為"プラグイン名+○○"など固有のものにして下さい) */ #ifndef _rpi_color_header_file_ #define _rpi_color_header_file_ #include // エクスポートする関数につける #ifdef __cplusplus #define RYUHOU_EXPORT extern "C" __declspec (dllexport) #else #define RYUHOU_EXPORT __declspec (dllexport) #endif // SDKのバージョン #define RPI_SDK_VER 104 // (Ver.1.04) // カラー形式のパラメータタイプ(COLORDATA構造体のtypeメンバで使用) #define RPI_COLORTYPE_PARAM1 1 // パラメータ1つ #define RPI_COLORTYPE_PARAM3 2 // パラメータ3つ #define RPI_COLORTYPE_STRING 4 // 文字列 // プラグインのタイプ(RPI_PLUGININFO構造体のtypeメンバで使用) #define RPI_PLUGINTYPE_COLOR 0 // カラープラグイン // カラーデータ構造体 typedef struct tag_RPI_COLORDATA { UINT uType; // カラー形式タイプ(RPI_COLORTYPE_○○○を指定) int nParam1; // 数値パラメータ1 int nParam2; // 数値パラメータ2 int nParam3; // 数値パラメータ3 LPSTR lpString; // 文字情報(半角64文字まで) }RPI_COLORDATA, *RPI_PCOLORDATA; // RGBデータ構造体 typedef struct tag_RPI_RGBDATA { UINT uRed; // 赤(0〜255) UINT uGreen; // 緑(0〜255) UINT uBlue; // 青(0〜255) }RPI_RGBDATA, *RPI_PRGBDATA; // プラグイン情報 typedef struct tag_RPI_PLUGININFO { UINT uType; // プラグインタイプ(RPI_PLUGINTYPE_COLORを指定) UINT uVer; // バージョン情報(上位ワードメジャーバージョン・下位ワードマイナーバージョン) LPSTR lpName; // 名前(半角64文字まで) LPSTR lpProducer; // 制作者名(半角64文字まで) LPSTR lpInfo; // 追記情報・コメントなど(半角256文字まで) LPVOID lpvReserved; // 予約 }RPI_PLUGININFO, *RPI_PPLUGININFO; // プラグイン呼び出し側の各種情報 typedef struct tag_RPI_SOFTINFO { HWND hWnd; // 呼び出し元のウィンドウハンドル HINSTANCE hInstance; // 呼び出し元のインスタンスハンドル LPSTR lpBootDir; // 実行ファイルがあるフォルダのパス LPSTR lpIniFilePath; // INIファイルのパス LPVOID lpvReserved; // 予約。(現在では常に0) }RPI_SOFTINFO, *RPI_PSOFTINFO; // 必ず実装(エクスポート)しなければならない関数 RYUHOU_EXPORT BOOL WINAPI PluginInfo( RPI_PLUGININFO* ); RYUHOU_EXPORT BOOL WINAPI RGBtoX( const RPI_RGBDATA*, RPI_COLORDATA* ); RYUHOU_EXPORT BOOL WINAPI XtoRGB( const RPI_COLORDATA*, RPI_RGBDATA* ); // 必要に応じて実装(エクスポート)する関数 RYUHOU_EXPORT BOOL WINAPI PluginInitialize( RPI_SOFTINFO* ); RYUHOU_EXPORT BOOL WINAPI PluginDestroy( RPI_SOFTINFO* ); RYUHOU_EXPORT BOOL WINAPI ColorSetting( RPI_SOFTINFO* ); #endif // _rpi_color_header_file_