あまつぶ

4.29 【CarbonLib 1.3.1 SDK】

 いつの間にか出ていた。早速ダウンロード。13Mくらいだったかな。だんだんでかくなってる。うーん。
 まずはPrecompiled Headerの作り直しから。最初これを忘れて、Balloons.hでエラーがでて焦ってしまった(苦笑)。その他は特に問題なし。ただ1点、3.11に1.2.5を導入した時に「68K環境でGetWindowPortBoundsが定義されていない」問題が修正されていたせいでエラーが発生してしまった。マクロで定義してくれているみたいなので、自前で用意していた部分を消して、解決。
 しかし、ちょっと困ったことが。1.3.1でコンパイルすると、1.2.5では動かないようだ。エラーメッセージをちゃんと見なかったのではっきりとは覚えていないのだが、SetDragImageAlphaとかなんとかいうルーチンがないので……とか言われてしまった。ドラッグの時のイメージでアルファチャンネルがサポートされるのかな。CarbonLibを1.3.1に変更したらちゃんと動いてくれたが、ちょっといやな感じだ。
 GetPixMapInfoについては、1.3.1でも「10.0 or later」でサポートされていると書かれていた。はて……。

 そういえば、libpngも1.0.10というのが出ていたので、これも差し換え。こちらはなんのエラーもなくあっさり。

 CarbonEvents.hを見ていたら、kEventWindowGetClickActivationという定数を発見。その前の説明を読むと……、「バックグラウンドにあるウィンドウがクリックされた時に送られる。Standard handlerがインストールされたウィンドウに対してのみ送られる。デフォルトでは、ウィンドウを前面にだし、クリックを処理する(eat?)。この動きを変更して、……(このあとの意味がよくわからない)」
 たぶん、デフォルトではウィンドウが前面に出されるだけで他にはなにも起こらないけど、自分でハンドラを書くことによって、バックグラウンドにいる間でも直接クリックを受けることができる……ってことじゃないかと。これはPhutでぜひともほしい機能だ。本格的にCarbon Event Managerに取り組む必要が出てきたかな。
 また、kEventAppLaunchedとかkEventAppFrontSwitchedとか、自分とは関係ないアプリケーションが立ち上がったとか、アクティブなアプリケーションが変更されたといったイベントも取得できるらしい(1.3以降でサポート)。なんか、これは、ランチャを作ってくれと言っているようなもの?(笑)

 昨日リリースしたIconParty 1.20b6で細かいバグ。バージョン履歴に書き忘れた機能なのだけど、グリッドに「白線」を追加した。ResEditのアイコンエディタのグリッドと同じような機能のもの。で、それはいいのだけど、初期設定ファイルがない状態で起動すると、妙なグリッドが表示されてしまう。「ツール」の「グリッド」サブメニューで適当なものを選択すればもとに戻るのでとりあえずそれで対処してほしい。
 また、このグリッド機能は中途半端な実装で、1600%にすると1ドットが4ドットに分割されてしまう。グリッドはパターンを利用して作成しているため、8*8ドットまでしか対応できていないためなのだが、次のバージョンではなんとかするつもり。16ドットごとに線を引く形の対処になるのかな。ひょっとしたら他の場合もその方が速いのかも知れないけど……。


April 15, 2001 ↑ April index → May 13, 2001