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 .