Release 0.27.0 - Nicer menus and new hit test logic
This commit is contained in:
parent
f8d7d0ebaa
commit
4d4cb3d20d
69
CHANGELOG.md
69
CHANGELOG.md
|
|
@ -7,12 +7,79 @@ This file is updated upon each release.
|
|||
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
|
||||
|
||||
|
||||
## Unreleased
|
||||
## 0.27.0 - 2024-03-26 - Nicer menus and new hit test logic
|
||||
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 using `Context::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.
|
||||
|
||||
<img width="580" alt="Screenshot 2024-03-26 at 17 00 23" src="https://github.com/emilk/egui/assets/1148717/f1eea39f-17a7-41ca-a983-ee142b04ef26">
|
||||
|
||||
|
||||
### ⚠️ BREAKING
|
||||
* `Response::clicked*` and `Response::dragged*` may lock the `Context`, so don't call it from a `Context`-locking closure.
|
||||
* `Response::clicked_by` will no longer be true if clicked with keyboard. Use `Response::clicked` instead.
|
||||
* `Memory::focus` has been renamed `Memory::focused`
|
||||
* `Area::new` now takes an `Id` by argument [#4115](https://github.com/emilk/egui/pull/4115)
|
||||
* Change the definition of `clicked_by` [#4192](https://github.com/emilk/egui/pull/4192)
|
||||
|
||||
### ☰ Menu related improvements
|
||||
* Add some distance between parent menu and submenu [#4230](https://github.com/emilk/egui/pull/4230)
|
||||
* Add `Area::sense` and improve hit-testing of buttons in menus [#4234](https://github.com/emilk/egui/pull/4234)
|
||||
* Improve logic for when submenus are kept open [#4166](https://github.com/emilk/egui/pull/4166)
|
||||
* Better align menus with the button that opened them [#4233](https://github.com/emilk/egui/pull/4233)
|
||||
* Hide hover UI when showing the context menu [#4138](https://github.com/emilk/egui/pull/4138) (thanks [@abey79](https://github.com/abey79)!)
|
||||
* CSS-like `Shadow` with offset, spread, and blur [#4232](https://github.com/emilk/egui/pull/4232)
|
||||
* On touch screens, press-and-hold equals a secondary click [#4195](https://github.com/emilk/egui/pull/4195)
|
||||
|
||||
### ⭐ Added
|
||||
* Add with_taskbar to viewport builder [#3958](https://github.com/emilk/egui/pull/3958) (thanks [@AnotherNathan](https://github.com/AnotherNathan)!)
|
||||
* Add F21 to F35 key bindings [#4004](https://github.com/emilk/egui/pull/4004) (thanks [@oscargus](https://github.com/oscargus)!)
|
||||
* Add `Options::debug_paint_interactive_widgets` [#4018](https://github.com/emilk/egui/pull/4018)
|
||||
* Add `Ui::set_opacity` [#3965](https://github.com/emilk/egui/pull/3965) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
|
||||
* Add `Response::paint_debug_info()` to make it easy to visualize a widget's id and state [#4056](https://github.com/emilk/egui/pull/4056) (thanks [@abey79](https://github.com/abey79)!)
|
||||
* Add layer transforms, interaction in layer [#3906](https://github.com/emilk/egui/pull/3906) (thanks [@Tweoss](https://github.com/Tweoss)!)
|
||||
* Add `ColorImage::from_gray_iter` [#3536](https://github.com/emilk/egui/pull/3536) (thanks [@wangxiaochuTHU](https://github.com/wangxiaochuTHU)!)
|
||||
* Add API for raw mouse motion [#4063](https://github.com/emilk/egui/pull/4063) (thanks [@GiantBlargg](https://github.com/GiantBlargg)!)
|
||||
* Add accessibility to `ProgressBar` and `Spinner` [#4139](https://github.com/emilk/egui/pull/4139) (thanks [@DataTriny](https://github.com/DataTriny)!)
|
||||
* Add x11 window type settings to viewport builder [#4175](https://github.com/emilk/egui/pull/4175) (thanks [@psethwick](https://github.com/psethwick)!)
|
||||
* Add an API for customizing the return key in TextEdit [#4085](https://github.com/emilk/egui/pull/4085) (thanks [@lemon-sh](https://github.com/lemon-sh)!)
|
||||
* Convenience `const fn` for `Margin`, `Rounding` and `Shadow` [#4080](https://github.com/emilk/egui/pull/4080) (thanks [@0Qwel](https://github.com/0Qwel)!)
|
||||
* Serde feature: add serde derives to input related structs [#4100](https://github.com/emilk/egui/pull/4100) (thanks [@gweisert](https://github.com/gweisert)!)
|
||||
* Give each menu `Area` an id distinct from the id of what was clicked [#4114](https://github.com/emilk/egui/pull/4114)
|
||||
* `epaint`: Added `Shape::{scale,translate}` wrappers [#4090](https://github.com/emilk/egui/pull/4090) (thanks [@varphone](https://github.com/varphone)!)
|
||||
* A `Window` can now be resizable in only one direction [#4155](https://github.com/emilk/egui/pull/4155)
|
||||
* Add `EllipseShape` [#4122](https://github.com/emilk/egui/pull/4122) (thanks [@TheTacBanana](https://github.com/TheTacBanana)!)
|
||||
* Adjustable Slider rail height [#4092](https://github.com/emilk/egui/pull/4092) (thanks [@rustbasic](https://github.com/rustbasic)!)
|
||||
* Expose state override for `HeaderResponse` [#4200](https://github.com/emilk/egui/pull/4200) (thanks [@Zeenobit](https://github.com/Zeenobit)!)
|
||||
|
||||
### 🔧 Changed
|
||||
* `TextEdit`: Change `margin` property to `egui::Margin` type [#3993](https://github.com/emilk/egui/pull/3993) (thanks [@bu5hm4nn](https://github.com/bu5hm4nn)!)
|
||||
* New widget interaction logic [#4026](https://github.com/emilk/egui/pull/4026)
|
||||
* `ui.dnd_drop_zone()` now returns `InnerResponse`. [#4079](https://github.com/emilk/egui/pull/4079) (thanks [@sowbug](https://github.com/sowbug)!)
|
||||
* Support interacting with the background of a `Ui` [#4074](https://github.com/emilk/egui/pull/4074)
|
||||
* Quickly animate scroll when calling `ui.scroll_to_cursor` etc [#4119](https://github.com/emilk/egui/pull/4119)
|
||||
* Don't clear modifier state on focus change [#4157](https://github.com/emilk/egui/pull/4157) (thanks [@ming08108](https://github.com/ming08108)!)
|
||||
* Prevent `egui::Window` from becoming larger than viewport [#4199](https://github.com/emilk/egui/pull/4199) (thanks [@rustbasic](https://github.com/rustbasic)!)
|
||||
* Don't show URLs when hovering hyperlinks [#4218](https://github.com/emilk/egui/pull/4218)
|
||||
|
||||
### 🐛 Fixed
|
||||
* Fix incorrect handling of item spacing in `Window` title bar [#3995](https://github.com/emilk/egui/pull/3995) (thanks [@varphone](https://github.com/varphone)!)
|
||||
* Make `on_disabled_hover_ui` respect `tooltip_delay` [#4012](https://github.com/emilk/egui/pull/4012) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
|
||||
* Fix `TextEdit` being too short whenever there is horizontal margin [#4005](https://github.com/emilk/egui/pull/4005) (thanks [@gweisert](https://github.com/gweisert)!)
|
||||
* Fix `Response::interact` and `Ui:interact_with_hovered` [#4013](https://github.com/emilk/egui/pull/4013)
|
||||
* Fix: `Response.interact_pointer_pos` is `Some` on click and drag released [#4014](https://github.com/emilk/egui/pull/4014)
|
||||
* Fix custom `Window` `Frame`s [#4009](https://github.com/emilk/egui/pull/4009) (thanks [@varphone](https://github.com/varphone)!)
|
||||
* Fix: images with background color now respects rounding [#4029](https://github.com/emilk/egui/pull/4029) (thanks [@vincent-sparks](https://github.com/vincent-sparks)!)
|
||||
* Fixed the incorrect display of the `Window` frame with a wide border or large rounding [#4032](https://github.com/emilk/egui/pull/4032) (thanks [@varphone](https://github.com/varphone)!)
|
||||
* TextEdit: fix crash when hitting SHIFT + TAB around non-ASCII text [#3984](https://github.com/emilk/egui/pull/3984) (thanks [@rustbasic](https://github.com/rustbasic)!)
|
||||
* Fix two `ScrollArea` bugs: leaking scroll target and broken animation to target offset [#4174](https://github.com/emilk/egui/pull/4174) (thanks [@abey79](https://github.com/abey79)!)
|
||||
* Fix bug in `Context::parent_viewport_id` [#4190](https://github.com/emilk/egui/pull/4190) (thanks [@rustbasic](https://github.com/rustbasic)!)
|
||||
* Remove unnecessary allocation in `RepaintCause::new` [#4146](https://github.com/emilk/egui/pull/4146) (thanks [@valsteen](https://github.com/valsteen)!)
|
||||
|
||||
|
||||
## 0.26.2 - 2024-02-14
|
||||
|
|
|
|||
|
|
@ -1187,7 +1187,7 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
|
|||
|
||||
[[package]]
|
||||
name = "ecolor"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"cint",
|
||||
|
|
@ -1198,7 +1198,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "eframe"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"cocoa",
|
||||
|
|
@ -1236,7 +1236,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "egui"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"accesskit",
|
||||
"ahash",
|
||||
|
|
@ -1252,7 +1252,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "egui-wgpu"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"document-features",
|
||||
|
|
@ -1269,7 +1269,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "egui-winit"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"accesskit_winit",
|
||||
"arboard",
|
||||
|
|
@ -1287,7 +1287,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "egui_demo_app"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"chrono",
|
||||
|
|
@ -1312,7 +1312,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "egui_demo_lib"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"criterion",
|
||||
|
|
@ -1327,7 +1327,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "egui_extras"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"document-features",
|
||||
|
|
@ -1345,7 +1345,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "egui_glow"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"document-features",
|
||||
|
|
@ -1365,7 +1365,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "egui_plot"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"document-features",
|
||||
"egui",
|
||||
|
|
@ -1394,7 +1394,7 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07"
|
|||
|
||||
[[package]]
|
||||
name = "emath"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"document-features",
|
||||
|
|
@ -1469,7 +1469,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "epaint"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
dependencies = [
|
||||
"ab_glyph",
|
||||
"ahash",
|
||||
|
|
|
|||
24
Cargo.toml
24
Cargo.toml
|
|
@ -20,7 +20,7 @@ members = [
|
|||
edition = "2021"
|
||||
license = "MIT OR Apache-2.0"
|
||||
rust-version = "1.72"
|
||||
version = "0.26.2"
|
||||
version = "0.27.0"
|
||||
|
||||
|
||||
[profile.release]
|
||||
|
|
@ -48,17 +48,17 @@ opt-level = 2
|
|||
|
||||
|
||||
[workspace.dependencies]
|
||||
emath = { version = "0.26.2", path = "crates/emath", default-features = false }
|
||||
ecolor = { version = "0.26.2", path = "crates/ecolor", default-features = false }
|
||||
epaint = { version = "0.26.2", path = "crates/epaint", default-features = false }
|
||||
egui = { version = "0.26.2", path = "crates/egui", default-features = false }
|
||||
egui_plot = { version = "0.26.2", path = "crates/egui_plot", default-features = false }
|
||||
egui-winit = { version = "0.26.2", path = "crates/egui-winit", default-features = false }
|
||||
egui_extras = { version = "0.26.2", path = "crates/egui_extras", default-features = false }
|
||||
egui-wgpu = { version = "0.26.2", path = "crates/egui-wgpu", default-features = false }
|
||||
egui_demo_lib = { version = "0.26.2", path = "crates/egui_demo_lib", default-features = false }
|
||||
egui_glow = { version = "0.26.2", path = "crates/egui_glow", default-features = false }
|
||||
eframe = { version = "0.26.2", path = "crates/eframe", default-features = false }
|
||||
emath = { version = "0.27.0", path = "crates/emath", default-features = false }
|
||||
ecolor = { version = "0.27.0", path = "crates/ecolor", default-features = false }
|
||||
epaint = { version = "0.27.0", path = "crates/epaint", default-features = false }
|
||||
egui = { version = "0.27.0", path = "crates/egui", default-features = false }
|
||||
egui_plot = { version = "0.27.0", path = "crates/egui_plot", default-features = false }
|
||||
egui-winit = { version = "0.27.0", path = "crates/egui-winit", default-features = false }
|
||||
egui_extras = { version = "0.27.0", path = "crates/egui_extras", default-features = false }
|
||||
egui-wgpu = { version = "0.27.0", path = "crates/egui-wgpu", default-features = false }
|
||||
egui_demo_lib = { version = "0.27.0", path = "crates/egui_demo_lib", default-features = false }
|
||||
egui_glow = { version = "0.27.0", path = "crates/egui_glow", default-features = false }
|
||||
eframe = { version = "0.27.0", path = "crates/eframe", default-features = false }
|
||||
|
||||
#TODO(emilk): make more things workspace dependencies
|
||||
ahash = { version = "0.8.6", default-features = false, features = [
|
||||
|
|
|
|||
|
|
@ -6,6 +6,10 @@ This file is updated upon each release.
|
|||
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
|
||||
|
||||
|
||||
## 0.27.0 - 2024-03-26
|
||||
* Nothing new
|
||||
|
||||
|
||||
## 0.26.2 - 2024-02-14
|
||||
* Nothing new
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,25 @@ This file is updated upon each release.
|
|||
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
|
||||
|
||||
|
||||
## 0.27.0 - 2024-03-26
|
||||
* Update to document-features 0.2.8 [#4003](https://github.com/emilk/egui/pull/4003)
|
||||
* Added `App::raw_input_hook` allows for the manipulation or filtering of raw input events [#4008](https://github.com/emilk/egui/pull/4008) (thanks [@varphone](https://github.com/varphone)!)
|
||||
|
||||
#### Desktop/Native
|
||||
* Add with_taskbar to viewport builder [#3958](https://github.com/emilk/egui/pull/3958) (thanks [@AnotherNathan](https://github.com/AnotherNathan)!)
|
||||
* Add `winuser` feature to `winapi` to fix unresolved import [#4037](https://github.com/emilk/egui/pull/4037) (thanks [@varphone](https://github.com/varphone)!)
|
||||
* Add `get_proc_address` in CreationContext [#4145](https://github.com/emilk/egui/pull/4145) (thanks [@Chaojimengnan](https://github.com/Chaojimengnan)!)
|
||||
* Don't clear modifier state on focus change [#4157](https://github.com/emilk/egui/pull/4157) (thanks [@ming08108](https://github.com/ming08108)!)
|
||||
* Add x11 window type settings to viewport builder [#4175](https://github.com/emilk/egui/pull/4175) (thanks [@psethwick](https://github.com/psethwick)!)
|
||||
|
||||
#### Web
|
||||
* Add `webgpu` feature by default to wgpu [#4124](https://github.com/emilk/egui/pull/4124) (thanks [@ctaggart](https://github.com/ctaggart)!)
|
||||
* Update kb modifiers from web mouse events [#4156](https://github.com/emilk/egui/pull/4156) (thanks [@ming08108](https://github.com/ming08108)!)
|
||||
* Fix crash on `request_animation_frame` when destroying web runner [#4169](https://github.com/emilk/egui/pull/4169) (thanks [@jprochazk](https://github.com/jprochazk)!)
|
||||
* Fix bug parsing url query with escaped & or = [#4172](https://github.com/emilk/egui/pull/4172)
|
||||
* `Location::query_map`: support repeated key [#4183](https://github.com/emilk/egui/pull/4183)
|
||||
|
||||
|
||||
## 0.26.2 - 2024-02-14
|
||||
* Add `winuser` feature to `winapi` to fix unresolved import [#4037](https://github.com/emilk/egui/pull/4037) (thanks [@varphone](https://github.com/varphone)!)
|
||||
|
||||
|
|
@ -22,38 +41,38 @@ Changes since the last release can be found at <https://github.com/emilk/egui/co
|
|||
* Much more accurate `cpu_usage` timing [#3913](https://github.com/emilk/egui/pull/3913)
|
||||
* Update to puffin 0.19 [#3940](https://github.com/emilk/egui/pull/3940)
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* Keep `ViewportInfo::maximized` and `minimized` up-to-date on Windows [#3831](https://github.com/emilk/egui/pull/3831) (thanks [@rustbasic](https://github.com/rustbasic)!)
|
||||
* Handle `IconData::default()` without crashing [#3842](https://github.com/emilk/egui/pull/3842)
|
||||
* Fix Android crash on resume [#3847](https://github.com/emilk/egui/pull/3847) [#3867](https://github.com/emilk/egui/pull/3867) (thanks [@Garoven](https://github.com/Garoven)!)
|
||||
* Add `WgpuConfiguration::desired_maximum_frame_latency` [#3874](https://github.com/emilk/egui/pull/3874)
|
||||
* Don't call `App::update` on minimized windows [#3877](https://github.com/emilk/egui/pull/3877) (thanks [@rustbasic](https://github.com/rustbasic)!)
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* When using `wgpu` on web, `eframe` will try to use WebGPU if available, then fall back to WebGL [#3824](https://github.com/emilk/egui/pull/3824) [#3895](https://github.com/emilk/egui/pull/3895) (thanks [@Wumpf](https://github.com/Wumpf)!)
|
||||
|
||||
|
||||
## 0.25.0 - 2024-01-08
|
||||
* If both `glow` and `wgpu` features are enabled, default to `wgpu` [#3717](https://github.com/emilk/egui/pull/3717)
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* Update to winit 0.29 [#3649](https://github.com/emilk/egui/pull/3649) (thanks [@fornwall](https://github.com/fornwall)!)
|
||||
* Make glow `Send + Sync` again [#3646](https://github.com/emilk/egui/pull/3646) (thanks [@surban](https://github.com/surban)!)
|
||||
* Bug fix: framebuffer clear when using glow with multi-viewports [#3713](https://github.com/emilk/egui/pull/3713)
|
||||
* Fix: Let `accesskit` process window events [#3733](https://github.com/emilk/egui/pull/3733) (thanks [@DataTriny](https://github.com/DataTriny)!)
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* Fix building the `wasm32` docs for `docs.rs` [#3757](https://github.com/emilk/egui/pull/3757)
|
||||
|
||||
|
||||
## 0.24.1 - 2023-11-30
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* Fix window flashing white on launch [#3631](https://github.com/emilk/egui/pull/3631) (thanks [@zeozeozeo](https://github.com/zeozeozeo)!)
|
||||
* Fix windowing problems when using the `x11` feature on Linux [#3643](https://github.com/emilk/egui/pull/3643)
|
||||
* Fix bugs when there are multiple monitors with different scales [#3663](https://github.com/emilk/egui/pull/3663)
|
||||
* `glow` backend: clear framebuffer color before calling `App::update` [#3665](https://github.com/emilk/egui/pull/3665)
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* Fix click-to-copy on Safari [#3621](https://github.com/emilk/egui/pull/3621)
|
||||
* Don't throw away frames on click/copy/cut [#3623](https://github.com/emilk/egui/pull/3623)
|
||||
* Remove dependency on `tts` [#3651](https://github.com/emilk/egui/pull/3651)
|
||||
|
|
@ -117,7 +136,7 @@ ui.input(|i| {
|
|||
* `eframe::Frame::info` returns a reference [#3301](https://github.com/emilk/egui/pull/3301) (thanks [@Barugon](https://github.com/Barugon)!)
|
||||
* Move `App::persist_window` to `NativeOptions` and `App::max_size_points` to `WebOptions` [#3397](https://github.com/emilk/egui/pull/3397)
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* Only show on-screen-keyboard and IME when editing text [#3362](https://github.com/emilk/egui/pull/3362) (thanks [@Barugon](https://github.com/Barugon)!)
|
||||
* Add `eframe::storage_dir` [#3286](https://github.com/emilk/egui/pull/3286)
|
||||
* Add `NativeOptions::window_builder` for more customization [#3390](https://github.com/emilk/egui/pull/3390) (thanks [@twop](https://github.com/twop)!)
|
||||
|
|
@ -136,7 +155,7 @@ ui.input(|i| {
|
|||
* Recognize numpad enter/plus/minus [#3285](https://github.com/emilk/egui/pull/3285)
|
||||
* Add more puffin profile scopes to `eframe` [#3330](https://github.com/emilk/egui/pull/3330) [#3332](https://github.com/emilk/egui/pull/3332)
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* Update to wasm-bindgen 0.2.87 [#3237](https://github.com/emilk/egui/pull/3237)
|
||||
* Remove `Function()` invocation from eframe text_agent to bypass "unsafe-eval" restrictions in Chrome browser extensions. [#3349](https://github.com/emilk/egui/pull/3349) (thanks [@aspect](https://github.com/aspect)!)
|
||||
* Fix docs about web [#3026](https://github.com/emilk/egui/pull/3026) (thanks [@kerryeon](https://github.com/kerryeon)!)
|
||||
|
|
@ -149,7 +168,7 @@ ui.input(|i| {
|
|||
* Replace `tracing` with `log` [#2928](https://github.com/emilk/egui/pull/2928)
|
||||
* Update accesskit to 0.11 [#3012](https://github.com/emilk/egui/pull/3012)
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* Automatically change theme when system dark/light mode changes [#2750](https://github.com/emilk/egui/pull/2750) (thanks [@bash](https://github.com/bash)!)
|
||||
* Enabled wayland feature for winit when running native [#2751](https://github.com/emilk/egui/pull/2751) (thanks [@ItsEthra](https://github.com/ItsEthra)!)
|
||||
* Fix eframe window position bug (pixels vs points) [#2763](https://github.com/emilk/egui/pull/2763) (thanks [@get200](https://github.com/get200)!)
|
||||
|
|
@ -168,7 +187,7 @@ ui.input(|i| {
|
|||
* capture a screenshot using `Frame::request_screenshot` [870264b](https://github.com/emilk/egui/commit/870264b00577a95d3fd9bdf36efaf87fd351de62)
|
||||
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* ⚠️ BREAKING: `eframe::start_web` has been replaced with `eframe::WebRunner`, which also installs a nice panic hook (no need for `console_error_panic_hook`).
|
||||
* ⚠️ BREAKING: WebGPU is now the default web renderer when using the `wgpu` feature of `eframe`. To use WebGL with `wgpu`, you need to add `wgpu = { version = "0.16.0", features = ["webgl"] }` to your own `Cargo.toml`. ([#2945](https://github.com/emilk/egui/pull/2945))
|
||||
* Add `eframe::WebLogger` for redirecting `log` calls to the web console (`console.log`).
|
||||
|
|
@ -195,7 +214,7 @@ ui.input(|i| {
|
|||
* ⚠️ BREAKING: `App::clear_color` now expects you to return a raw float array ([#2666](https://github.com/emilk/egui/pull/2666)).
|
||||
* The `screen_reader` feature has now been renamed `web_screen_reader` and only work on web. On other platforms, use the `accesskit` feature flag instead ([#2669](https://github.com/emilk/egui/pull/2669)).
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* `eframe::run_native` now returns a `Result` ([#2433](https://github.com/emilk/egui/pull/2433)).
|
||||
* Update to `winit` 0.28, adding support for mac trackpad zoom ([#2654](https://github.com/emilk/egui/pull/2654)).
|
||||
* Fix bug where the cursor could get stuck using the wrong icon.
|
||||
|
|
@ -203,7 +222,7 @@ ui.input(|i| {
|
|||
* Add `Frame::set_minimized` and `set_maximized` ([#2292](https://github.com/emilk/egui/pull/2292), [#2672](https://github.com/emilk/egui/pull/2672)).
|
||||
* Fixed persistence of native window position on Windows OS ([#2583](https://github.com/emilk/egui/issues/2583)).
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* Prevent ctrl-P/cmd-P from opening the print dialog ([#2598](https://github.com/emilk/egui/pull/2598)).
|
||||
|
||||
|
||||
|
|
@ -215,7 +234,7 @@ ui.input(|i| {
|
|||
* MSRV (Minimum Supported Rust Version) is now `1.65.0` ([#2314](https://github.com/emilk/egui/pull/2314)).
|
||||
* Allow empty textures with the glow renderer.
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* Don't repaint when just moving window ([#1980](https://github.com/emilk/egui/pull/1980)).
|
||||
* Added `NativeOptions::event_loop_builder` hook for apps to change platform specific event loop options ([#1952](https://github.com/emilk/egui/pull/1952)).
|
||||
* Enabled deferred render state initialization to support Android ([#1952](https://github.com/emilk/egui/pull/1952)).
|
||||
|
|
@ -230,7 +249,7 @@ ui.input(|i| {
|
|||
* Added optional, but enabled by default, integration with [AccessKit](https://accesskit.dev/) for implementing platform accessibility APIs ([#2294](https://github.com/emilk/egui/pull/2294)).
|
||||
* Fix: Less flickering on resize on Windows ([#2280](https://github.com/emilk/egui/pull/2280)).
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* ⚠️ BREAKING: `start_web` is a now `async` ([#2107](https://github.com/emilk/egui/pull/2107)).
|
||||
* Web: You can now use WebGL on top of `wgpu` by enabling the `wgpu` feature (and disabling `glow` via disabling default features) ([#2107](https://github.com/emilk/egui/pull/2107)).
|
||||
* Web: Add `WebInfo::user_agent` ([#2202](https://github.com/emilk/egui/pull/2202)).
|
||||
|
|
@ -249,7 +268,7 @@ ui.input(|i| {
|
|||
* Added `NativeOptions::follow_system_theme` and `NativeOptions::default_theme` ([#1726](https://github.com/emilk/egui/pull/1726)).
|
||||
* Selectively expose parts of the API based on target arch (`wasm32` or not) ([#1867](https://github.com/emilk/egui/pull/1867)).
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* Fixed clipboard on Wayland ([#1613](https://github.com/emilk/egui/pull/1613)).
|
||||
* Added ability to read window position and size with `frame.info().window_info` ([#1617](https://github.com/emilk/egui/pull/1617)).
|
||||
* Allow running on native without hardware accelerated rendering. Change with `NativeOptions::hardware_acceleration` ([#1681](https://github.com/emilk/egui/pull/1681), [#1693](https://github.com/emilk/egui/pull/1693)).
|
||||
|
|
@ -260,7 +279,7 @@ ui.input(|i| {
|
|||
* You can now continue execution after closing the native desktop window ([#1889](https://github.com/emilk/egui/pull/1889)).
|
||||
* `Frame::quit` has been renamed to `Frame::close` and `App::on_exit_event` is now `App::on_close_event` ([#1943](https://github.com/emilk/egui/pull/1943)).
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* Added ability to stop/re-run web app from JavaScript. ⚠️ You need to update your CSS with `html, body: { height: 100%; width: 100%; }` ([#1803](https://github.com/emilk/egui/pull/1650)).
|
||||
* Added `WebOptions::follow_system_theme` and `WebOptions::default_theme` ([#1726](https://github.com/emilk/egui/pull/1726)).
|
||||
* Added option to select WebGL version ([#1803](https://github.com/emilk/egui/pull/1803)).
|
||||
|
|
@ -280,7 +299,7 @@ ui.input(|i| {
|
|||
* `Frame` is no longer `Clone` or `Sync`.
|
||||
* Added `glow` (OpenGL) context to `Frame` ([#1425](https://github.com/emilk/egui/pull/1425)).
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* Remove the `egui_glium` feature. `eframe` will now always use `egui_glow` as the native backend ([#1357](https://github.com/emilk/egui/pull/1357)).
|
||||
* Change default for `NativeOptions::drag_and_drop_support` to `true` ([#1329](https://github.com/emilk/egui/pull/1329)).
|
||||
* Added new `NativeOptions`: `vsync`, `multisampling`, `depth_buffer`, `stencil_buffer`.
|
||||
|
|
@ -290,7 +309,7 @@ ui.input(|i| {
|
|||
* Moved app persistence to a background thread, allowing for smoother frame rates (on native).
|
||||
* Added `Frame::set_window_pos` ([#1505](https://github.com/emilk/egui/pull/1505)).
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* Use full browser width by default ([#1378](https://github.com/emilk/egui/pull/1378)).
|
||||
* egui code will no longer be called after panic ([#1306](https://github.com/emilk/egui/pull/1306)).
|
||||
|
||||
|
|
@ -300,7 +319,7 @@ ui.input(|i| {
|
|||
* Shift-scroll will now result in horizontal scrolling on all platforms ([#1136](https://github.com/emilk/egui/pull/1136)).
|
||||
* Log using the `tracing` crate. Log to stdout by adding `tracing_subscriber::fmt::init();` to your `main` ([#1192](https://github.com/emilk/egui/pull/1192)).
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* The default native backend is now `egui_glow` (instead of `egui_glium`) ([#1020](https://github.com/emilk/egui/pull/1020)).
|
||||
* Automatically detect and apply dark or light mode from system ([#1045](https://github.com/emilk/egui/pull/1045)).
|
||||
* Fixed horizontal scrolling direction on Linux.
|
||||
|
|
@ -308,7 +327,7 @@ ui.input(|i| {
|
|||
* Added `NativeOptions::initial_window_pos`.
|
||||
* Fixed `enable_drag` for Windows OS ([#1108](https://github.com/emilk/egui/pull/1108)).
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* The default web painter is now `egui_glow` (instead of WebGL) ([#1020](https://github.com/emilk/egui/pull/1020)).
|
||||
* Fixed glow failure on Chromium ([#1092](https://github.com/emilk/egui/pull/1092)).
|
||||
* Updated `eframe::IntegrationInfo::web_location_hash` on `hashchange` event ([#1140](https://github.com/emilk/egui/pull/1140)).
|
||||
|
|
@ -320,7 +339,7 @@ ui.input(|i| {
|
|||
* Added `Frame::request_repaint` to replace `repaint_signal` ([#999](https://github.com/emilk/egui/pull/999)).
|
||||
* Added `Frame::alloc_texture/free_texture` to replace `tex_allocator` ([#999](https://github.com/emilk/egui/pull/999)).
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* Fixed [dark rendering in WebKitGTK](https://github.com/emilk/egui/issues/794) ([#888](https://github.com/emilk/egui/pull/888/)).
|
||||
* Added feature `glow` to switch to a [`glow`](https://github.com/grovesNL/glow) based painter ([#868](https://github.com/emilk/egui/pull/868)).
|
||||
|
||||
|
|
@ -331,11 +350,11 @@ ui.input(|i| {
|
|||
* Remove "http" feature (use https://github.com/emilk/ehttp instead!).
|
||||
* Added `App::persist_native_window` and `App::persist_egui_memory` to control what gets persisted.
|
||||
|
||||
#### Desktop/Native:
|
||||
#### Desktop/Native
|
||||
* Increase native scroll speed.
|
||||
* Added new backend `egui_glow` as an alternative to `egui_glium`. Enable with `default-features = false, features = ["default_fonts", "egui_glow"]`.
|
||||
|
||||
#### Web:
|
||||
#### Web
|
||||
* Implement `eframe::NativeTexture` trait for the WebGL painter.
|
||||
* Deprecate `Painter::register_webgl_texture.
|
||||
* Fixed multiline paste.
|
||||
|
|
|
|||
|
|
@ -6,6 +6,10 @@ This file is updated upon each release.
|
|||
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
|
||||
|
||||
|
||||
## 0.27.0 - 2024-03-26
|
||||
* Improve panic message in egui-wgpu when failing to create buffers [#3986](https://github.com/emilk/egui/pull/3986)
|
||||
|
||||
|
||||
## 0.26.2 - 2024-02-14
|
||||
* Nothing new
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,11 @@ This file is updated upon each release.
|
|||
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
|
||||
|
||||
|
||||
## 0.27.0 - 2024-03-26
|
||||
* Update memoffset to 0.9.0, arboard to 3.3.1, and remove egui_glow's needless dependency on pure_glow's deps [#4036](https://github.com/emilk/egui/pull/4036) (thanks [@Nopey](https://github.com/Nopey)!)
|
||||
* Don't clear modifier state on focus change [#4157](https://github.com/emilk/egui/pull/4157) (thanks [@ming08108](https://github.com/ming08108)!)
|
||||
|
||||
|
||||
## 0.26.2 - 2024-02-14
|
||||
* Update memoffset to 0.9.0, arboard to 3.3.1, and remove egui_glow's needless dependency on pure_glow's deps [#4036](https://github.com/emilk/egui/pull/4036) (thanks [@Nopey](https://github.com/Nopey)!)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,16 @@ This file is updated upon each release.
|
|||
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
|
||||
|
||||
|
||||
## 0.27.0 - 2024-03-26
|
||||
* Add scroll bar visibility option to `Table` widget [#3981](https://github.com/emilk/egui/pull/3981) (thanks [@richardhozak](https://github.com/richardhozak)!)
|
||||
* Update `ehttp` to 0.5 [#4055](https://github.com/emilk/egui/pull/4055)
|
||||
* Fix: assign a different id to each table cell, avoiding id clashes [#4076](https://github.com/emilk/egui/pull/4076)
|
||||
* Fix interaction with widgets inside selectable rows of `Table` [#4077](https://github.com/emilk/egui/pull/4077)
|
||||
* Fixed handling of `file://` protocol for images [#4107](https://github.com/emilk/egui/pull/4107) (thanks [@varphone](https://github.com/varphone)!)
|
||||
* Option to change date picker format [#4180](https://github.com/emilk/egui/pull/4180) (thanks [@zaaarf](https://github.com/zaaarf)!)
|
||||
* Added ability to disable highlighting of weekend days in `DatePickerPopup`. [#4151](https://github.com/emilk/egui/pull/4151) (thanks [@hiyosilver](https://github.com/hiyosilver)!)
|
||||
|
||||
|
||||
## 0.26.2 - 2024-02-14
|
||||
* Nothing new
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,11 @@ Changes since the last release can be found at <https://github.com/emilk/egui/co
|
|||
|
||||
|
||||
|
||||
## 0.27.0 - 2024-03-26
|
||||
* Only disable sRGB framebuffer on supported platforms [#3994](https://github.com/emilk/egui/pull/3994) (thanks [@Nopey](https://github.com/Nopey)!)
|
||||
* Update memoffset to 0.9.0, arboard to 3.3.1, and remove egui_glow's needless dependency on pure_glow's deps [#4036](https://github.com/emilk/egui/pull/4036) (thanks [@Nopey](https://github.com/Nopey)!)
|
||||
|
||||
|
||||
## 0.26.2 - 2024-02-14
|
||||
* Update memoffset to 0.9.0, arboard to 3.3.1, and remove egui_glow's needless dependency on pure_glow's deps [#4036](https://github.com/emilk/egui/pull/4036) (thanks [@Nopey](https://github.com/Nopey)!)
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,13 @@ This file is updated upon each release.
|
|||
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
|
||||
|
||||
|
||||
## 0.27.0 - 2024-03-26
|
||||
* Add `sense` option to `Plot` [#4052](https://github.com/emilk/egui/pull/4052) (thanks [@AmesingFlank](https://github.com/AmesingFlank)!)
|
||||
* Plot widget - allow disabling scroll for x and y separately [#4051](https://github.com/emilk/egui/pull/4051) (thanks [@YgorSouza](https://github.com/YgorSouza)!)
|
||||
* Fix panic when the base step size is set to 0 [#4078](https://github.com/emilk/egui/pull/4078) (thanks [@abey79](https://github.com/abey79)!)
|
||||
* Expose `PlotGeometry` in public API [#4193](https://github.com/emilk/egui/pull/4193) (thanks [@dwuertz](https://github.com/dwuertz)!)
|
||||
|
||||
|
||||
## 0.26.2 - 2024-02-14
|
||||
* Nothing new
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,15 @@ This file is updated upon each release.
|
|||
Changes since the last release can be found at <https://github.com/emilk/egui/compare/latest...HEAD> or by running the `scripts/generate_changelog.py` script.
|
||||
|
||||
|
||||
## 0.27.0 - 2024-03-26
|
||||
* Add `ColorImage::from_gray_iter` [#3536](https://github.com/emilk/egui/pull/3536) (thanks [@wangxiaochuTHU](https://github.com/wangxiaochuTHU)!)
|
||||
* Convenience const fn for `Margin`, `Rounding` and `Shadow` [#4080](https://github.com/emilk/egui/pull/4080) (thanks [@0Qwel](https://github.com/0Qwel)!)
|
||||
* Added `Shape::{scale,translate}` wrappers [#4090](https://github.com/emilk/egui/pull/4090) (thanks [@varphone](https://github.com/varphone)!)
|
||||
* Add `EllipseShape` [#4122](https://github.com/emilk/egui/pull/4122) (thanks [@TheTacBanana](https://github.com/TheTacBanana)!)
|
||||
* Add `Margin` to `epaint` [#4231](https://github.com/emilk/egui/pull/4231)
|
||||
* CSS-like `Shadow` with offset, spread, and blur [#4232](https://github.com/emilk/egui/pull/4232)
|
||||
|
||||
|
||||
## 0.26.2 - 2024-02-14
|
||||
* Nothing new
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue