Photoshop プラグイン作成で引っかかりやすい部分(wxWidgets Cocoa)
プレビュー表示
以前のClassic-Carbon時代ならDisplayPixelsProcの最後のパラメータはWindowsの場合描画すべきウィンドウのhDc、Macではカレントポートを使用するので無視されるというものだったが、CS5ではCocoa用に新しくCGContextRefと描画範囲の矩形を収めた構造体へのポインタを渡すようになった。
リソースの場所
Cocoaプラグインならボタンなどに貼るビットマップと言った類のリソースはプラグインバンドルのResourcesフォルダに入れておくのがいいと思うが、wxWidgetsでプラグインバンドルの中へのパスを得る方法がない。
wxStandardPaths::GetResourcesDir()が
appinfo.app/Contents/Resources
を帰すことになっているが、これを使ってみるとPhotoshopそのもののリソースフォルダが帰ってくる。当然と言えば当然だがかなりやっかい。プラグインのバンドル内を指すパスを得るにはたとえば
[NSBundle bundleForClass:]
などを使ってごりごり機種依存のコードを書く必要がある。