レンダラーの一般ルールに加えて、レンダリング・プロパティー を使用してオブジェクトごとにレンダラーの動作をカスタマイズするように、
特定のルールを作成できます。
レンダリング・プロパティーは、グラフィック・オブジェクトの追加プロパティーと見なすことができ、これを設定することで、
特定のオブジェクトの処理方法をレンダラーに指示できます。
例えば、
GraphLayout
レンダラーは、Fixed
というレンダリング・プロパティーを定義しています。
このプロパティーを true
に設定すると、GraphLayout
レンダラーはオブジェクトの位置を変更しません。
以下のコード例では、Fixed
プロパティーを設定するスタイル・ルールを示します。特定タイプのノードのレイアウトのカスタマイズ
node.participant { shapeType : "Ellipse"; Fixed : "true"; }
このルールは、グラフ・レイアウト の適用時に、
タイプ
participant
のノードを移動してはならないことを指示しています。
ご覧のとおり、グラフィック・オブジェクトの「実際の」プロパティー
(shapeType
など) とレンダリング・プロパティー
(Fixed
など) を混用できます。重要
一般に、ほとんどのレンダリング・プロパティーの先頭文字は大文字であるのに対し、グラフィック・オブジェクトのプロパティーの先頭文字は小文字です。
以下の事前定義レンダラーには、レンダリング・プロパティーがありません。
- Coloring
- Decoration
- LabelLayout
- Legend
(通常はこのようなことにはなりませんが)
レンダリング・プロパティーがグラフィック・オブジェクト・プロパティーと競合する場合は、
疑似クラス構造を使用して、ルールを指定レンダラーに制限できます。
例えば、カスタム・グラフィック・オブジェクトを作成していて、このオブジェクトにも
Fixed
というプロパティーがあるものとします。
以下のコード例では、(カスタム・グラフィック・オブジェクトではなく)
レンダラーでのみプロパティーを設定するように指定するスタイル・ルールを示します。グラフィック・オブジェクトのレンダラー・プロパティーの設定
node.participant:renderer { Fixed : "true"; }
疑似クラス
renderer
は、Fixed
というプロパティーを持つレンダラーとして解釈されます。疑似クラス指定は、先頭文字が小文字のレンダラー名にすることもできます
(例えば、
graphLayoutRenderer
)。