多角形の塗りつぶし:IlvGraphicPath
IlvGraphicPath オブジェクトは、
ポリポイント・オブジェクトの集まりです。つまり各オブジェクトは一連の点で構成されています。ポリポイント・オブジェクトは、オブジェクトの描画ルールのアトリビュート値により異なって描かれます。
IlvStrokeOnly:ポリライン
IlvFillOnly:塗りつぶし多角形。
IlvStrokeAndFill:上記の両方。つまり輪郭のある塗りつぶし多角形。
IlvSimpleGraphic サブクラスによって定義されたパレットは、多角形の輪郭を描画するために使われます。
IlvGraphicPath は、2 つめのパレット (
backgroundPalette) が多角形を塗りつぶすように定義します。
IlvGraphicPath と
IlvPolygon 関数の両方では、ポリポイントの描画に使用するリソース (色などのグラフィック・アトリビュート) が同じであるのに対し、形状が互いに影響を与える方法は異なります。各ポリポイントは他のポリポイントのレンダリングに影響します (
IlvStrokeOnly モードには該当しません)。たとえば、ポリポイントはその点の位置によって、通常の多角形または別の多角形内の空白として表示されます。
IlvGraphicPath ではまた、ポリポイントを描画するときに、ユーザー固有のアクションを使用できます。これは、データ構造体を
IlvGraphicPath に付加して行います。
IlvGraphicPath のバウンディング・ボックスは、そのパスで表示されているグラフィック・オブジェクトのバウンディング・ボックスを考慮していないことにご注意ください。
IlvGraphic はステップ・データ構造でのみ認識されます。ただし、
IlvGraphicPath は、グラフィック・パスのバウンディング・ボックスを指定した値だけ拡大できるメンバー関数を提供しています。
void setBBoxExtent(IlUInt extent);
通常は、次のようになります。
grpath->setPathDrawingData(new IlvPathDrawingData(step, obj));
grpath->setBBoxExtent(bboxExtension);
ここで、bboxExtension は obj のジオメトリーおよびその表示方法 (回転が含まれるか否か) により計算されます。
オブジェクトのバウンディング・ボックスの対角線は、bboxExtension に適切な値です。
Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.