設定ダイアログの調整

概要

実際の画像処理に関しては、先ほどの項である程度解説できましたが、他にもダイアログの変更が必要です。今回はコレについて解説を行います。

しかし、その前にこのフィルタに関してもう少し詳しい話をしてみましょう。

これまではDoFilterRect関数のみを弄っていたので気にしないですんできましたが、これ以外の関数を触るとなると他のファイルがどうなっているか分かっている必要があります。

DissolveWith.c画像処理に必要な関数があります
DissolveWithScripting.cAppleScriptの処理のためにありますが、触る必要はありません
DissolveWithUIWin.c設定ダイアログ内部の処理を中心に記述されています
PIUtilities.c細かい処理を行うためにユーティリティ関数を書いてあります
WinDialogUtils.c設定ダイアログの処理で使うユーティリティ関数を書いてあります
WinUtilities.cウィンドウズ対応のための関数を記述してあります

基本的にユーティリティ関数は触ることはないので、触ることになるのはDoFilterRect関数などがある「DissolveWith.c」か、設定ダイアログを触るための「DissolveWithUIWin.c」だけになります。他はあまり触りません。使える道具がないか探す必要はありますが、書き換えはないと思ってください。

ダイアログの消去

ここで出すべきか悩みましたが、単純で解説しやすいので載せてしまいます。

単純なフィルタの場合には、設定ダイアログの表示が必要ない場合があります。こういうときにダイアログを非表示にしたい場合には「DissolveWithUIWin.c」のDoUI関数を弄ります。というかすべてコメントアウトしてしまいます。

つまりは


Boolean DoUI(GPtr globals){
	int nResult;
	PlatformData *platform;
	platform = ((FilterRecordPtr) gStuff)->platformData;
	nResult = DialogBoxParam(hDllInstance,(LPSTR)DIALOGTITLE,(HWND)platform->hwnd,(FARPROC)DissolveProc,(LPARAM)globals);
	return (nResult == ok);
}	

上のコードを次の様に変更します


Boolean DoUI(GPtr globals){
	return true;
}	

これでダイアログが非表示になります

実際の設定変更に関して

さて、まず最初に言っておかないと行けないことは、ダイアログなどの操作を行う場合は、Windowsの用意したGUI関連の操作のプログラミングの知識、つまりは ここから先はWindowsプログラミングの知識が必要になります。

ここからがまた結構難しいことが多いです。ですが、できるだけ噛み砕いて足りないものは全て解説させていただきますので付いてきてください。

ダイアログの編集

フィルタの設定の変更箇所
クリエイティブ・コモンズ・ライセンス

このworkは、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。