2011-02-28

IconFamily


Cocoaで使ったことのあるライブラリやフレームワークを紹介してみよう企画第一回目は IconFamily

Mac OS X のアイコンサービス の Cocoa/Objective-c ラッパーです。
アイコン関係は Carbon なので面倒なのですが、これを使うとプロジェクトに4ファイル追加するだけで .icns やファイル・フォルダからカスタムアイコンを取得して NSImage へ、はたまた NSImage からサムネイルを作ってカスタムアイコンにする、などが Cocoa で簡単にできちゃいます。
ライセンスは MIT License なので使いやすいです。

私は指定パスファイルから作成した IconFamilyHandle がカスタムアイコンを持っているかどうかも知りたかったので適当にメソッドを足しました。
IconFamilyElement の elementSize が0以下だとカスタムアイコンがないっぽいのでこんな感じに。
- (BOOL) isCustomIcon
{
IconFamilyElement iconElem = (*hIconFamily)->elements[1];
Size elemSize = iconElem.elementSize;
if (elemSize > 0) {
return YES;
} else {
return NO;
}
}

もっと良い方法あったら教えてください。


OS10.6、10.5では問題なかったのですが、10.4ではどうもカスタムアイコンなしを取れてないようです。
時間ができたら調べてみます。
(5/30追記)


Scott Densmore: Objective-C / Cocoa Syntax Highlighter Part II>>Objective-C / Cocoa Syntax Highlighter を見つけたので既存ソースにぺたっとしてみました。


byT

0 件のコメント: