mirror of
https://github.com/Noratrieb/game-wip-dontplay.git
synced 2026-01-16 20:35:02 +01:00
15 KiB
15 KiB
Changelog for eframe
All notable changes to the eframe crate.
NOTE: egui-winit, egui_glium, egui_glow,and egui-wgpu have their own changelogs!
Unreleased
Desktop/Native:
- Add
Frame::request_screenshotandFrame::screenshotto communicate to the backend that a screenshot of the current frame should be exposed byFrameduringApp::post_rendering(#2676). - Add
eframe::run_simple_native- a simple API for simple apps (#2453). - Fix bug where the eframe window is never destroyed on Linux when using
run_and_return(#2892)
Web:
- Bug fix: modifiers keys getting stuck on alt-tab (#2857).
0.21.3 - 2023-02-15
- Fix typing the letter 'P' on web (#2740).
0.21.2 - 2023-02-12
- Allow compiling
eframewith--no-default-features(#2728).
0.21.1 - 2023-02-12
- Fixed crash when native window position is in an invalid state, which could happen e.g. due to changes in monitor size or DPI (#2722).
0.21.0 - 2023-02-08 - Update to winit 0.28
- ⚠️ BREAKING:
App::clear_colornow expects you to return a raw float array (#2666). - The
screen_readerfeature has now been renamedweb_screen_readerand only work on web. On other platforms, use theaccesskitfeature flag instead (#2669).
Desktop/Native:
eframe::run_nativenow returns aResult(#2433).- Update to
winit0.28, adding support for mac trackpad zoom (#2654). - Fix bug where the cursor could get stuck using the wrong icon.
NativeOptions::transparentnow works with the wgpu backend (#2684).- Add
Frame::set_minimizedandset_maximized(#2292, #2672). - Fixed persistence of native window position on Windows OS (#2583).
Web:
- Prevent ctrl-P/cmd-P from opening the print dialog (#2598).
0.20.1 - 2022-12-11
0.20.0 - 2022-12-08 - AccessKit integration and wgpu web support
- MSRV (Minimum Supported Rust Version) is now
1.65.0(#2314). - Allow empty textures with the glow renderer.
Desktop/Native:
- Don't repaint when just moving window (#1980).
- Added
NativeOptions::event_loop_builderhook for apps to change platform specific event loop options (#1952). - Enabled deferred render state initialization to support Android (#1952).
- Added
shader_versiontoNativeOptionsfor cross compiling support on different target OpenGL | ES versions (on nativeglowrenderer only) (#1993). - Fix: app state is now saved when user presses Cmd-Q on Mac (#2013).
- Added
centertoNativeOptionsandmonitor_sizetoWindowInfoon desktop (#2035). - Improve IME support (#2046).
- Added mouse-passthrough option (#2080).
- Added
NativeOptions::fullsize_contentoption on Mac to build titlebar-less windows with floating window controls (#2049). - Wgpu device/adapter/surface creation has now various configuration options exposed via
NativeOptions/WebOptions::wgpu_options(#2207). - Fix: Make sure that
native_pixels_per_pointis updated (#2256). - Added optional, but enabled by default, integration with AccessKit for implementing platform accessibility APIs (#2294).
- Fix: Less flickering on resize on Windows (#2280).
Web:
- ⚠️ BREAKING:
start_webis a nowasync(#2107). - Web: You can now use WebGL on top of
wgpuby enabling thewgpufeature (and disablingglowvia disabling default features) (#2107). - Web: Add
WebInfo::user_agent(#2202). - Web: you can access your application from JS using
AppRunner::app_mut. Seecrates/egui_demo_app/src/lib.rs(#1886).
0.19.0 - 2022-08-20
- MSRV (Minimum Supported Rust Version) is now
1.61.0(#1846). - Added
wgpurendering backed (#1564):- Added features
wgpuandglow. - Added
NativeOptions::rendererto switch between the rendering backends.
- Added features
egui_glow: remove calls togl.get_errorin release builds to speed up rendering (#1583).- Added
App::post_renderingfor e.g. reading the framebuffer (#1591). - Use
Arcforglow::Contextinstead ofRc(#1640). - Fixed bug where the result returned from
App::on_exit_eventwould sometimes be ignored (#1696). - Added
NativeOptions::follow_system_themeandNativeOptions::default_theme(#1726). - Selectively expose parts of the API based on target arch (
wasm32or not) (#1867).
Desktop/Native:
- Fixed clipboard on Wayland (#1613).
- Added ability to read window position and size with
frame.info().window_info(#1617). - Allow running on native without hardware accelerated rendering. Change with
NativeOptions::hardware_acceleration(#1681, #1693). - Fixed window position persistence (#1745).
- Fixed mouse cursor change on Linux (#1747).
- Added
Frame::set_visible(#1808). - Added fullscreen support (#1866).
- You can now continue execution after closing the native desktop window (#1889).
Frame::quithas been renamed toFrame::closeandApp::on_exit_eventis nowApp::on_close_event(#1943).
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). - Added
WebOptions::follow_system_themeandWebOptions::default_theme(#1726). - Added option to select WebGL version (#1803).
0.18.0 - 2022-04-30
- MSRV (Minimum Supported Rust Version) is now
1.60.0(#1467). - Removed
eframe::epi- everything is now ineframe(eframe::App,eframe::Frameetc) (#1545). - Removed
Frame::request_repaint- just callegui::Context::request_repaintfor the same effect (#1366). - Changed app creation/setup (#1363):
- Removed
App::setupandApp::name. - Provide
CreationContextwhen creating app with egui context, storage, integration info and glow context. - Change interface of
run_nativeandstart_web.
- Removed
- Added
Frame::storage()andFrame::storage_mut()(#1418).- You can now load/save state in
App::update - Changed
App::updateto take&mut Frameinstead of&Frame. Frameis no longerCloneorSync.
- You can now load/save state in
- Added
glow(OpenGL) context toFrame(#1425).
Desktop/Native:
- Remove the
egui_gliumfeature.eframewill now always useegui_glowas the native backend (#1357). - Change default for
NativeOptions::drag_and_drop_supporttotrue(#1329). - Added new
NativeOptions:vsync,multisampling,depth_buffer,stencil_buffer. dark-light(dark mode detection) is now an opt-in feature (#1437).- Fixed potential scale bug when DPI scaling changes (e.g. when dragging a window between different displays) (#1441).
- Added new feature
puffinto addpuffin profilerscopes (#1483). - Moved app persistence to a background thread, allowing for smoother frame rates (on native).
- Added
Frame::set_window_pos(#1505).
Web:
0.17.0 - 2022-02-22
- Removed
Frame::alloc_texture. Useegui::Context::load_textureinstead (#1110). - Shift-scroll will now result in horizontal scrolling on all platforms (#1136).
- Log using the
tracingcrate. Log to stdout by addingtracing_subscriber::fmt::init();to yourmain(#1192).
Desktop/Native:
- The default native backend is now
egui_glow(instead ofegui_glium) (#1020). - Automatically detect and apply dark or light mode from system (#1045).
- Fixed horizontal scrolling direction on Linux.
- Added
App::on_exit_event(#1038) - Added
NativeOptions::initial_window_pos. - Fixed
enable_dragfor Windows OS (#1108).
Web:
- The default web painter is now
egui_glow(instead of WebGL) (#1020). - Fixed glow failure on Chromium (#1092).
- Updated
eframe::IntegrationInfo::web_location_hashonhashchangeevent (#1140). - Expose all parts of the location/url in
frame.info().web_info(#1258).
0.16.0 - 2021-12-29
Framecan now be cloned, saved, and passed to background threads (#999).- Added
Frame::request_repaintto replacerepaint_signal(#999). - Added
Frame::alloc_texture/free_textureto replacetex_allocator(#999).
Web:
- Fixed dark rendering in WebKitGTK (#888).
- Added feature
glowto switch to aglowbased painter (#868).
0.15.0 - 2021-10-24
Framenow providesset_window_titleto set window title dynamically (#828).Framenow providesset_decorationsto set whether to show window decorations.- Remove "http" feature (use https://github.com/emilk/ehttp instead!).
- Added
App::persist_native_windowandApp::persist_egui_memoryto control what gets persisted.
Desktop/Native:
- Increase native scroll speed.
- Added new backend
egui_glowas an alternative toegui_glium. Enable withdefault-features = false, features = ["default_fonts", "egui_glow"].
Web:
- Implement
eframe::NativeTexturetrait for the WebGL painter. - Deprecate `Painter::register_webgl_texture.
- Fixed multiline paste.
- Fixed painting with non-opaque backgrounds.
- Improve text input on mobile and for IME.
0.14.0 - 2021-08-24
- Added dragging and dropping files into egui.
- Improve http fetch API.
run_nativenow returns when the app is closed.- Web: Made text thicker and less pixelated.
0.13.1 - 2021-06-24
- Fixed
httpfeature flag and docs
0.13.0 - 2021-06-24
App::setupnow takes aFrameandStorageby argument.App::loadhas been removed. ImplementApp::setupinstead.- Web: Default to light visuals unless the system reports a preference for dark mode.
- Web: Improve alpha blending, making fonts look much better (especially in light mode)
- Web: Fix double-paste bug
0.12.0 - 2021-05-10
- Moved options out of
trait Appinto newNativeOptions. - Added option for
always_on_top. - Web: Scroll faster when scrolling with mouse wheel.
0.11.0 - 2021-04-05
- You can now turn your window transparent with the
App::transparentoption. - You can now disable window decorations with the
App::decoratedoption. - Web: Fix mobile and IME text input
- Web: Hold down a modifier key when clicking a link to open it in a new tab.
Contributors: n2
0.10.0 - 2021-02-28
- You can now set your own app icons.
- You can control the initial size of the native window with
App::initial_window_size. - You can control the maximum egui web canvas size with
App::max_size_points. Frame::tex_allocator()no longer returns anOption(there is always a texture allocator).
0.9.0 - 2021-02-07
- Added support for HTTP body.
- Web: Right-clicks will no longer open browser context menu.
- Web: Fix a bug where one couldn't select items in a combo box on a touch screen.
0.8.0 - 2021-01-17
- Simplify
TextureAllocatorinterface. - WebGL2 is now supported, with improved texture sampler. WebGL1 will be used as a fallback.
- Web: Slightly improved alpha-blending (work-around for non-existing linear-space blending).
- Web: Call
prevent_defaultfor arrow keys when entering text
0.7.0 - 2021-01-04
- Initial release of
eframe