egui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.
Try it now: https://www.egui.rs/
egui changelog
⚠️ BREAKING
- Always set
response.hovered
to false when dragging another widget #3860 InputState::scroll_delta
has been replaced byInputState::raw_scroll_delta
andInputState::smooth_scroll_delta
#3884- Improve
Response.dragged
,drag_started
andclicked
#3888
⭐ Added
- Selectable text in Labels #3814 #3870
- Add some drag-and-drop-related APIs in
Response
andMemory
#3876 (thanks @abey79!) - Add drag-and-drop APIs with payloads storage #3887
ComboBox
: add builder method for height #3001 (thanks @hinto-janai!)- Add keys
?
,/
,|
#3820 - Add
Response::contains_pointer
#3859 - Add
Align2::anchor_size
#3863 - Add
Context::debug_text
#3864 - Allow read access to shapes added to painter this frame #3866 (thanks @brunizzl!)
- Register callbacks with
Context::on_begin_frame
andon_end_frame
#3886 - Improve
Frame
API to allow picking color until after adding content #3889 - Add opacity factor to
TextShape
#3916 (thanks @StratusFearMe21!) Context::repaint_causes
:file:line
of what caused a repaint #3949- Add
TextureOptions::wrap_mode
#3954 (thanks @CodedNil!) - Add
Spacing::menu_width
#3973
🔧 Changed
- Move text selection logic to own module #3843
- Smooth scrolling #3884
- Turn off text wrapping by default in combo-box popups #3912
Response.context_menu
now returns the response of the context menu, if open #3904 (thanks @AufarZakiev!)- Update to puffin 0.19 #3940
- Wait with showing tooltip until mouse has been still for 300ms #3977
🐛 Fixed
- Fix: dragging to above/below a
TextEdit
orLabel
will select text to begin/end #3858 - Fix clickable widgets blocking scrolling on touch screens #3815 (thanks @lucasmerlin!)
- Fix
stable_dt
#3832 - Bug Fix :
Response::is_pointer_button_down_on
is now false the frame the button is released #3833 (thanks @rustbasic!) - Use runtime knowledge of OS for OS-specific text editing #3840
- Fix calling
request_repaint_after
every frame causing immediate repaint #3978
🚀 Performance
- Niche-optimize
Id
so thatOption<Id>
is the same size asId
#3932 - Parallel tessellation with opt-in
rayon
feature #3934
eframe changelog
- Update
wgpu
to 0.19 #3824 - Disable the default features of
wgpu
#3875 - Much more accurate
cpu_usage
timing #3913 - Update to puffin 0.19 #3940
Desktop/Native:
- Keep
ViewportInfo::maximized
andminimized
up-to-date on Windows #3831 (thanks @rustbasic!) - Handle
IconData::default()
without crashing #3842 - Fix Android crash on resume #3847 #3867 (thanks @Garoven!)
- Add
WgpuConfiguration::desired_maximum_frame_latency
#3874 - Don't call
App::update
on minimized windows #3877 (thanks @rustbasic!)