In the current implementation of vtkSlicerMarkupsWidgetRepresentation, active and invalid colors are hard coded as gray and bright green respectively. Since the selected and unselected colors of control points can be configured for each markup node, I think it is better to make them also configurable, maybe leave it as an entry in the application setting panel?
There are already so many options to control how markups are displayed that probably exposing a few more would not make things any worse. It would be great if you could add a pull request that adds an “ActiveColor” property to vtkMRMLMarkupsDisplayNode, which is used in the displayable managers instead of a hardcoded value.
I’m not sure what you mean by “invalid” colors. If you mean the color that is used when no display node is generated then I think we can leave that as is. I would expect that markups would not be displayed at all without a valid display node (and if they do then it is probably a bug).
Thanks for the response. I’ll be glad to add this feature when I’m free. Besides, I don’t know the usage of invalid color either and never met such condition that an invalid point appeared. I mentioned it because invalidColor is defined in the code.