Cocoa
そいや前のに書き忘れてたけど、 Accessibility API は Cocoa バージョンもあるはず。私は Objective-C より better-C としての C++ というよくわからない気分だったので、というか要はハマリポイントを増やしたくなくて Carbon の方の API を使いました。
でその Cocoa だけど、 w3mimg のイメージを表示する部分で少し使った。まぁよくあるイベントドリブンの GUI フレームワークだと思うんだけど、ちょっとびっくりしたのはこういう文かな。
[image compositeToPoint: NSMakePoint(0, 0) operation: NSCompositeSourceOver];
えーと image を (0,0) にはりつける、えーとえーと、どこに?っていう。なんかフォーカスのある Window みたいな概念があるらしくて、自動的にそこに書かれるらしい。へえ OO 的にそれはアリなのかなぁという。
あと w3mimg は本当は他の実装はたぶん端末の window に直接描画してるんだけど、 w3mimg は透明な薄皮かぶせてそこに描画している。なんかピクセル直接書き換えはえらいめんどくさいんだけど、本当にこんな方法しか無いのかなぁと謎。今これとか参考にして 32/24bpp 決め打ちっていうのをやめようと思っているんだけど。
http://homepage.mac.com/mkino2/cocoaProg/Carbon/CarbonGraphics/CarbonGraphics.html。
Objective-C はそれなりに書いたことがあるしまぁそんなに問題無いかんじ。 GC 無しで使う言語じゃないなーとは思う。なんか次あたり GC 入るらしいですね。 Xcode にはもうそいうオプションあるらしいし、 libobjc とか見ても gc_init とか普通にあるから、前のバージョンにこっそり入れて流通させておいて、次から公開 API でそれ以前のバージョンは知らね、とかそいう感じなのかなーとか妄想しましたが知らん。