
* You can now control the minimum and maixumum number of decimals to show in a `Slider` or `DragValue`. * `Slider` and `DragValue` uses fewer decimals by default. See the full precision by hovering over the value.
5.5 KiB
5.5 KiB
Egui Changelog
All notable changes to the Egui crate will be documented in this file.
NOTE: egui_web
and egui_glium
has their own changelogs!
The format is based on Keep a Changelog.
Unreleased
Added ⭐
- Turn off
Window
title bars withwindow.title_bar(false)
. ImageButton
-ui.add(ImageButton::new(...))
.ui.vertical_centered
andui.vertical_centered_justified
.- Mouse-over explanation to duplicate ID warning.
- You can now easily constrain Egui to a portion of the screen using
RawInput::screen_rect
. - You can now control the minimum and maixumum number of decimals to show in a
Slider
orDragValue
.
Changed 🔧
- Slight tweak of the default
Style
and font sizes. SidePanel::left
andTopPanel::top
now takesimpl Hash
as first argument.ui.image
now takesimpl Into<Vec2>
as asize
argument.- Made some more fields of
RawInput
optional. Slider
andDragValue
uses fewer decimals by default. See the full precision by hovering over the value.
Deprecated
- Deprecated
RawInput::screen_size
- useRawInput::screen_rect
instead.
0.5.0 - 2020-12-13
Added ⭐
- Emoji support: 1216 different emojis that work in any text.
- The Demo app comes with a Font Book to explore the available glyphs.
ui.horizontal_wrapped(|ui| ...)
: Add widgets on a row but wrap atmax_size
.ui.horizontal_wrapped_for_text
: Likeui.horizontal_wrapped
, but with spacing made for embedding text.ui.horizontal_for_text
: Likeui.horizontal
, but with spacing made for embedding text.egui::Layout
now supports justified layouts where contents is also centered, right-aligned, etc.ui.allocate_ui(size, |ui| ...)
: Easily create a child-Ui
of a given size.SelectableLabel
(ui.selectable_label
andui.selectable_value
): A text-button that can be selected.ui.small_button
: A smaller button that looks good embedded in text.ui.drag_angle_tau
: For those who want to specify angles as fractions of τ (a full turn).- Add
Resize::id_source
andScrollArea::id_source
to let the user avoid Id clashes.
Changed 🔧
- New default font: Ubuntu-Light.
- Make it simpler to override fonts in
FontDefinitions
. - Remove minimum button width.
- Refactor
egui::Layout
substantially, changing its interface. - Calling
on_hover_text
/on_hover_ui
multiple times will stack tooltips underneath the previous ones. - Text wrapping on labels, buttons, checkboxes and radio buttons is now based on the layout.
Removed 🔥
- Removed the
label!
macro.
0.4.0 - 2020-11-28
Added ⭐
TextEdit
improvements:- Much improved text editing, with better navigation and selection.
- Move focus between
TextEdit
widgets with tab and shift-tab. - Undo edtis in a
TextEdit
. - You can now check if a
TextEdit
lost keyboard focus withresponse.lost_kb_focus
. - Added
ui.text_edit_singleline
andui.text_edit_multiline
.
- You can now debug why your
Ui
is unexpectedly wide withui.style_mut().visuals.debug_expand_width = true;
Changed 🔧
- Pressing enter in a single-line
TextEdit
will now surrender keyboard focus for it. - You must now be explicit when creating a
TextEdit
if you want it to be singeline or multiline. - Improved automatic
Id
generation, makingId
clashes less likely. - Egui now requires modifier key state from the integration
- Added, renamed and removed some keys in the
Key
enum. - Fixed incorrect text wrapping width on radio buttons
Fixed 🐛
- Fixed bug where a lost widget could still retain keyboard focus.
0.3.0 - 2020-11-07
Added ⭐
- Panels: you can now create panels using
SidePanel
,TopPanel
andCentralPanel
. - You can now override the default Egui fonts.
- Add ability to override text color with
visuals.override_text_color
. - The demo now includes a simple drag-and-drop example.
- The demo app now has a slider to scale all of Egui.
Changed 🔧
ui.horizontal(...)
etc returnsResponse
.- Refactored the interface for
egui::app::App
. - Windows are now constrained to the screen.
Context::begin_frame()
no longer returns aUi
. Instead put your widgets into aSidePanel
,TopPanel
,CentralPanel
,Window
orArea
.Context::end_frame()
now returns paint commands that need to be converted to triangles withContext::tesselate()
.- Anti-aliasing is now off by default in debug builds.
Removed 🔥
- You can no longer throw windows.
Fixed 🐛
- Fix a bug where some regions would slowly grow for non-integral scales (
pixels_per_point
).
0.2.0 - 2020-10-10
- Color picker
- Unicode characters in labels (limited by what the default font supports)
- Simple drop-down combo box menu
- Logarithmic sliders
- Optimization: coarse culling in the tesselator
- CHANGED: switch argument order of
ui.checkbox
andui.radio
0.1.4 - 2020-09-08
This is when I started the CHANGELOG.md, after almost two years of development. Better late than never.
- Widgets: label, text button, hyperlink, checkbox, radio button, slider, draggable value, text editing
- Layouts: horizontal, vertical, columns
- Text input: very basic, multiline, copy/paste
- Windows: move, resize, name, minimize and close. Automatically sized and positioned.
- Regions: resizing, vertical scrolling, collapsing headers (sections)
- Rendering: Anti-aliased rendering of lines, circles, text and convex polygons.
- Tooltips on hover