ウインドウの大きさを変えるイベント
http://www.ottimo.co.jp/koike/MacOSX/MacOSX_text_01/01_04_23.html
http://msyk.net/mdonline/msgbox/oneissue_477.html
まず、イベント kEventWindowBoundsChangedを捕まえることができるようにします。。。
おそらく、このときに、縦横比を一定に保つなどの処理をするんだと思います。
(まだ、実装していませんが。。)
HIViewの描画ハンドラの中
まず、ウインドウの大きさを取得
GetWindowPortBounds(myMainWindow,&portRect);
HIView の大きさを変更
HIViewGetFrame ((HIViewRef) userData, &bounds);
bounds.size.width = w; bounds.size.height = h;
HIViewSetFrame ((HIViewRef) userData, &bounds);
ウインドウにbltする関数に、先ほどの大きさを渡す。
status= HIViewDrawCGImage( myContext, &bounds, srcImage);
これで、ウインドウを大きくしたり、小さくすることによって、中身も連動して、大きくなったり、小さくなりました。。
それにしても、HIRectと、Rect は、似ているのに、片方は、座標だったり、片方は、横幅と、縦幅だったりしますよね。。
いちいち変換しないといけません。
http://www.ottimo.co.jp/koike/MacOSX/MacOSX_text_01/01_04_23.html
http://developer.apple.com/jp/technotes/tn2074.html
[追記]
しかし、Core2duo 2.0GHzで、拡大すると、重くなってしまい、Z80 CPUの処理がのろのろになってしまうようですね。。Σ(゚д゚lll)ガーン
やはり、OpenGLとかで、テクスチャに貼り付けて、やらないといけないのでしょうか。。。
むーん。。