Cocoa

そいや前のに書き忘れてたけど、 Accessibility APICocoa バージョンもあるはず。私は 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 でそれ以前のバージョンは知らね、とかそいう感じなのかなーとか妄想しましたが知らん。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h