あまつぶ

2.7 7:00 【久々のクリエータコード申請】

 これまで時々触れていたJPEGの圧縮率を変更するソフト、ある程度形ができてきたのでこのあたりで申請。名前がまだ仮称なんだけどとりあえず「QT-Q」というコードを申請。そのうちメールが届くかな。
 圧縮率を変更したりサイズを確認したりできるウィンドウを作成して保存ルーチンも書けたので一応今の状態でもなんとか使えないことはない。BNDLリソースとか作ってないから(コードを申請していなかったんだから当然だが)ドラッグ&ドロップで開くことができないのが不便だけど(笑)。まあodocイベントに対応するルーチンはすでに書いてあるからあとはリソースを作成するだけだしすぐだと思うけど。
 前に読み込みの際にメモリリークがあると書いていたけど、IconPartyの方で単にウィンドウを開いて閉じた場合にも同様のリークがあることを発見。一度ウィンドウを開いて閉じるとそれ以降は大丈夫みたい。なんだかよくわからないが、WindowExtension.cの方の問題なんだろうか。
 それからなぜかPICTを表示してくれない問題に関して。どうにもわからないのでサンプルコードをチェックしてみたところ「GraphicsImportDraw」というルーチンがあるらしい。ウィンドウなんかに描画するならこれで一発。オフポートに描画したい場合は先に「GraphicsImportSetGWorld」を呼んでやればいいのかな。Importerのインスタンスを作る前にオフポートをカレントポートにしておけば問題ないのかも知れないが。で、この変更によりめでたく読み込むことが可能になり、また他の形式(Photoshopのファイルとか)も同様に読み込めるようなのでオープンダイアログで「qtif」を使ってPhotoshop(99.9.13註:QuickTimeの間違い)で読み込むことができるすべての形式を開くことができるようにしてみた。この「qtif」ってどこで見たのかよく覚えてないけどなんとなく頭の片隅に残っていてなんとなく使ってみたらいけたという(笑)。
 あとは大きな画像の際にスクロールバーを表示して表示位置を変えられるようにするくらいは必要かな。表示倍率を変えられるようにするというのもありそうだけど必要かどうかはちょっと不明。あと思いつく機能は一部を切り出せるようにするだとかイメージのサイズを変更するだとかそんなもんかな。あるいはイメージのウィンドウからドラッグ&ドロップを可能にするってのも可能性としてはあるかな。

 例の電卓ソフトは一応1.00b1をリリース。わざわざ作った分数処理ルーチンをざっくりと捨てて(ソースはちゃんと残してあるけど)double_tで計算するように変更。最後に小数に変換する際にいろいろ悩まされたのが原因。double_tで計算しておけばnum2decとdec2strで文字列に変換できるらしいから。16進数の場合はそうはいかないけど、longにおさまる範囲内ならlongにしてやってそこから先はlongから16進数の文字列に変更するという方法で対処。小数点以下は今のところサポートしていないが、小数部分を何倍かしてやって(もちろん16の倍数で。16^8くらいがいいかな?)それを16進数にして付け加えてやればいけるからひょっとしたらサポートするかも。
 double_tで計算することにして問題となるのはやはり16進数の処理かな。今のバージョンでは「$FFFFFFFF」が「-1」ではなく「4294967295」になってしまう。unsignedだと思えば正しいが、なんとなく妙な感じだ。もっとひどいのは「_FFFFFFFF」で、longの範囲外にいってしまうので正しく計算が行われない。16進数の計算の場合には桁数をチェックして9桁以上はエラー、8桁で$80000000以上の場合にはマイナスの値として処理するという必要があるのかな。
 あとはエラーの処理をできれば改善したい。ビープが鳴るだけでは何のエラーなのかさっぱりわからないし。「Syntax Error」とかクリップボードに戻すようにしたら少しはわかりやすい?
 電卓なんてインタフェースを考えなければそれほど面倒でもないかと思ってたけどやってみると案外面倒なもんだなぁと思う今日この頃。

 パズルの期限は今日までなので「あ、忘れてた」という方はお早めにどうぞ(笑)。

to February 6, 1999 ↑ to February index → to February 8, 1999