fix(deps): update rust crate egui26 to 0.29 #65
Closed
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.26
->0.29
Release Notes
emilk/egui (egui26)
v0.29.1
Compare Source
with_layer_id/dnd_drag_source
#5191 by @emilkUi::response
#5192 by @emilkv0.29.0
Compare Source
✨ Highlights
This release adds initial support for multi-pass layout, which is a tool to circumvent a common limitation of immediate mode.
You can use the new
UiBuilder::sizing_pass
(#4969) to instruct theUi
and widgets to shrink to their minimum size, then store that size.Then call the new
Context::request_discard
(#5059) to discard the visual output and do another pass immediately after the current finishes.Together, this allows more advanced layouts that is normally not possible in immediate mode.
So far this is only used by
egui::Grid
to hide the "first-frame jitters" that would sometimes happen before, but 3rd party libraries can also use it to do much more advanced things.There is also a new
UiBuilder
for more flexible construction ofUi
s (#4969).By specifying a
sense
for theUi
you can make it respond to clicks and drags, reading the result with the newUi::response
(#5054).Among other things, you can use this to create buttons that contain arbitrary widgets.
0.29 also adds improve support for automatic switching between light and dark mode.
You can now set up a custom
Style
for both dark and light mode, and have egui follow the system preference (#4744 #4860).There also has been several small improvements to the look of egui:
The new text selection
What text selection used to look like
🧳 Migration
id_source
is now calledid_salt
everywhere (#5025)Ui::new
now takes aUiBuilder
(#4969)UiBuilder
):ui.add_visible_ui
ui.allocate_ui_at_rect
ui.child_ui
ui.child_ui_with_id_source
ui.push_stack_info
⭐ Added
UiBuilder
for buildingUi
s #4969 by @emilkegui::Sides
for adding UI on left and right sides #5036 by @emilkUi
:s: addUiBuilder::sense
andUi::response
#5054 by @lucasmerlinUi::columns_const()
#4764 by @v0x0gSlider::max_decimals_opt
#4953 by @bircniLabel::halign
#4975 by @rustbasicui.shrink_clip_rect
#5068 by @emilkScrollArea::scroll_bar_rect
#5070 by @emilkOptions::input_options
for click-delay etc #4942 by @girtsfWidgetType::RadioGroup
#5081 by @bashwith_accessibility_parent
#5083 by @bashUi::with_visual_transform
#5055 by @lucasmerlinSlider
andDragValue
compatible withNonZeroUsize
etc #5105 by @emilkContext::request_discard
for multi-pass layouts #5059 by @emilkFontTweak
live #5125 by @emilkResponse::intrinsic_size
to enable better layout in 3rd party crates #5082 by @lucasmerlinDebugOptions::show_unaligned
#5165 by @emilkSlider::clamping
for precise clamp control #5119 by @emilk🚀 Performance
Color32::from_rgba_unmultiplied
with LUT #5088 by @YgorSouza🔧 Changed
id_source
toid_salt
#5025 by @bircniId
clashes by seeding auto-ids with child id #4840 by @ironpeakMargin::ui
#4873 by @rustbasicscroll_to_*
animations configurable #4305 by @lucasmerlinButton
to correctly align contained image #4891 by @PrimmRahash
re-exports #4979 by @oscargusgenerate-link-to-definition
feature on docs.rs #5030 by @GuillaumeGomezMemory
methods public #5046 by @bircniui.set_sizing_pass
#5074 by @emilkegui::frame
#5087 by @simgtlog
crate instead ofeprintln
& remove some unwraps #5010 by @bircniEvent::Copy
andEvent::Cut
behave as if they select the entire text when there is no selection #5115 by @rustbasic🐛 Fixed
TextEdit
to fix some bugs #4794 by @rustbasicstep_by
#4822 by @AurevoirXavierTextEdit
#4889 by @PrimmRTextEdit
when clicked #4991 by @ZoxcId
clash inFrame
styling widget #4967 by @YgorSouzaScrollArea
contents from exceeding the container size #5006 by @DouglasDwyerRawInput::take
clears all events, like it says it does #5104 by @emilkDragValue
range clamping #5118 by @emilkv0.28.1
Compare Source
⭐ Added
Image::uri()
#4720 by @rustbasic🔧 Changed
Event::Zoom
#4778 by @emilk🐛 Fixed
v0.28.0
Compare Source
✨ Highlights
ui.stack()
with info about all ancestorUi
s, with optional tags #4588 by @abey79, #4617 by @emilkTextEdit
#4279 by @emilk🧳 Migration
wrap/truncate
functions onLabel/Button/ComboBox
no longer take bools as arguments. Use.wrap_mode(…)
instead for more fine control (#4556)Style::wrap
has been deprecated in favor ofStyle::wrap_mode
(#4556)Ui::new
andui.child_ui
now takes a new parameter for theUiStack
(#4588)extra_asserts
andextra_debug_asserts
feature flags have been removed (#4478)Event::Scroll
and handle it in egui. UseEvent::MouseWheel
instead (#4524)Event::Zoom
is no longer emitted on ctrl+scroll. UseInputState::smooth_scroll_delta
instead (#4524)ui.set_enabled
andset_visbile
have been deprecated (#4614)DragValue::clamp_range
renamed torange
((#4728)⭐ Added
Rect + Margin
,Rect - Margin
etc #4277 by @emilkWindow::order
#4301 by @alexparlettViewportCommand::RequestCut
,RequestCopy
andRequestPaste
to trigger clipboard actions #4035 by @bu5hm4nnDisplay
impl forVec2
,Pos2
, andRect
#4428 by @tgross35Options::line_scroll_speed
andscroll_zoom_speed
#4532 by @emilkTextEdit::hint_text_font
#4517 by @zaaarfOptions::reduce_texture_memory
to free up RAM #4431 by @varphoneegui::Style
#4556 by @abey79Response::show_tooltip_ui
andshow_tooltip_text
#4580 by @emilkopacity
andmultiply_opacity
functions toUi
andPainter
#4586 by @emilkKey::Quote
#4683 by @mkeeterPopupCloseBehavior
#4636 by @Umatrizclamp_to_range
option to DragValue, renameclamp_range
torange
(deprecating the former) #4728 by @WumpfStyle::number_formatter
as the default used byDragValue
#4740 by @emilk🔧 Changed
TextEdit
an atomic widget #4276 by @emilkfn scroll2
tofn scroll
#4282 by @emilkFrame::multiply_with_opacity
to multiply in gamma space #4283 by @emilkUi
s style for popups #4325 by @alexparlettrounding
into account when usingSlider::trailing_fill
#4308 by @rustbasicViewportBuilder::with_icon()
documentation #4408 by @roccobluesinclude_image!
now accepts expressions #4521 by @YgorSouzaTextEdit::return_key
optional #4543 by @doonvComboBox
: fix justified layout of popup if wider than parent button #4570 by @emilkArea
state public #4576 by @emilkArea
size #4749 by @emilkegu::menu
types public #4544 by @sor-caArea/Window
is nowctx.screen_rect
#4590 by @emilkArea
s to screen by default #4591 by @emilkGrid
: set thesizing_pass
flag during the initial sizing pass #4612 by @emilkDragValue
andSlider
now ignores whitespace #4739 by @emilk🐛 Fixed
drag_released*
#4314 by @sornashex_color!
macro by re-exportingcolor_hex
crate fromecolor
#4372 by @dataphractUi::allocate_painter
to inherit properties fromUi
#4343 by @varphonePanel
incorrect size #4351 by @zhatuokunEvent::Ime
#4358 by @rustbasicScrollArea
andPlot
when UI is disabled #4457 by @varphoneUi::scroll_with_delta
only scrolling if theScrollArea
is focused #4303 by @lucasmerlinResponse::hover_pos
returns incorrect positions with layer transforms #4679 by @Creative0708Area::show
response #4710 by @emilkWindow
scroll bars are at the window edges #4733 by @emilkTextEdit
widgets from sending fake primary clicks #4751 by @Aliremuv0.27.2
Compare Source
🐛 Fixed
TextEdit
#4272Response::clicked_elsewhere
takes clip rect into account #4274Response::interact_rect
forArea/Window
#4273⭐ Added
ScrollArea
#4309 (thanks @lucasmerlin!)v0.27.1
Compare Source
🐛 Fixed
InputState::any_touches
and addInputState::has_touch_screen
#4247Context::repaint_causes
returning no causes #4248zoom_with_keyboard
is false #4262🔧 Changed
Area
orWindow
#4258v0.27.0
Compare Source
The hit test logic (what is the user clicking on?) has been completely rewritten, and should now be much more accurate and helpful.
The hit test and interaction logic is run at the start of the frame, using the widgets rects from the previous frame, but the latest mouse coordinates.
It enabled getting a
Response
for a widget before creating it usingContext::read_response
.This will in the future unlock more powerful widget styling options.
The new hit test also allows clicking slightly outside a button and still hit it, improving the support for touch screens.
The menus have also been improved so that they both act and feel better, with no change in API.
Included in this is much nicer looking shadows, supporting an offset.
Response::clicked*
andResponse::dragged*
may lock theContext
, so don't call it from aContext
-locking closure.Response::clicked_by
will no longer be true if clicked with keyboard. UseResponse::clicked
instead.Memory::focus
has been renamedMemory::focused
Area::new
now takes anId
by argument #4115clicked_by
#4192☰ Menu related improvements
Area::sense
and improve hit-testing of buttons in menus #4234Shadow
with offset, spread, and blur #4232⭐ Added
Options::debug_paint_interactive_widgets
#4018Ui::set_opacity
#3965 (thanks @YgorSouza!)Response::paint_debug_info()
to make it easy to visualize a widget's id and state #4056 (thanks @abey79!)ColorImage::from_gray_iter
#3536 (thanks @wangxiaochuTHU!)ProgressBar
andSpinner
#4139 (thanks @DataTriny!)const fn
forMargin
,Rounding
andShadow
#4080 (thanks @0Qwel!)Area
an id distinct from the id of what was clicked #4114epaint
: AddedShape::{scale,translate}
wrappers #4090 (thanks @varphone!)Window
can now be resizable in only one direction #4155EllipseShape
#4122 (thanks @TheTacBanana!)HeaderResponse
#4200 (thanks @Zeenobit!)🔧 Changed
TextEdit
: Changemargin
property toegui::Margin
type #3993 (thanks @bu5hm4nn!)ui.dnd_drop_zone()
now returnsInnerResponse
. #4079 (thanks @sowbug!)Ui
#4074ui.scroll_to_cursor
etc #4119egui::Window
from becoming larger than viewport #4199 (thanks @rustbasic!)🐛 Fixed
Window
title bar #3995 (thanks @varphone!)on_disabled_hover_ui
respecttooltip_delay
#4012 (thanks @YgorSouza!)TextEdit
being too short whenever there is horizontal margin #4005 (thanks @gweisert!)Response::interact
andUi:interact_with_hovered
#4013Response.interact_pointer_pos
isSome
on click and drag released #4014Window
Frame
s #4009 (thanks @varphone!)Window
frame with a wide border or large rounding #4032 (thanks @varphone!)ScrollArea
bugs: leaking scroll target and broken animation to target offset #4174 (thanks @abey79!)Context::parent_viewport_id
#4190 (thanks @rustbasic!)RepaintCause::new
#4146 (thanks @valsteen!)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.