This seems like a mistake…
The docs for DrawableButton::ButtonStyle give the impression that a DrawableButton’s background will be filled in only when the styles ‘ImageOnButtonBackground’ and ‘ImageOnButtonBackgroundOriginalSize’ are used.
https://docs.juce.com/master/classDrawableButton.html#a7da653337d7329405ef9865cc35f612e
The DrawableButton::paintButton gives the impression that it is decided in that function whether the background is drawn:
if (shouldDrawButtonBackground())
lf.drawButtonBackground (g, *this,
findColour (getToggleState() ? TextButton::buttonOnColourId
: TextButton::buttonColourId),
shouldDrawButtonAsHighlighted, shouldDrawButtonAsDown);
else
lf.drawDrawableButton (g, *this, shouldDrawButtonAsHighlighted, shouldDrawButtonAsDown);
However, the ‘else’ branch goes to LookAndFeel_V2::drawDrawableButton which proceeds to fill the background for toggled-on buttons regardless:
g.fillAll (button.findColour (toggleState ? DrawableButton::backgroundOnColourId
: DrawableButton::backgroundColourId));
So then, one is forced to use LnF to get rid of the background.
I would suggest removing the background fill from the drawDrawableButton.
