タイトルマウスポインタが指している箇所をウインドウに拡大するサンプルプログラムカテゴリーアップルからの開発資料, グラフィックス
作成日2001/8/29 16:47:26作成者新居雅行
MagnifyというSample Codeは、マウスポインタが指している周辺部分を、あるウインドウに拡大して表示するというサンプルプログラムだ。プログラム自体はC++で記述されており、Carbonフレームワークを利用している。また、ウインドウなどの定義はnibファイルを利用している。Project BuilderおよびCodeWarriorのプロジェクトが含まれており、Mac OS X向けだけでなく、Mac OS 8/9向けのバイナリも生成できる。プログラムのポイントは、CreateNewPortというAPIでグラフポートを生成できるのであるが、そのグラフポートは画面全体の画像データを保持するものが初期的に設定されている。そして、マウスの動きに応じて、そのグラフポートから、アプリケーションで用意したウインドウにビットマップ転送をかけている。したがって、グラフィクス処理はQuickDrawベースとなっている。イベント処理はCarbon Eventで行っている。nibファイルをベースにして、Mac OS XとMac OS 8/9で共通のソースから異なるメニューを出す方法なども情報として得られるサンプルだ。
関連リンクGraphics 2D: Magnify 1.0