zmitchell / splatter

A Rust framework for creating generative art
0 stars 0 forks source link

fix(deps): update rust crate egui_demo_lib to 0.23 - autoclosed #24

Closed renovate[bot] closed 11 months ago

renovate[bot] commented 11 months ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
egui_demo_lib (source) dependencies minor 0.15 -> 0.23

Release Notes

emilk/egui (egui_demo_lib) ### [`v0.23.0`](https://togithub.com/emilk/egui/blob/HEAD/CHANGELOG.md#0230---2023-09-27---New-image-API) [Compare Source](https://togithub.com/emilk/egui/compare/0.22.0...0.23.0) This release contains a simple and powerful image API: ```rs // Load from web: ui.image("https://www.example.com/some_image.png"); // Include image in the binary using `include_bytes`: ui.image(egui::include_image!("../assets/ferris.svg")); // With options: ui.add( egui::Image::new("file://path/to/image.jpg") .max_width(200.0) .rounding(10.0), ); ``` The API is based on a plugin-system, where you can tell `egui` how to load the images, and from where. `egui_extras` comes with loaders for you, so all you need to do is add the following to your `Cargo.toml`: ```toml egui_extras = { version = "0.23", features = ["all_loaders"] } image = { version = "0.24", features = ["jpeg", "png"] } # Add the types you want support for ``` And this to your code: ```rs egui_extras::install_image_loaders(egui_ctx); ``` ##### ⚠️ BREAKING - Update MSRV to Rust 1.70.0 [#​3310](https://togithub.com/emilk/egui/pull/3310) - Break out plotting to own crate `egui_plot` [#​3282](https://togithub.com/emilk/egui/pull/3282) ##### ⭐ Added - A new image API [#​3297](https://togithub.com/emilk/egui/pull/3297) [#​3315](https://togithub.com/emilk/egui/pull/3315) [#​3328](https://togithub.com/emilk/egui/pull/3328) [#​3338](https://togithub.com/emilk/egui/pull/3338) [#​3342](https://togithub.com/emilk/egui/pull/3342) [#​3343](https://togithub.com/emilk/egui/pull/3343) [#​3402](https://togithub.com/emilk/egui/pull/3402) (thanks [@​jprochazk](https://togithub.com/jprochazk)!) - Add option to truncate text at some width [#​3244](https://togithub.com/emilk/egui/pull/3244) - Add control of line height and letter spacing [#​3302](https://togithub.com/emilk/egui/pull/3302) - Support images with rounded corners [#​3257](https://togithub.com/emilk/egui/pull/3257) - Change focused widget with arrow keys [#​3272](https://togithub.com/emilk/egui/pull/3272) (thanks [@​TimonPost](https://togithub.com/TimonPost)!) - Add opt-in `puffin` feature to egui [#​3298](https://togithub.com/emilk/egui/pull/3298) - Add debug-option to show a callstack to the widget under the mouse [#​3391](https://togithub.com/emilk/egui/pull/3391) - Add `Context::open_url` and `Context::copy_text` [#​3380](https://togithub.com/emilk/egui/pull/3380) - Add `Area::constrain_to` and `Window::constrain_to` [#​3396](https://togithub.com/emilk/egui/pull/3396) - Add `Memory::area_rect` [#​3161](https://togithub.com/emilk/egui/pull/3161) (thanks [@​tosti007](https://togithub.com/tosti007)!) - Add `Margin::expand_rect` and `shrink_rect` [#​3214](https://togithub.com/emilk/egui/pull/3214) - Provide `into_inner()` for `egui::mutex::{Mutex, RwLock}` [#​3110](https://togithub.com/emilk/egui/pull/3110) (thanks [@​KmolYuan](https://togithub.com/KmolYuan)!) - Support multi-threaded Wasm [#​3236](https://togithub.com/emilk/egui/pull/3236) - Change touch force to be `Option` instead of `f32` [#​3240](https://togithub.com/emilk/egui/pull/3240) (thanks [@​lucasmerlin](https://togithub.com/lucasmerlin)!) - Add option to always open hyperlink in a new browser tab [#​3242](https://togithub.com/emilk/egui/pull/3242) (thanks [@​FreddyFunk](https://togithub.com/FreddyFunk)!) - Add `Window::drag_to_scroll` [#​3118](https://togithub.com/emilk/egui/pull/3118) (thanks [@​KYovchevski](https://togithub.com/KYovchevski)!) - Add `CollapsingState::remove` to clear stored state [#​3252](https://togithub.com/emilk/egui/pull/3252) (thanks [@​dmackdev](https://togithub.com/dmackdev)!) - Add tooltip_delay option [#​3245](https://togithub.com/emilk/egui/pull/3245) (thanks [@​YgorSouza](https://togithub.com/YgorSouza)!) - Added `Context::is_context_menu_open()` [#​3267](https://togithub.com/emilk/egui/pull/3267) (thanks [@​dmlary](https://togithub.com/dmlary)!) - Add `mime` field to `DroppedFile` [#​3273](https://togithub.com/emilk/egui/pull/3273) (thanks [@​abey79](https://togithub.com/abey79)!) - Allow setting the progress bar height [#​3183](https://togithub.com/emilk/egui/pull/3183) (thanks [@​s-nie](https://togithub.com/s-nie)!) - Add `scroll_area::State::velocity` [#​3300](https://togithub.com/emilk/egui/pull/3300) (thanks [@​Barugon](https://togithub.com/Barugon)!) - Add `Visuals::interact_cursor` [#​3312](https://togithub.com/emilk/egui/pull/3312) (thanks [@​zkldi](https://togithub.com/zkldi)!) - Add method to `RichText` making it easier to construct layout jobs [#​3319](https://togithub.com/emilk/egui/pull/3319) (thanks [@​OmegaJak](https://togithub.com/OmegaJak)!) - Add `Context::style_mut` [#​3359](https://togithub.com/emilk/egui/pull/3359) - `std::borrow::Cow<'_, str>` now implements `TextBuffer` [#​3164](https://togithub.com/emilk/egui/pull/3164) (thanks [@​burtonageo](https://togithub.com/burtonageo)!) ##### πŸ”§ Changed - Separate text cursor from selection visuals [#​3181](https://togithub.com/emilk/egui/pull/3181) (thanks [@​lampsitter](https://togithub.com/lampsitter)!) - `DragValue`: update value on each key press by default [#​2880](https://togithub.com/emilk/egui/pull/2880) (thanks [@​Barugon](https://togithub.com/Barugon)!) - Replace uses of `RangeInclusive` with `emath::Rangef` [#​3221](https://togithub.com/emilk/egui/pull/3221) - Implement `Send + Sync` for `ColorPickerFn` and `Ui` ([#​3148](https://togithub.com/emilk/egui/issues/3148)) [#​3233](https://togithub.com/emilk/egui/pull/3233) (thanks [@​idanarye](https://togithub.com/idanarye)!) - Use the minus character instead of "dash" [#​3271](https://togithub.com/emilk/egui/pull/3271) - Changing `menu_image_button` to use `ImageButton` builder [#​3288](https://togithub.com/emilk/egui/pull/3288) (thanks [@​v-kat](https://togithub.com/v-kat)!) - Prune old egui memory data when reaching some limit [#​3299](https://togithub.com/emilk/egui/pull/3299) ##### πŸ› Fixed - Fix TextEdit's character limit [#​3173](https://togithub.com/emilk/egui/pull/3173) (thanks [@​Serverator](https://togithub.com/Serverator)!) - Set the correct unicode character for "ctrl" shortcuts [#​3186](https://togithub.com/emilk/egui/pull/3186) (thanks [@​abey79](https://togithub.com/abey79)!) - Fix crash in `DragValue` when only setting `min_decimals` [#​3231](https://togithub.com/emilk/egui/pull/3231) - Fix clipping issued with `ScrollArea` [#​2860](https://togithub.com/emilk/egui/pull/2860) (thanks [@​Barugon](https://togithub.com/Barugon)!) - Fix moving slider with arrow keys [#​3354](https://togithub.com/emilk/egui/pull/3354) - Fix problems with tabs in text [#​3355](https://togithub.com/emilk/egui/pull/3355) - Fix interaction with moved color-picker [#​3395](https://togithub.com/emilk/egui/pull/3395) ### [`v0.22.0`](https://togithub.com/emilk/egui/blob/HEAD/CHANGELOG.md#0220---2023-05-23---A-plethora-of-small-improvements) [Compare Source](https://togithub.com/emilk/egui/compare/0.21.0...0.22.0) ##### ⭐ Added - Scroll bar visibility options [#​2729](https://togithub.com/emilk/egui/pull/2729) (thanks [@​IVAN-MK7](https://togithub.com/IVAN-MK7)!) - Add `Grid::with_row_color` [#​2519](https://togithub.com/emilk/egui/pull/2519) (thanks [@​imgurbot12](https://togithub.com/imgurbot12)!) - Add raw mouse wheel event [#​2782](https://togithub.com/emilk/egui/pull/2782) (thanks [@​YgorSouza](https://togithub.com/YgorSouza)!) - Improved plot groups and bounds handling [#​2410](https://togithub.com/emilk/egui/pull/2410) (thanks [@​s-nie](https://togithub.com/s-nie)!) - Return plot transforms [#​2935](https://togithub.com/emilk/egui/pull/2935) - Add `Pointer::is_decidedly_dragging` and `could_any_button_be_click` [#​2979](https://togithub.com/emilk/egui/pull/2979) - Plot widget - allow disabling zoom and drag for x and y separately [#​2901](https://togithub.com/emilk/egui/pull/2901) (thanks [@​OmegaJak](https://togithub.com/OmegaJak)!) - Add character limit to `TextEdit` [#​2816](https://togithub.com/emilk/egui/pull/2816) (thanks [@​wzid](https://togithub.com/wzid)!) - Add `egui::Modifiers::contains` [#​2989](https://togithub.com/emilk/egui/pull/2989) (thanks [@​Wumpf](https://togithub.com/Wumpf)!) ##### πŸ”§ Changed - Improve vertical alignment of fonts [#​2724](https://togithub.com/emilk/egui/pull/2724) (thanks [@​lictex](https://togithub.com/lictex)!) - Transpose the value/satuation panel of the color picker [#​2727](https://togithub.com/emilk/egui/pull/2727) (thanks [@​IVAN-MK7](https://togithub.com/IVAN-MK7)!) - Replace `ComboBox::show_index` `String` with `Into` [#​2790](https://togithub.com/emilk/egui/pull/2790) (thanks [@​tosti007](https://togithub.com/tosti007)!) - Replace `tracing` with `log` [#​2928](https://togithub.com/emilk/egui/pull/2928) - Only show id clash warnings in debug builds by default [#​2930](https://togithub.com/emilk/egui/pull/2930) - ⚠️ BREAKING: `Plot::link_axis` and `Plot::link_cursor` now take the name of the group [#​2410](https://togithub.com/emilk/egui/pull/2410) ##### πŸ› Fixed - Clear all keys and modifies on focus change, fixing "stuck keys" [#​2933](https://togithub.com/emilk/egui/pull/2933) - Fix deadlock when using `show_blocking_widget` [#​2753](https://togithub.com/emilk/egui/pull/2753) (thanks [@​YgorSouza](https://togithub.com/YgorSouza)!) - Fix the OS check for windows [#​2832](https://togithub.com/emilk/egui/pull/2832) (thanks [@​jleibs](https://togithub.com/jleibs)!) - Fix scroll bars not appearing ([#​2826](https://togithub.com/emilk/egui/issues/2826)) [#​2827](https://togithub.com/emilk/egui/pull/2827) (thanks [@​lunixbochs](https://togithub.com/lunixbochs)!) - Fix UI `data()` read mutability [#​2742](https://togithub.com/emilk/egui/pull/2742) (thanks [@​IS2511](https://togithub.com/IS2511)!) - Menu State rect now uses menu frame rect instead of contents rect [#​2886](https://togithub.com/emilk/egui/pull/2886) (thanks [@​hats-np](https://togithub.com/hats-np)!) - Hide `Response::triple_clicked` in docs [#​2867](https://togithub.com/emilk/egui/pull/2867) (thanks [@​ccaven](https://togithub.com/ccaven)!) - `request_repaint_after` works even when called from background thread [#​2939](https://togithub.com/emilk/egui/pull/2939) - Show alt key on Mac as `"Option"`, not `"Alt"` [#​2981](https://togithub.com/emilk/egui/pull/2981) (thanks [@​Wumpf](https://togithub.com/Wumpf)!) - Mention `store` in `TextEditState` doc comment [#​2988](https://togithub.com/emilk/egui/pull/2988) (thanks [@​fxdave](https://togithub.com/fxdave)!) - Fix typos [#​2866](https://togithub.com/emilk/egui/pull/2866) (thanks [@​fezjo](https://togithub.com/fezjo)!) ##### ✨ Examples - Fix resizable columns option in the table demo [#​2780](https://togithub.com/emilk/egui/pull/2780) (thanks [@​Bobo1239](https://togithub.com/Bobo1239)!) - Update serial window example [#​2756](https://togithub.com/emilk/egui/pull/2756) (thanks [@​c-git](https://togithub.com/c-git)!) - Demo app: use `enum` instead of strings for demo-selector anchor [#​2781](https://togithub.com/emilk/egui/pull/2781) (thanks [@​XyLyXyRR](https://togithub.com/XyLyXyRR)!) - Use `env_logger` in all examples [#​2934](https://togithub.com/emilk/egui/pull/2934) - Rename `examples/user_attention/README.mg` to `README.md` [#​2948](https://togithub.com/emilk/egui/pull/2948) (thanks [@​MAlba124](https://togithub.com/MAlba124)!) - egui_demo_app: add some native window info [b5c24d6](https://togithub.com/emilk/egui/commit/b5c24d6ec83112440f1a807d5ec79241ea8b40fe) ### [`v0.21.0`](https://togithub.com/emilk/egui/blob/HEAD/CHANGELOG.md#0210---2023-02-08---Deadlock-fix-and-style-customizability) [Compare Source](https://togithub.com/emilk/egui/compare/0.20.0...0.21.0) - ⚠️ BREAKING: `egui::Context` now use closures for locking ([#​2625](https://togithub.com/emilk/egui/pull/2625)): - `ctx.input().key_pressed(Key::A)` -> `ctx.input(|i| i.key_pressed(Key::A))` - `ui.memory().toggle_popup(popup_id)` -> `ui.memory_mut(|mem| mem.toggle_popup(popup_id))` ##### ⭐ Added - Add `Response::drag_started_by` and `Response::drag_released_by` for convenience, similar to `dragged` and `dragged_by` ([#​2507](https://togithub.com/emilk/egui/pull/2507)). - Add `PointerState::*_pressed` to check if the given button was pressed in this frame ([#​2507](https://togithub.com/emilk/egui/pull/2507)). - `Event::Key` now has a `repeat` field that is set to `true` if the event was the result of a key-repeat ([#​2435](https://togithub.com/emilk/egui/pull/2435)). - Add `Slider::drag_value_speed`, which lets you ask for finer precision when dragging the slider value rather than the actual slider. - Add `Memory::any_popup_open`, which returns true if any popup is currently open ([#​2464](https://togithub.com/emilk/egui/pull/2464)). - Add `Plot::clamp_grid` to only show grid where there is data ([#​2480](https://togithub.com/emilk/egui/pull/2480)). - Add `ScrollArea::drag_to_scroll` if you want to turn off that feature. - Add `Response::on_hover_and_drag_cursor`. - Add `Window::default_open` ([#​2539](https://togithub.com/emilk/egui/pull/2539)). - Add `ProgressBar::fill` if you want to set the fill color manually. ([#​2618](https://togithub.com/emilk/egui/pull/2618)). - Add `Button::rounding` to enable round buttons ([#​2616](https://togithub.com/emilk/egui/pull/2616)). - Add `WidgetVisuals::optional_bg_color` - set it to `Color32::TRANSPARENT` to hide button backgrounds ([#​2621](https://togithub.com/emilk/egui/pull/2621)). - Add `Context::screen_rect` and `Context::set_cursor_icon` ([#​2625](https://togithub.com/emilk/egui/pull/2625)). - You can turn off the vertical line left of indented regions with `Visuals::indent_has_left_vline` ([#​2636](https://togithub.com/emilk/egui/pull/2636)). - Add `Response.highlight` to highlight a widget ([#​2632](https://togithub.com/emilk/egui/pull/2632)). - Add `Separator::grow` and `Separator::shrink` ([#​2665](https://togithub.com/emilk/egui/pull/2665)). - Add `Slider::trailing_fill` for trailing color behind the circle like a `ProgressBar` ([#​2660](https://togithub.com/emilk/egui/pull/2660)). ##### πŸ”§ Changed - Improved plot grid appearance ([#​2412](https://togithub.com/emilk/egui/pull/2412)). - Improved the algorithm for picking the number of decimals to show when hovering values in the `Plot`. - Default `ComboBox` is now controlled with `Spacing::combo_width` ([#​2621](https://togithub.com/emilk/egui/pull/2621)). - `DragValue` and `Slider` now use the proportional font ([#​2638](https://togithub.com/emilk/egui/pull/2638)). - `ScrollArea` is less aggressive about clipping its contents ([#​2665](https://togithub.com/emilk/egui/pull/2665)). - Updated to be compatible with a major breaking change in AccessKit that drastically reduces memory usage when accessibility is enabled ([#​2678](https://togithub.com/emilk/egui/pull/2678)). - Improve `DragValue` behavior ([#​2649](https://togithub.com/emilk/egui/pull/2649), [#​2650](https://togithub.com/emilk/egui/pull/2650), [#​2688](https://togithub.com/emilk/egui/pull/2688), [#​2638](https://togithub.com/emilk/egui/pull/2638)). ##### πŸ› Fixed - Trigger `PointerEvent::Released` for drags ([#​2507](https://togithub.com/emilk/egui/pull/2507)). - Expose `TextEdit`'s multiline flag to AccessKit ([#​2448](https://togithub.com/emilk/egui/pull/2448)). - Don't render `\r` (Carriage Return) ([#​2452](https://togithub.com/emilk/egui/pull/2452)). - The `button_padding` style option works closer as expected with image+text buttons now ([#​2510](https://togithub.com/emilk/egui/pull/2510)). - Menus are now moved to fit on the screen. - Fix `Window::pivot` causing windows to move around ([#​2694](https://togithub.com/emilk/egui/pull/2694)). ### [`v0.20.0`](https://togithub.com/emilk/egui/blob/HEAD/CHANGELOG.md#0200---2022-12-08---AccessKit-prettier-text-overlapping-widgets) [Compare Source](https://togithub.com/emilk/egui/compare/0.19.0...0.20.0) - MSRV (Minimum Supported Rust Version) is now `1.65.0` ([#​2314](https://togithub.com/emilk/egui/pull/2314)). - ⚠️ BREAKING: egui now expects integrations to do all color blending in gamma space ([#​2071](https://togithub.com/emilk/egui/pull/2071)). - ⚠️ BREAKING: if you have overlapping interactive widgets, only the top widget (last added) will be interactive ([#​2244](https://togithub.com/emilk/egui/pull/2244)). ##### ⭐ Added - Added helper functions for animating panels that collapse/expand ([#​2190](https://togithub.com/emilk/egui/pull/2190)). - Added `Context::os/Context::set_os` to query/set what operating system egui believes it is running on ([#​2202](https://togithub.com/emilk/egui/pull/2202)). - Added `Button::shortcut_text` for showing keyboard shortcuts in menu buttons ([#​2202](https://togithub.com/emilk/egui/pull/2202)). - Added `egui::KeyboardShortcut` for showing keyboard shortcuts in menu buttons ([#​2202](https://togithub.com/emilk/egui/pull/2202)). - Texture loading now takes a `TextureOptions` with minification and magnification filters ([#​2224](https://togithub.com/emilk/egui/pull/2224)). - Added `Key::Minus` and `Key::Equals` ([#​2239](https://togithub.com/emilk/egui/pull/2239)). - Added `egui::gui_zoom` module with helpers for scaling the whole GUI of an app ([#​2239](https://togithub.com/emilk/egui/pull/2239)). - You can now put one interactive widget on top of another, and only one will get interaction at a time ([#​2244](https://togithub.com/emilk/egui/pull/2244)). - Added `spacing.menu_margin` for customizing menu spacing ([#​2036](https://togithub.com/emilk/egui/pull/2036)) - Added possibility to enable text wrap for the selected text of `egui::ComboBox` ([#​2272](https://togithub.com/emilk/egui/pull/2272)) - Added `Area::constrain` and `Window::constrain` which constrains area to the screen bounds ([#​2270](https://togithub.com/emilk/egui/pull/2270)). - Added `Area::pivot` and `Window::pivot` which controls what part of the window to position ([#​2303](https://togithub.com/emilk/egui/pull/2303)). - Added support for [thin space](https://en.wikipedia.org/wiki/Thin_space). - Added optional integration with [AccessKit](https://accesskit.dev/) for implementing platform accessibility APIs ([#​2294](https://togithub.com/emilk/egui/pull/2294)). - Added `panel_fill`, `window_fill` and `window_stroke` to `Visuals` for your theming pleasure ([#​2406](https://togithub.com/emilk/egui/pull/2406)). - Plots: - Allow linking plot cursors ([#​1722](https://togithub.com/emilk/egui/pull/1722)). - Added `Plot::auto_bounds_x/y` and `Plot::reset` ([#​2029](https://togithub.com/emilk/egui/pull/2029)). - Added `PlotUi::translate_bounds` ([#​2145](https://togithub.com/emilk/egui/pull/2145)). - Added `PlotUi::set_plot_bounds` ([#​2320](https://togithub.com/emilk/egui/pull/2320)). - Added `PlotUi::plot_secondary_clicked` ([#​2318](https://togithub.com/emilk/egui/pull/2318)). ##### πŸ”§ Changed - Panels always have a separator line, but no stroke on other sides. Their spacing has also changed slightly ([#​2261](https://togithub.com/emilk/egui/pull/2261)). - Tooltips are only shown when mouse pointer is still ([#​2263](https://togithub.com/emilk/egui/pull/2263)). - Make it slightly easier to click buttons ([#​2304](https://togithub.com/emilk/egui/pull/2304)). - `egui::color` has been renamed `egui::ecolor` ([#​2399](https://togithub.com/emilk/egui/pull/2399)). ##### πŸ› Fixed - ⚠️ BREAKING: Fix text being too small ([#​2069](https://togithub.com/emilk/egui/pull/2069)). - Improve mixed CJK/Latin line-breaking ([#​1986](https://togithub.com/emilk/egui/pull/1986)). - Improved text rendering ([#​2071](https://togithub.com/emilk/egui/pull/2071)). - Constrain menu popups to the screen ([#​2191](https://togithub.com/emilk/egui/pull/2191)). - Less jitter when calling `Context::set_pixels_per_point` ([#​2239](https://togithub.com/emilk/egui/pull/2239)). - Fixed popups and color edit going outside the screen. - Fixed keyboard support in `DragValue` ([#​2342](https://togithub.com/emilk/egui/pull/2342)). - If you nest `ScrollAreas` inside each other, the inner area will now move its scroll bar so it is always visible ([#​2371](https://togithub.com/emilk/egui/pull/2371)). - Ignore key-repeats for `input.key_pressed` ([#​2334](https://togithub.com/emilk/egui/pull/2334), [#​2389](https://togithub.com/emilk/egui/pull/2389)). - Fixed issue with calling `set_pixels_per_point` each frame ([#​2352](https://togithub.com/emilk/egui/pull/2352)). - Fix bug in `ScrollArea::show_rows` ([#​2258](https://togithub.com/emilk/egui/pull/2258)). - Fix bug in `plot::Line::fill` ([#​2275](https://togithub.com/emilk/egui/pull/2275)). - Only emit `changed` events in `radio_value` and `selectable_value` if the value actually changed ([#​2343](https://togithub.com/emilk/egui/pull/2343)). - Fixed sizing bug in `Grid` ([#​2384](https://togithub.com/emilk/egui/pull/2384)). - `ComboBox::width` now correctly sets the outer width ([#​2406](https://togithub.com/emilk/egui/pull/2406)). ### [`v0.19.0`](https://togithub.com/emilk/egui/blob/HEAD/CHANGELOG.md#0190---2022-08-20) [Compare Source](https://togithub.com/emilk/egui/compare/0.18.0...0.19.0) ##### ⭐ Added - Added `*_released` & `*_clicked` methods for `PointerState` ([#​1582](https://togithub.com/emilk/egui/pull/1582)). - Added `PointerButton::Extra1` and `PointerButton::Extra2` ([#​1592](https://togithub.com/emilk/egui/pull/1592)). - Added `egui::hex_color!` to create `Color32`'s from hex strings under the `color-hex` feature ([#​1596](https://togithub.com/emilk/egui/pull/1596)). - Optimized painting of filled circles (e.g. for scatter plots) by 10x or more ([#​1616](https://togithub.com/emilk/egui/pull/1616)). - Added opt-in feature `deadlock_detection` to detect double-lock of mutexes on the same thread ([#​1619](https://togithub.com/emilk/egui/pull/1619)). - Added `InputState::stable_dt`: a more stable estimate for the delta-time in reactive mode ([#​1625](https://togithub.com/emilk/egui/pull/1625)). - You can now specify a texture filter for your textures ([#​1636](https://togithub.com/emilk/egui/pull/1636)). - Added functions keys in `egui::Key` ([#​1665](https://togithub.com/emilk/egui/pull/1665)). - Added support for using `PaintCallback` shapes with the WGPU backend ([#​1684](https://togithub.com/emilk/egui/pull/1684)). - Added `Context::request_repaint_after` ([#​1694](https://togithub.com/emilk/egui/pull/1694)). - `ctrl-h` now acts like backspace in `TextEdit` ([#​1812](https://togithub.com/emilk/egui/pull/1812)). - Added `custom_formatter` method for `Slider` and `DragValue` ([#​1851](https://togithub.com/emilk/egui/issues/1851)). - Added `RawInput::has_focus` which backends can set to indicate whether the UI as a whole has the keyboard focus ([#​1859](https://togithub.com/emilk/egui/pull/1859)). - Added `PointerState::button_double_clicked()` and `PointerState::button_triple_clicked()` ([#​1906](https://togithub.com/emilk/egui/issues/1906)). - Added `custom_formatter`, `binary`, `octal`, and `hexadecimal` to `DragValue` and `Slider` ([#​1953](https://togithub.com/emilk/egui/issues/1953)) ##### πŸ”§ Changed - MSRV (Minimum Supported Rust Version) is now `1.61.0` ([#​1846](https://togithub.com/emilk/egui/pull/1846)). - `PaintCallback` shapes now require the whole callback to be put in an `Arc` with the value being a backend-specific callback type ([#​1684](https://togithub.com/emilk/egui/pull/1684)). - Replaced `needs_repaint` in `FullOutput` with `repaint_after`. Used to force repaint after the set duration in reactive mode ([#​1694](https://togithub.com/emilk/egui/pull/1694)). - `Layout::left_to_right` and `Layout::right_to_left` now takes the vertical align as an argument. Previous default was `Align::Center`. - Improved ergonomics of adding plot items. All plot items that take a series of 2D coordinates can now be created directly from `Vec<[f64; 2]>`. The `Value` and `Values` types were removed in favor of `PlotPoint` and `PlotPoints` respectively ([#​1816](https://togithub.com/emilk/egui/pull/1816)). - `TextBuffer` no longer needs to implement `AsRef` ([#​1824](https://togithub.com/emilk/egui/pull/1824)). ##### πŸ› Fixed - Fixed `Response::changed` for `ui.toggle_value` ([#​1573](https://togithub.com/emilk/egui/pull/1573)). - Fixed `ImageButton`'s changing background padding on hover ([#​1595](https://togithub.com/emilk/egui/pull/1595)). - Fixed `Plot` auto-bounds bug ([#​1599](https://togithub.com/emilk/egui/pull/1599)). - Fixed dead-lock when alt-tabbing while also showing a tooltip ([#​1618](https://togithub.com/emilk/egui/pull/1618)). - Fixed `ScrollArea` scrolling when editing an unrelated `TextEdit` ([#​1779](https://togithub.com/emilk/egui/pull/1779)). - Fixed `Slider` not always generating events on change ([#​1854](https://togithub.com/emilk/egui/pull/1854)). - Fixed jitter of anchored windows for the first frame ([#​1856](https://togithub.com/emilk/egui/pull/1856)). - Fixed focus behavior when pressing Tab in a UI with no focused widget ([#​1861](https://togithub.com/emilk/egui/pull/1861)). - Fixed automatic plot bounds ([#​1865](https://togithub.com/emilk/egui/pull/1865)). ### [`v0.18.0`](https://togithub.com/emilk/egui/blob/HEAD/CHANGELOG.md#0180---2022-04-30) [Compare Source](https://togithub.com/emilk/egui/compare/0.17.0...0.18.0) ##### ⭐ Added - Added `Shape::Callback` for backend-specific painting, [with an example](https://togithub.com/emilk/egui/tree/master/examples/custom\_3d_glow) ([#​1351](https://togithub.com/emilk/egui/pull/1351)). - Added `Frame::canvas` ([#​1362](https://togithub.com/emilk/egui/pull/1362)). - `Context::request_repaint` will now wake up UI thread, if integrations has called `Context::set_request_repaint_callback` ([#​1366](https://togithub.com/emilk/egui/pull/1366)). - Added `Plot::allow_scroll`, `Plot::allow_zoom` no longer affects scrolling ([#​1382](https://togithub.com/emilk/egui/pull/1382)). - Added `Ui::push_id` to resolve id clashes ([#​1374](https://togithub.com/emilk/egui/pull/1374)). - Added `ComboBox::icon` ([#​1405](https://togithub.com/emilk/egui/pull/1405)). - Added `Ui::scroll_with_delta`. - Added `Frame::outer_margin`. - Added `Painter::hline` and `Painter::vline`. - Added `Link` and `ui.link` ([#​1506](https://togithub.com/emilk/egui/pull/1506)). - Added triple-click support; triple-clicking a TextEdit field will select the whole paragraph ([#​1512](https://togithub.com/emilk/egui/pull/1512)). - Added `Plot::x_grid_spacer` and `Plot::y_grid_spacer` for custom grid spacing ([#​1180](https://togithub.com/emilk/egui/pull/1180)). - Added `Ui::spinner()` shortcut method ([#​1494](https://togithub.com/emilk/egui/pull/1494)). - Added `CursorIcon`s for resizing columns, rows, and the eight cardinal directions. - Added `Ui::toggle_value`. - Added ability to add any widgets to the header of a collapsing region ([#​1538](https://togithub.com/emilk/egui/pull/1538)). ##### πŸ”§ Changed - MSRV (Minimum Supported Rust Version) is now `1.60.0` ([#​1467](https://togithub.com/emilk/egui/pull/1467)). - `ClippedMesh` has been replaced with `ClippedPrimitive` ([#​1351](https://togithub.com/emilk/egui/pull/1351)). - Renamed `Frame::margin` to `Frame::inner_margin`. - Renamed `AlphaImage` to `FontImage` to discourage any other use for it ([#​1412](https://togithub.com/emilk/egui/pull/1412)). - Warnings will be painted on screen when there is an `Id` clash for `Grid`, `Plot` or `ScrollArea` ([#​1452](https://togithub.com/emilk/egui/pull/1452)). - `Checkbox` and `RadioButton` with an empty label (`""`) will now take up much less space ([#​1456](https://togithub.com/emilk/egui/pull/1456)). - Replaced `Memory::top_most_layer` with more flexible `Memory::layer_ids`. - Renamed the feature `convert_bytemuck` to `bytemuck` ([#​1467](https://togithub.com/emilk/egui/pull/1467)). - Renamed the feature `serialize` to `serde` ([#​1467](https://togithub.com/emilk/egui/pull/1467)). - Renamed `Painter::sub_region` to `Painter::with_clip_rect`. ##### πŸ› Fixed - Fixed `ComboBox`es always being rendered left-aligned ([#​1304](https://togithub.com/emilk/egui/pull/1304)). - Fixed ui code that could lead to a deadlock ([#​1380](https://togithub.com/emilk/egui/pull/1380)). - Text is darker and more readable in bright mode ([#​1412](https://togithub.com/emilk/egui/pull/1412)). - Fixed a lot of broken/missing doclinks ([#​1419](https://togithub.com/emilk/egui/pull/1419)). - Fixed `Ui::add_visible` sometimes leaving the `Ui` in a disabled state ([#​1436](https://togithub.com/emilk/egui/issues/1436)). - Added line breaking rules for Japanese text ([#​1498](https://togithub.com/emilk/egui/pull/1498)). ##### ☒️ Deprecated - Deprecated `CollapsingHeader::selectable` ([#​1538](https://togithub.com/emilk/egui/pull/1538)). ##### πŸ”₯ Removed - Removed the `single_threaded/multi_threaded` flags - egui is now always thread-safe ([#​1390](https://togithub.com/emilk/egui/pull/1390)). ##### Contributors πŸ™ - [4JX](https://togithub.com/4JX) - [AlexxxRu](https://togithub.com/AlexxxRu) - [ascclemens](https://togithub.com/ascclemens) - [awaken1ng](https://togithub.com/awaken1ng) - [bigfarts](https://togithub.com/bigfarts) - [bobyclaws](https://togithub.com/bobyclaws) - [Bromeon](https://togithub.com/Bromeon) - [cloudhead](https://togithub.com/cloudhead) - [collin-kemper](https://togithub.com/collin-kemper) - [cpterry](https://togithub.com/cpterry) - [dbuch](https://togithub.com/dbuch) - [DusterTheFirst](https://togithub.com/DusterTheFirst) - [Edgeworth ](https://togithub.com/Edgeworth) - [elwerene](https://togithub.com/elwerene) - [follower](https://togithub.com/follower) - [Friz64](https://togithub.com/Friz64) - [Hunter522 ](https://togithub.com/Hunter522) - [Jake-Shadle](https://togithub.com/Jake-Shadle) - [jean-airoldie ](https://togithub.com/jean-airoldie) - [JelNiSlaw](https://togithub.com/JelNiSlaw) - [juancampa](https://togithub.com/juancampa) - [LU15W1R7H](https://togithub.com/LU15W1R7H) - [mbillingr](https://togithub.com/mbillingr) - [nicklasmoeller](https://togithub.com/nicklasmoeller) - [rukai](https://togithub.com/rukai) - [tami5](https://togithub.com/tami5) - [Titaniumtown](https://togithub.com/Titaniumtown) - [trevyn](https://togithub.com/trevyn) - [waynr](https://togithub.com/waynr) - [zam-5 ](https://togithub.com/zam-5) ### [`v0.17.0`](https://togithub.com/emilk/egui/blob/HEAD/CHANGELOG.md#0170---2022-02-22---Improved-font-selection-and-image-handling) [Compare Source](https://togithub.com/emilk/egui/compare/0.16.0...0.17.0) ##### ⭐ Added - Much improved font selection ([#​1154](https://togithub.com/emilk/egui/pull/1154)): - You can now select any font size and family using `RichText::size` amd `RichText::family` and the new `FontId`. - Easily change text styles with `Style::text_styles`. - Added `Ui::text_style_height`. - Added `TextStyle::resolve`. - Made the v-align and scale of user fonts tweakable ([#​1241](https://togithub.com/emilk/egui/pull/1027)). - Plot: - Added `Plot::x_axis_formatter` and `Plot::y_axis_formatter` for custom axis labels ([#​1130](https://togithub.com/emilk/egui/pull/1130)). - Added `Plot::allow_boxed_zoom()`, `Plot::boxed_zoom_pointer()` for boxed zooming on plots ([#​1188](https://togithub.com/emilk/egui/pull/1188)). - Added plot pointer coordinates with `Plot::coordinates_formatter` ([#​1235](https://togithub.com/emilk/egui/pull/1235)). - Added linked axis support for plots via `plot::LinkedAxisGroup` ([#​1184](https://togithub.com/emilk/egui/pull/1184)). - `Context::load_texture` to convert an image into a texture which can be displayed using e.g. `ui.image(texture, size)` ([#​1110](https://togithub.com/emilk/egui/pull/1110)). - `Ui::input_mut` to modify how subsequent widgets see the `InputState` and a convenience method `InputState::consume_key` for shortcuts or hotkeys ([#​1212](https://togithub.com/emilk/egui/pull/1212)). - Added `Ui::add_visible` and `Ui::add_visible_ui`. - Added `CollapsingHeader::icon` to override the default open/close icon using a custom function. ([1147](https://togithub.com/emilk/egui/pull/1147)). - Added `ui.data()`, `ctx.data()`, `ctx.options()` and `ctx.tessellation_options()` ([#​1175](https://togithub.com/emilk/egui/pull/1175)). - Added `Response::on_hover_text_at_pointer` as a convenience akin to `Response::on_hover_text` ([1179](https://togithub.com/emilk/egui/pull/1179)). - Opt-in dependency on `tracing` crate for logging warnings ([#​1192](https://togithub.com/emilk/egui/pull/1192)). - Added `ui.weak(text)`. - Added `Slider::step_by` ([1225](https://togithub.com/emilk/egui/pull/1225)). - Added `Context::move_to_top` and `Context::top_most_layer` for managing the layer on the top ([#​1242](https://togithub.com/emilk/egui/pull/1242)). - Support a subset of macOS' emacs input field keybindings in `TextEdit` ([#​1243](https://togithub.com/emilk/egui/pull/1243)). - Added ability to scroll an UI into view without specifying an alignment ([1247](https://togithub.com/emilk/egui/pull/1247)). - Added `Ui::scroll_to_rect` ([1252](https://togithub.com/emilk/egui/pull/1252)). ##### πŸ”§ Changed - ⚠️ `Context::input` and `Ui::input` now locks a mutex. This can lead to a dead-lock is used in an `if let` binding! - `if let Some(pos) = ui.input().pointer.latest_pos()` and similar must now be rewritten on two lines. - Search for this problem in your code using the regex `if let .*input`. - Better contrast in the default light mode style ([#​1238](https://togithub.com/emilk/egui/pull/1238)). - Renamed `CtxRef` to `Context` ([#​1050](https://togithub.com/emilk/egui/pull/1050)). - `Context` can now be cloned and stored between frames ([#​1050](https://togithub.com/emilk/egui/pull/1050)). - Renamed `Ui::visible` to `Ui::is_visible`. - Split `Event::Text` into `Event::Text` and `Event::Paste` ([#​1058](https://togithub.com/emilk/egui/pull/1058)). - Replaced `Style::body_text_style` with more generic `Style::text_styles` ([#​1154](https://togithub.com/emilk/egui/pull/1154)). - `TextStyle` is no longer `Copy` ([#​1154](https://togithub.com/emilk/egui/pull/1154)). - Replaced `TextEdit::text_style` with `TextEdit::font` ([#​1154](https://togithub.com/emilk/egui/pull/1154)). - `Plot::highlight` now takes a `bool` argument ([#​1159](https://togithub.com/emilk/egui/pull/1159)). - `ScrollArea::show` now returns a `ScrollAreaOutput`, so you might need to add `.inner` after the call to it ([#​1166](https://togithub.com/emilk/egui/pull/1166)). - Replaced `corner_radius: f32` with `rounding: Rounding`, allowing per-corner rounding settings ([#​1206](https://togithub.com/emilk/egui/pull/1206)). - Replaced Frame's `margin: Vec2` with `margin: Margin`, allowing for different margins on opposing sides ([#​1219](https://togithub.com/emilk/egui/pull/1219)). - Renamed `Plot::custom_label_func` to `Plot::label_formatter` ([#​1235](https://togithub.com/emilk/egui/pull/1235)). - `Areas::layer_id_at` ignores non-interatable layers (i.e. Tooltips) ([#​1240](https://togithub.com/emilk/egui/pull/1240)). - `ScrollArea`s will not shrink below a certain minimum size, set by `min_scrolled_width/min_scrolled_height` ([1255](https://togithub.com/emilk/egui/pull/1255)). - For integrations: - `Output` has now been renamed `PlatformOutput` and `Context::run` now returns the new `FullOutput` ([#​1292](https://togithub.com/emilk/egui/pull/1292)). - `FontImage` has been replaced by `TexturesDelta` (found in `FullOutput`), describing what textures were loaded and freed each frame ([#​1110](https://togithub.com/emilk/egui/pull/1110)). - The painter must support partial texture updates ([#​1149](https://togithub.com/emilk/egui/pull/1149)). - Added `RawInput::max_texture_side` which should be filled in with e.g. `GL_MAX_TEXTURE_SIZE` ([#​1154](https://togithub.com/emilk/egui/pull/1154)). ##### πŸ› Fixed - Plot `Orientation` was not public, although fields using this type were ([#​1130](https://togithub.com/emilk/egui/pull/1130)). - Context menus now respects the theme ([#​1043](https://togithub.com/emilk/egui/pull/1043)). - Calling `Context::set_pixels_per_point` before the first frame will now work. - Tooltips that don't fit the window don't flicker anymore ([#​1240](https://togithub.com/emilk/egui/pull/1240)). - Scroll areas now follow text cursor ([#​1252](https://togithub.com/emilk/egui/pull/1252)). - Slider: correctly respond with drag and focus events when interacting with the value directly ([1270](https://togithub.com/emilk/egui/pull/1270)). ##### Contributors πŸ™ - [4JX](https://togithub.com/4JX) - [55nknown](https://togithub.com/55nknown) - [AlanRace](https://togithub.com/AlanRace) - [AlexxxRu](https://togithub.com/AlexxxRu) - [awaken1ng](https://togithub.com/awaken1ng) - [BctfN0HUK7Yg](https://togithub.com/BctfN0HUK7Yg) - [Bromeon](https://togithub.com/Bromeon) - [cat-state](https://togithub.com/cat) - [danielkeller](https://togithub.com/danielkeller) - [dvec](https://togithub.com/dvec) - [Friz64](https://togithub.com/Friz64) - [Gordon01](https://togithub.com/Gordon01) - [HackerFoo](https://togithub.com/HackerFoo) - [juancampa](https://togithub.com/juancampa) - [justinj](https://togithub.com/justinj) - [lampsitter](https://togithub.com/lampsitter) - [LordMZTE](https://togithub.com/LordMZTE) - [manuel-i](https://togithub.com/manuel) - [Mingun](https://togithub.com/Mingun) - [niklaskorz](https://togithub.com/niklaskorz) - [nongiach](https://togithub.com/nongiach) - [parasyte](https://togithub.com/parasyte) - [psiphi75](https://togithub.com/psiphi75) - [s-nie](https://togithub.com/s) - [t18b219k](https://togithub.com/t18b219k) - [terhechte](https://togithub.com/terhechte) - [xudesheng](https://togithub.com/xudesheng) - [yusdacra](https://togithub.com/yusdacra) ### [`v0.16.0`](https://togithub.com/emilk/egui/blob/HEAD/CHANGELOG.md#0160---2021-12-29---Context-menus-and-rich-text) [Compare Source](https://togithub.com/emilk/egui/compare/0.15.0...0.16.0) ##### ⭐ Added - Added context menus: See `Ui::menu_button` and `Response::context_menu` ([#​543](https://togithub.com/emilk/egui/pull/543)). - Most widgets containing text (`Label`, `Button` etc) now supports rich text ([#​855](https://togithub.com/emilk/egui/pull/855)). - Plots: - Added bar charts and box plots ([#​863](https://togithub.com/emilk/egui/pull/863)). - You can now query information about the plot (e.g. get the mouse position in plot coordinates, or the plot bounds) while adding items. `Plot` ([#​766](https://togithub.com/emilk/egui/pull/766) and [#​892](https://togithub.com/emilk/egui/pull/892)). - You can now read and write the cursor of a `TextEdit` ([#​848](https://togithub.com/emilk/egui/pull/848)). - When using a custom font you can now specify a font index ([#​873](https://togithub.com/emilk/egui/pull/873)). - Added vertical sliders with `Slider::new(…).vertical()` ([#​875](https://togithub.com/emilk/egui/pull/875)). - Added `Button::image_and_text` ([#​832](https://togithub.com/emilk/egui/pull/832)). - Added `CollapsingHeader::open` to control if it is open or collapsed ([#​1006](https://togithub.com/emilk/egui/pull/1006)). - Added `egui::widgets::color_picker::color_picker_color32` to show the color picker. ##### πŸ”§ Changed - MSRV (Minimum Supported Rust Version) is now `1.56.0`. - `ui.add(Button::new("…").text_color(…))` is now `ui.button(RichText::new("…").color(…))` (same for `Label` )([#​855](https://togithub.com/emilk/egui/pull/855)). - Plots now provide a `show` method that has to be used to add items to and show the plot ([#​766](https://togithub.com/emilk/egui/pull/766)). - `menu::menu(ui, ...)` is now `ui.menu_button(...)` ([#​543](https://togithub.com/emilk/egui/pull/543)) - Replaced `CtxRef::begin_frame` and `end_frame` with `CtxRef::run` ([#​872](https://togithub.com/emilk/egui/pull/872)). - Replaced `scroll_delta` and `zoom_delta` in `RawInput` with `Event::Scroll` and `Event::Zoom`. - Unified the four `Memory` data buckets (`data`, `data_temp`, `id_data` and `id_data_temp`) into a single `Memory::data`, with a new interface ([#​836](https://togithub.com/emilk/egui/pull/836)). - Replaced `Ui::__test` with `egui::__run_test_ui` ([#​872](https://togithub.com/emilk/egui/pull/872)). ##### πŸ› Fixed - Fixed `ComboBox` and other popups getting clipped to parent window ([#​885](https://togithub.com/emilk/egui/pull/885)). - The color picker is now better at keeping the same hue even when saturation goes to zero ([#​886](https://togithub.com/emilk/egui/pull/886)). ##### πŸ”₯ Removed - Removed `egui::math` (use `egui::emath` instead). - Removed `egui::paint` (use `egui::epaint` instead). ##### Contributors πŸ™ - [5225225](https://togithub.com/5225225): [#​849](https://togithub.com/emilk/egui/pull/849). - [aevyrie](https://togithub.com/aevyrie): [#​966](https://togithub.com/emilk/egui/pull/966). - [B-Reif](https://togithub.com/B-Reif): [#​875](https://togithub.com/emilk/egui/pull/875). - [Bromeon](https://togithub.com/Bromeon): [#​863](https://togithub.com/emilk/egui/pull/863), [#​918](https://togithub.com/emilk/egui/pull/918). - [d10sfan](https://togithub.com/d10sfan): [#​832](https://togithub.com/emilk/egui/pull/832). - [EmbersArc](https://togithub.com/EmbersArc): [#​766](https://togithub.com/emilk/egui/pull/766), [#​892](https://togithub.com/emilk/egui/pull/892). - [Hperigo](https://togithub.com/Hperigo): [#​905](https://togithub.com/emilk/egui/pull/905). - [isegal](https://togithub.com/isegal): [#​934](https://togithub.com/emilk/egui/pull/934). - [mankinskin](https://togithub.com/mankinskin): [#​543](https://togithub.com/emilk/egui/pull/543). - [niladic](https://togithub.com/niladic): [#​499](https://togithub.com/emilk/egui/pull/499), [#​863](https://togithub.com/emilk/egui/pull/863). - [singalen](https://togithub.com/singalen): [#​973](https://togithub.com/emilk/egui/pull/973). - [sumibi-yakitori](https://togithub.com/sumibi-yakitori): [#​830](https://togithub.com/emilk/egui/pull/830), [#​870](https://togithub.com/emilk/egui/pull/870). - [t18b219k](https://togithub.com/t18b219k): [#​868](https://togithub.com/emilk/egui/pull/868), [#​888](https://togithub.com/emilk/egui/pull/888).

Configuration

πŸ“… 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 has been generated by Mend Renovate. View repository job log here.