fix(deps): update rust crate egui27 to 0.30 #79
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.27
->0.30
Release Notes
emilk/egui (egui27)
v0.30.0
Compare Source
✨ Highlights
Modal
, a popup that blocks input to the rest of the application (#5358 by @lucasmerlin)egui_kittest
This release welcomes a new crate to the family: egui_kittest.
egui_kittest
is a testing framework for egui, allowing you to test both automation (simulated clicks and other events),and also do screenshot testing (useful for regression tests).
egui_kittest
is built usingkittest
, which is a general GUI testing framework that aims to work with any Rust GUI (not just egui!).kittest
uses the accessibility libraryAccessKit
for automatation and to query the widget tree.kittest
andegui_kittest
are written by @lucasmerlin.Here's a quick example of how to use
egui_kittest
to test a checkbox:⭐ Added
Modal
andMemory::set_modal_layer
#5358 by @lucasmerlinUiBuilder::layer_id
and removelayer_id
fromUi::new
#5195 by @emilkTextEdit
#5203 by @bircniResponse::intrinsic_size
forTextEdit
#5266 by @lucasmerlinMultiTouchInfo
#5247 by @lucasmerlinContext::add_font
#5228 by @frederik-uniBox<str>
forWidgetText
,RichText
#5309 by @dimtpapWindow::scroll_bar_visibility
#5231 by @ZeenobitComboBox::close_behavior
#5305 by @avalschpainter.line()
#5291 by @bircniButton::image_tint_follows_text_color
#5430 by @emilkContext::layer_transform_to_global
&layer_transform_from_global
#5465 by @emilk🔧 Changed
Arc
to reduce memory consumption #5276 by @StarStarJegui::util::cache
toegui::cache
; addFramePublisher
#5426 by @emilkOrder::PanelResizeLine
#5455 by @emilkprofiling
crate to support more profiler backends #5150 by @teddemunnik🐛 Fixed
ScrollArea
drag velocity when drag stopped #5175 by @valadaptiveViewportCommand::Visible
#5244 by @rustbasicUi::new_child
does not consider thesizing_pass
field ofUiBuilder
#5262 by @zhatuokunWindow::default_pos
does not work #5315 by @rustbasicSides
did not apply the layout position correctly #5303 by @zhatuokunStyle::override_font_id
inRichText
#5310 by @MStarhaTextEdit
inside aScrollArea
#3660 by @juancampaon_hover_text_at_pointer
for transformed layers #5429 by @emilkArea
outside itsconstrain_rect
#5459 by @MScottMcBeeui.new_child
should now respectdisabled
#5483 by @emilkv0.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 @AliremuConfiguration
📅 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.