You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

4.3 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

  • Emoji support:
    • 1216 different emojis.
    • Works in any text.
    • Great for button icons.
    • The Demo app comes with a Font Book to explore the available glyphs.
  • Wrapping layouts:
    • ui.horizontal_wrapped(|ui| ...): Add widgets on a row but wrap at max_size.
    • ui.horizontal_wrapped_for_text: Like horizontal_wrapped, 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 created a sized child-Ui.
  • SelectableLabel (ui.selectable_label and ui.selectable_value): A text-button that can be selected.
  • ui.small_button: A smaller button that looks good embedded in text.
  • Add Resize::id_source and ScrollArea::id_source to let the user avoid Id clashes.

Changed 🔧

  • Changed default font to Ubuntu-Light.
  • Remove minimum button width
  • Refactored egui::Layout substantially, changing its interface.
  • Calling ``on_hover_text/on_hover_ui` multiple times will stack tooltips underneath the previous ones.

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 with response.lost_kb_focus.
    • Added ui.text_edit_singleline and ui.text_edit_multiline.
  • You can now debug why your Ui is unexpectedly wide with ui.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, making Id 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 and CentralPanel.
  • 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 returns Response.
  • Refactored the interface for egui::app::App.
  • Windows are now constrained to the screen.
  • Context::begin_frame() no longer returns a Ui. Instead put your widgets into a SidePanel, TopPanel, CentralPanel, Window or Area.
  • Context::end_frame() now returns paint commands that need to be converted to triangles with Context::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 and ui.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