Release Egui 0.5.0

## 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 at `max_size`.
* `ui.horizontal_wrapped_for_text`: Like `ui.horizontal_wrapped`, but with spacing made for embedding text.
* `ui.horizontal_for_text`: Like `ui.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` and `ui.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` and `ScrollArea::id_source` to let the user avoid Id clashes.

### Changed 🔧

* New default font: [Ubuntu-Light](https://fonts.google.com/specimen/Ubuntu).
* 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.
This commit is contained in:
Emil Ernerfeldt 2020-12-13 21:15:57 +01:00
parent a7ae15871c
commit 403e2dfe5f
5 changed files with 10 additions and 8 deletions

View file

@ -8,6 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## Unreleased ## Unreleased
## 0.5.0 - 2020-12-13
### Added ⭐ ### Added ⭐
* Emoji support: 1216 different emojis that work in any text. * Emoji support: 1216 different emojis that work in any text.

6
Cargo.lock generated
View file

@ -569,7 +569,7 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
[[package]] [[package]]
name = "egui" name = "egui"
version = "0.4.0" version = "0.5.0"
dependencies = [ dependencies = [
"ahash", "ahash",
"criterion", "criterion",
@ -581,7 +581,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_glium" name = "egui_glium"
version = "0.4.0" version = "0.5.0"
dependencies = [ dependencies = [
"chrono", "chrono",
"clipboard", "clipboard",
@ -594,7 +594,7 @@ dependencies = [
[[package]] [[package]]
name = "egui_web" name = "egui_web"
version = "0.4.0" version = "0.5.0"
dependencies = [ dependencies = [
"egui", "egui",
"js-sys", "js-sys",

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui" name = "egui"
version = "0.4.0" version = "0.5.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Simple, portable immediate mode GUI library for Rust" description = "Simple, portable immediate mode GUI library for Rust"
edition = "2018" edition = "2018"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui_glium" name = "egui_glium"
version = "0.4.0" version = "0.5.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for using Egui natively using the glium library" description = "Bindings for using Egui natively using the glium library"
edition = "2018" edition = "2018"
@ -15,7 +15,7 @@ include = [ "**/*.rs", "Cargo.toml"]
[dependencies] [dependencies]
chrono = { version = "0.4" } chrono = { version = "0.4" }
clipboard = "0.5" clipboard = "0.5"
egui = { version = "0.4.0", path = "../egui", features = ["serde", "serde_json"] } egui = { version = "0.5.0", path = "../egui", features = ["serde", "serde_json"] }
glium = "0.28" glium = "0.28"
serde = "1" serde = "1"
serde_json = "1" serde_json = "1"

View file

@ -1,6 +1,6 @@
[package] [package]
name = "egui_web" name = "egui_web"
version = "0.4.0" version = "0.5.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"] authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
description = "Bindings for compiling Egui code to WASM for a web page" description = "Bindings for compiling Egui code to WASM for a web page"
license = "MIT OR Apache-2.0" license = "MIT OR Apache-2.0"
@ -16,7 +16,7 @@ include = [ "**/*.rs", "Cargo.toml"]
crate-type = ["cdylib", "rlib"] crate-type = ["cdylib", "rlib"]
[dependencies] [dependencies]
egui = { version = "0.4.0", path = "../egui", features = ["serde"] } egui = { version = "0.5.0", path = "../egui", features = ["serde"] }
js-sys = "0.3" js-sys = "0.3"
parking_lot = "0.11" parking_lot = "0.11"
serde = "1" serde = "1"