This PR reworks the way styles are handled by controls throughout the window.
The initial motivation was to add a simple way to switch themes at runtime, which in itself was simple enough but I wanted a way to allow individual widgets to have their own style rather than overriding them all each time the window's theme changed.
This makes it so each widget's theme_style field is empty unless explicitly set, and when rendering it uses the theme set on the window unless otherwise specified.
Previously V UI set the theme_style across all widgets when the window is created.
I haven't thoroughly tested each example yet, and in absence of unit tests have been basing this work on a sample app of my own which doesn't use anywhere near every control available, so oversights may be present. I apologise if any have slipped through.
This PR reworks the way styles are handled by controls throughout the window.
The initial motivation was to add a simple way to switch themes at runtime, which in itself was simple enough but I wanted a way to allow individual widgets to have their own style rather than overriding them all each time the window's theme changed.
This makes it so each widget's
theme_style
field is empty unless explicitly set, and when rendering it uses the theme set on the window unless otherwise specified. Previously V UI set thetheme_style
across all widgets when the window is created.I haven't thoroughly tested each example yet, and in absence of unit tests have been basing this work on a sample app of my own which doesn't use anywhere near every control available, so oversights may be present. I apologise if any have slipped through.