public boolean validate();
/**
- * Perform the actual rendering. Node state changes should be avoided in
- * this method. This method should not change the transform of the g2d
+ * Perform the actual rendering. Node state changes must be avoided in
+ * this method. Implement node state changes to refresh method instead.
+ * This method should not change the transform of the g2d
* instance. You should call g2d.create or copy the original transform and
* put it back at the end of this method according to what is specified in
* {@link Graphics2D#setTransform(AffineTransform)}.
* @see #getTransform()
*/
public void render(Graphics2D g2d);
+
+ /**
+ * Refresh the node state.
+ */
+ public void refresh();
+
+ /**
+ * Visit the IG2DNode substructure of this node using the provided visitor.
+ *
+ * @param visitor the visitor to use
+ * @since 1.29.0
+ */
+ public void accept(IG2DNodeVisitor visitor);
/**
* Mark the scene graph to be repainted in its current rendering context (UI