mirror of
https://github.com/emilk/egui.git
synced 2026-08-31 13:50:04 -04:00
`AtomLayout::gap` is an `Option`, where `None` means "use the theme value". `AtomLayoutStyle::apply` set it unconditionally, so it clobbered the gap a widget had asked for. `DragValue` sets `gap(0.0)` to keep its prefix, value and suffix flush, and lost it, which widened every `DragValue` in the demos. `apply` now fills the gap in only when the widget left it unset. This also reverts the snapshot updates that had captured the wider gap. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
egui demo library
This crate contains example code for egui.
The demo library is a separate crate for three reasons:
- To ensure it only uses the public
eguiapi. - To remove the amount of code in
eguiproper. - To make it easy for 3rd party egui integrations to use it for tests.
This crate also contains benchmarks for egui. Run them with
# Run all benchmarks
cargo bench -p egui_demo_lib
# Run a single benchmark
cargo bench -p egui_demo_lib "benchmark name"
# Profile benchmarks with cargo-flamegraph (--root flag is necessary for MacOS)
CARGO_PROFILE_BENCH_DEBUG=true cargo flamegraph --bench benchmark --root -p egui_demo_lib -- --bench "benchmark name"
# Profile with cargo-instruments
CARGO_PROFILE_BENCH_DEBUG=true cargo instruments --profile bench --bench benchmark -p egui_demo_lib -t time -- --bench "benchmark name"