This change has broken some UI in my app because not all shape buttons reflect toggle state in the same way.
I purposefully have a lot of code that changes ShapeButton colours when the state is toggled.
For example, I use ShapeButtons to control various panel visibilities in Tracktion. I don’t want the button to look the same when the panel is visible and when the user has the mouse held down on the button. I often use the same colour for the ‘on’ state but change the shape.
To me, the ‘up/over/down’ states are separate from the ‘toggled’ states and you may well want effectively 6 different colours for the toggled variants of the state.
Wouldn’t it be better to add a method to set the toggled state colours? (And then a method to use these instead of the default colours so we could have both behaviours?)