ビットマップ・ビュー・クラスのズームの実装
BitmapView::zoomIn および BitmapView::zoomOut メソッドはインラインされ、BitmapView::zoom メソッドが呼び出されます。
void zoomIn() { zoom((IlFloat)2.); }
void zoomOut() { zoom((IlFloat).5); }
実装しなくてはならない唯一のメソッドは、BitmapView::zoom メソッドです。
void
BitmapView::zoom(IlFloat factor)
{
IlvContainer* container = IlvContainer::GetContainer(_icon);
container->zoomView(IlvPoint(0,0), factor, factor);
// Resize the container to fit the bitmap
IlvRect bbox;
container->boundingBox(bbox);
container->resize(bbox.w()*factor, bbox.h()*factor);
}
これは、文書ビットマップを表示する
IlvZoomableIcon の描画に使用するトランスフォーマーを変更するため
IlvContainer::zoomView メソッドを使用します。
次に、スクロール・ビューのスクロール・バーが更新されるように、アイコンのコンテナーをリサイズします。
最終的に完成したビットマップ・エディター・アプリケーションを、
figure に示します。
Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.