Using rendering properties on objects

In addition to the general rules for renderers, you can write specific rules to customize the behavior of a renderer on a per-object basis through rendering properties. Rendering properties can be seen as additional properties of the graphic objects which you can set to tell a renderer how it should handle a particular object.
For example, the GraphLayout renderer defines a rendering property called Fixed. When this property is set to true, the GraphLayout renderer will keep the position of the object unchanged. The following code example shows a style rule that sets the Fixed property.
Customizing the layout of a type of node
node.participant {
   shapeType   : "Ellipse";
   Fixed : "true";	
}
This rule says that the nodes of type participant must not be moved when a graph layout is applied. As you can see, you can mix “real” properties of graphic objects (such as shapeType) with rendering properties (such as Fixed).
Important
By convention, most rendering properties start with an uppercase letter, whereas the properties of graphic objects start with a lowercase letter.
The following predefined renderers do not have rendering properties:
  • Coloring
  • Decoration
  • LabelLayout
  • Legend
If a rendering property conflicts with a graphic object property (which should generally not happen), you can use the pseudo-class construct to restrict a rule to a specified renderer. As an example, suppose you have written a custom graphic object which also has a property called Fixed. The following code example shows a style rule which specifies that the property is to be set only in the renderer (not in the custom graphic object).
Setting a renderer property for a graphic object
node.participant:renderer {
   Fixed : "true";	
}
The pseudo-class renderer is interpreted as the renderer which has the property called Fixed.
The pseudo-class specification can also be the name of the renderer with an initial lowercase letter, for example, graphLayoutRenderer.