各マネージャー・ビュー (クラス IlvManagerView) には、ビューを表示するマネージャー領域の定義と、オブジェクトに適用するズーム・レベルと回転を定義する独自のトランスフォーマーがあります。
次のメソッドを使用して、ビューの現在のトランスフォーマーを取得できます。
IlvTransformer getTransformer()
ビューに関連付けられたトランスフォーマーを変更するには、次のメソッドを使用します。
void setTransformer(IlvTransformer t)
void addTransformer(IlvTransformer t)
void translate(float deltax, float deltay, boolean redraw)
void zoom(IlvPoint, double, double, boolean)
void fitTransformerToContent()
void ensureVisible(IlvPoint p)
void ensureVisible(IlvRect rect)
拡大または縮小したときのゆがみを防ぐために、次のメソッドを使用して水平および垂直のアスペクト比が変わらないように指定することができます。
boolean isKeepingAspectRatio()
void setKeepingAspectRatio(boolean set)
KeepingAspectRatio
プロパティーがオンになっている場合は、ビューにどのトランスフォーマーを設定してもビューの垂直スケールと水平スケールは必ず同じになります。例: ビューのズーム
次のコードは、ビューを倍率 2 で拡大します。
managerView.zoom(point, 2.0, 2.0, true);
引数として指定された
point
は、ズーム後も位置は変わりません。最後のパラメーターがビューの再描画を強制的に行います。トランスフォーマー・リスナー
ビューのトランスフォーマーが変更されると、ビューは TransformerChangedEvent イベントを実行します。
ビューのトランスフォーマーの変更通知を受け取るには、
TransformerListener
インターフェースをクラスで実装し、それ自体を、 IlvManagerView の addTransformerListener メソッドを使用して登録する必要があります。 removeTransformerListener メソッドを使用して、リスナーがそのようなイベントの通知を受け取らないように指定することもできます。ビューのトランスフォーマーが変更されると、ビューはすべてのリスナーの
transformerChanged
メソッドを呼び出します。void transformerChanged(TransformerChangedEvent event)
このメソッドは、パラメーターとしてクラス TransformerChangedEvent のインスタンスとともに呼び出されます。
event
パラメーターは、トランスフォーマーの新旧値を取得する場合に使用できます。