I didn’t think you were insulting me. I was genuinely concerned there was a good reason for not painting over an invisible button (like, a technical reason that would slow down rendering).
Resizable UIs present a considerable challenge; it quickly became apparent to me that JUCE’s idea of a resizable UI (which is more like the web’s) isn’t really compatible with what customers think a resizable UI is (scaling) and I’ve developed a fairly extensive catalog of methods for doing a pure vector, entirely scalable UI. A lot of these methods involve, for simplicity’s sake, using an invisible Slider or TextButton, or group thereof, and wrapping it in a new Component and using that Component’s paint() method to actually draw the control.
For a single button that isn’t behaving, you’re absolutely correct; my method is dumb. But if it’s my company’s policy to create controls this way… I don’t have to impress you or the UI coders at Waves. I have to ship a product that works, and that our employees can support and extend, and that have a lifespan. The fact that Look And Feel is V4, and is as scattershot and haphazard as it is reinforces my opinion that, in this particular case, I don’t believe I’m wrong.
My overarching point was that there are multiple ways to skin this particular cat, and they’re context-sensitive.