embedded-gui
embedded-gui copied to clipboard
Improve theme definition
This PR reimplements DefaultTheme in a bit more flexible way, and allows extending the theme with additional color schemes.
Closes #55 and maybe others
Remaining:
- [x] CheckBox
- [x] RadioButton
- [x] Slider
- [x] ScrollBar
- [x] Only define a scrollbar style once (H, V)
- [x] Define multiple states with the same styling (
StateA, StateB { ... }
) - [x] Relax static str requirement in button-like objects
- [x] Label styles (e.g. Header)
- [x] Use in examples
- [x] Move checkbox/radio rendering to theme
- [ ] Add border and display clear color to theme (border as a widget?)
- [ ] showcase the title widget
After impl, decide if helper macros should/could be deduplicated. Investigate how to allow more color options in RGB color schemes. Define styles required to close #23 and #36, #37
I'm still not quite happy with where this goes. Ideally, I would like to set a primary and seconday accent color, and the theme should generate all colors necessary. This will probably be the focus of a future PR