mirror of
https://github.com/emilk/egui.git
synced 2026-08-29 12:50:04 -04:00
`ButtonStyle` carried a `min_size` and a gap; `TextEditStyle` carried neither, so a themed text edit could set its padding but not its height or the gap to its prefix — the height had to travel separately on the widget, and the gap fell back to the ambient `spacing.icon_spacing`. A theme decides the two together, so they move into a `LayoutStyle` that both styles embed. `TextEdit` now honors both, with defaults that keep today's rendering: no floor of egui's own, and the gap `AtomLayout` was already falling back to. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Example showing how the style engine work.
A custom StyleProvider<ButtonStyle> styles every button, using classes to tell them apart.
The theme can be edited live in the left panel.
cargo run -p styling_engine