グラフィック・オブジェクト > 複合グラフィック・オブジェクト > オブジェクトの参照IlvGraphicHandle
 
オブジェクトの参照IlvGraphicHandle
IlvGraphicHandle オブジェクトは、IlvGraphic オブジェクトの参照に使用します。IlvGraphicHandle オブジェクトはハンドル・オブジェクト (または単にンドル) と呼ばれ、IlvGraphic オブジェクトは被参照オブジェクトと呼ばれます。
オブジェクトの参照
この関係により、ハンドル・オブジェクトを使って被参照オブジェクトに間接的にアクセスできます。また、同じ被参照オブジェクトは複数のハンドルの間で共有できます。したがって、ハンドル・オブジェクトを通して新しいハンドルを作成することにより、複雑なグラフィック・オブジェクトを何度も複製できます。また、新しいハンドルはすべて同じ元のオブジェクトを参照します。ハンドルは新しいイメージの作成に比べメモリー使用が大幅に少ないため、ハンドル・オブジェクトの使用は非常に経済的です。
オブジェクトの所有
ハンドル・オブジェクトを関連付けられている固有の被参照オブジェクトの所有にすることができます。この場合、被参照オブジェクトに直接アクセスせずにそのハンドルを通じてのみアクセスします。
ハンドルがその被参照オブジェクトを所有している場合、ハンドルを削除するとハンドルと被参照オブジェクトの両方が削除されます。一方、ハンドルとその被参照オブジェクトに所有関係がない場合は削除によってハンドルだけが削除され、もう一方のグラフィック・オブジェクトはそのまま残されます。
IlvTransformedGraphic
専用のグラフィック・ハンドル・サブクラス IlvTransformedGraphic を使用して、同じオブジェクトを複数回、異なったジオメトリー変換を適用して表示できます。
IlvTransformedGraphic クラスは、handle 基本クラスの IlvGraphicHandle から派生しています。IlvTransformedGraphic タイプのオブジェクトは、IlvGraphic クラスの特定の被参照オブジェクトに関連付けられたハンドルの 1 種です。IlvTransformedGraphic インスタンスは、グラフィック変換をその被参照オブジェクトに適用して導出されます。
オブジェクト・ジオメトリーは、丸め誤差により、さまざまな変換で問題が起こります。これを避けるために、IlvTransformedGraphic をオブジェクトに関連付けることができます。
IlvFixedSizeGraphic
専用のグラフィック・ハンドル・サブクラスである IlvFixedSizeGraphic を使用して、オブジェクトを常に同じサイズで表示することができます。たとえば、マップ・ビューアーを終了させるために使用する IlvButton オブジェクトで表示されているマップがあるとします。マップがズーム、アンズームされても、ボタンは同じサイズのままです。これを行うには、専用の IlvGraphicHandle オブジェクト IlvFixedSizeGraphic を持つボタンを参照します。
IlvFixedSizeGraphic クラスは IlvTransformedGraphic と同様に、IlvGraphicHandle クラスから派生しています。IlvFixedSizeGraphic オブジェクトは一種のハンドルであり、これは IlvGraphic クラスの特定の被参照オブジェクトに関連付けらていれます。IlvFixedSizeGraphic のインスタンスは、その被参照オブジェクトにグラフィック変換を適用することで導出されます。これで被参照オブジェクトの表示サイズは変更できません。
どのような変換が適用されても、オブジェクトは参照ポイントに比例して同じ寸法、定数オフセットを保持します。これらの値は内部的に Rogue Wave Views により計算されるか、またはユーザーにより指定されます。
IlvGraphicInstance
専用のグラフィック・ハンドル・サブクラスである IlvGraphicInstance を使用して、オブジェクトをグラフィック・リソース変更と共にカプセル化できます。
IlvGraphicInstance は、他のパレットのアトリビュートで描画できるように、他のグラフィック・オブジェクトを参照します。オプションで、IlvTransformer を使用して、ジオメトリー変換をこのオブジェクトに適用できます。

Version 5.6
Copyright © 2012, Rogue Wave Software, Inc. All Rights Reserved.