Emil Ernerfeldt
97ce103209
Release 0.19.0 - wgpu backend, repaint_after, continue-after-close
2022-08-20 16:49:58 +02:00
Emil Ernerfeldt
13f5d62b4b
Commit a new web demo
2022-08-20 16:37:59 +02:00
Emil Ernerfeldt
127931ba45
eframe: rename quit/exit to "close" ( #1943 )
...
Since https://github.com/emilk/egui/pull/1919 we can continue
the application after closing the native window. It therefore makes
more sense to call `frame.close()` to close the native window,
instead of `frame.quit()`.
2022-08-20 16:08:59 +02:00
Emil Ernerfeldt
2453756782
Fix broken GitHub source links due to #1940
2022-08-20 15:18:02 +02:00
Emil Ernerfeldt
8737933101
Improve documentation and logging
2022-08-20 15:06:43 +02:00
Emil Ernerfeldt
725aa5277b
Update crate rfd to 0.10 (in file_dialog example)
...
Also update ab_glyph from 0.2.15 to 0.2.16
2022-08-20 14:42:37 +02:00
Emil Ernerfeldt
eb10ef94f7
Build-fix for --no-default-features
2022-08-20 14:40:33 +02:00
Emil Ernerfeldt
f4cc1c5465
eframe: Don't follow system theme by default ( #1941 )
...
I have gone back and forth on this a bit, but I think the arguments
AGAINST following the system theme are many:
* `dark-light` is a big dependency with problems on Linux.
* Many people prefer the dark mode and ask how to set it as the default
(even though they are using light mode in their OS).
* A developer may be surprised when the app changes theme when
they run it on another computer.
So, the path of least surprise is to make this an opt-in feature
with dark mode as the default mode.
On native, you add the `dark-light` feature to enable it.
On web, you set `WebOptions::follow_system_theme`.
2022-08-20 11:11:07 +02:00
Emil Ernerfeldt
40e440b2f7
Update changelog with recent PR merges
2022-08-20 10:42:31 +02:00
Emil Ernerfeldt
041f2e64ba
Move all crates into a crates
directory ( #1940 )
2022-08-20 10:41:49 +02:00
Emil Ernerfeldt
5c63648c02
clean up rust.yml ( #1939 )
2022-08-20 09:32:48 +02:00
Emil Ernerfeldt
193a434717
eframe persistence: persistence failure is now logged instead of a panic
2022-08-19 12:04:43 +02:00
Emil Ernerfeldt
277f199df4
eframe: make sure we can serialize i128/u128 with ron
...
Some eframe users may be relying on this.
2022-08-19 12:04:08 +02:00
Emil Ernerfeldt
5514a8afda
Update dependencies ( #1933 )
...
* Update ahash from 0.7 to 0.8
Opt to use ahash::HashMap over ahash::AHashMap
* Fix ahash compilation for web
* Update ron to 0.8
* Add note about why we cannot update tiny-skia
* cargo update
Updating crates.io index
Updating android_system_properties v0.1.2 -> v0.1.4
Updating anyhow v1.0.58 -> v1.0.62
Updating async-broadcast v0.4.0 -> v0.4.1
Updating async-channel v1.6.1 -> v1.7.1
Updating async-io v1.7.0 -> v1.8.0
Updating async-task v4.2.0 -> v4.3.0
Updating async-trait v0.1.56 -> v0.1.57
Updating backtrace v0.3.65 -> v0.3.66
Updating bit-set v0.5.2 -> v0.5.3
Updating bumpalo v3.10.0 -> v3.11.0
Updating bytemuck v1.10.0 -> v1.12.1
Updating bytemuck_derive v1.1.0 -> v1.2.1
Updating bytes v1.1.0 -> v1.2.1
Updating cast v0.2.7 -> v0.3.0
Updating chrono v0.4.19 -> v0.4.22
Updating clap v3.2.8 -> v3.2.17
Updating clipboard-win v4.4.1 -> v4.4.2
Updating combine v4.6.4 -> v4.6.6
Updating concurrent-queue v1.2.2 -> v1.2.4
Updating criterion v0.3.5 -> v0.3.6
Updating criterion-plot v0.4.4 -> v0.4.5
Updating crossbeam-channel v0.5.5 -> v0.5.6
Updating crossbeam-deque v0.8.1 -> v0.8.2
Updating crossbeam-epoch v0.9.9 -> v0.9.10
Updating crossbeam-utils v0.8.10 -> v0.8.11
Updating document-features v0.2.1 -> v0.2.3
Updating dyn-clone v1.0.6 -> v1.0.9
Removing easy-parallel v3.2.0
Updating either v1.7.0 -> v1.8.0
Updating enum-map v2.1.0 -> v2.4.1
Updating enum-map-derive v0.8.0 -> v0.10.0
Updating event-listener v2.5.2 -> v2.5.3
Updating fastrand v1.7.0 -> v1.8.0
Updating futures-core v0.3.21 -> v0.3.23
Updating futures-io v0.3.21 -> v0.3.23
Updating futures-sink v0.3.21 -> v0.3.23
Updating futures-task v0.3.21 -> v0.3.23
Updating futures-util v0.3.21 -> v0.3.23
Updating gimli v0.26.1 -> v0.26.2
Updating gpu-descriptor v0.2.2 -> v0.2.3
Removing hashbrown v0.11.2
Removing hashbrown v0.12.1
Adding hashbrown v0.12.3
Adding iana-time-zone v0.1.46
Updating image v0.24.2 -> v0.24.3
Updating inplace_it v0.3.3 -> v0.3.4
Updating itoa v1.0.2 -> v1.0.3
Updating js-sys v0.3.58 -> v0.3.59
Updating libc v0.2.126 -> v0.2.132
Updating libm v0.2.2 -> v0.2.5
Removing memmap2 v0.3.1
Removing memmap2 v0.5.4
Adding memmap2 v0.5.7
Removing num-iter v0.1.43
Updating object v0.28.4 -> v0.29.0
Updating once_cell v1.13.0 -> v1.13.1
Updating os_str_bytes v6.1.0 -> v6.3.0
Updating owned_ttf_parser v0.15.0 -> v0.15.1
Removing parking_lot v0.11.2
Removing parking_lot_core v0.8.5
Updating plotters v0.3.1 -> v0.3.3
Updating plotters-backend v0.3.2 -> v0.3.4
Updating plotters-svg v0.3.1 -> v0.3.3
Updating proc-macro-crate v1.1.3 -> v1.2.1
Updating proc-macro2 v1.0.40 -> v1.0.43
Updating quote v1.0.20 -> v1.0.21
Updating redox_syscall v0.2.13 -> v0.2.16
Updating regex v1.5.6 -> v1.6.0
Updating regex-syntax v0.6.26 -> v0.6.27
Updating rfd v0.8.0 -> v0.8.4
Removing rustc_version v0.4.0
Updating ryu v1.0.10 -> v1.0.11
Updating sctk-adwaita v0.4.1 -> v0.4.2
Removing semver v1.0.12
Updating serde v1.0.138 -> v1.0.143
Updating serde_derive v1.0.138 -> v1.0.143
Updating serde_json v1.0.82 -> v1.0.83
Updating serde_repr v0.1.8 -> v0.1.9
Updating slab v0.4.6 -> v0.4.7
Removing smithay-client-toolkit v0.15.4
Updating smithay-clipboard v0.6.5 -> v0.6.6
Updating syn v1.0.98 -> v1.0.99
Updating thiserror v1.0.31 -> v1.0.32
Updating thiserror-impl v1.0.31 -> v1.0.32
Updating time v0.3.11 -> v0.3.13
Adding tiny-skia v0.7.0
Adding tiny-skia-path v0.7.0
Updating tracing v0.1.35 -> v0.1.36
Updating tracing-core v0.1.28 -> v0.1.29
Updating tracing-subscriber v0.3.14 -> v0.3.15
Updating unicode-ident v1.0.1 -> v1.0.3
Updating unicode_names2 v0.5.0 -> v0.5.1
Updating ureq v2.4.0 -> v2.5.0
Updating wasm-bindgen-futures v0.4.31 -> v0.4.32
Updating web-sys v0.3.58 -> v0.3.59
Updating webpki-roots v0.22.3 -> v0.22.4
Updating weezl v0.1.6 -> v0.1.7
Updating wgpu-core v0.13.1 -> v0.13.2
Updating wgpu-hal v0.13.1 -> v0.13.2
Updating wgpu-types v0.13.0 -> v0.13.2
Updating windows v0.32.0 -> v0.37.0
Updating windows_aarch64_msvc v0.32.0 -> v0.37.0
Updating windows_i686_gnu v0.32.0 -> v0.37.0
Updating windows_i686_msvc v0.32.0 -> v0.37.0
Updating windows_x86_64_gnu v0.32.0 -> v0.37.0
Updating windows_x86_64_msvc v0.32.0 -> v0.37.0
Updating x11-dl v2.19.1 -> v2.20.0
Updating zbus_names v2.1.0 -> v2.2.0
Updating zvariant v3.4.1 -> v3.6.0
Updating zvariant_derive v3.4.1 -> v3.6.0
* Add "Unicode-DFS-2016" to deny.toml whitelist
2022-08-19 11:46:38 +02:00
Asger Nyman Christiansen
eeeb4b7de2
Improve custom_3d_three-d example ( #1923 )
...
* Use correct FBO to output
* custom_3d_three-d web
* Update .gitignore
* Do not free the FBO
* Use three-d 0.13
* ThreeDApp
* Only construct model and camera once
* Clean-up and docs
* Web build instructions
* Remove unused dependencies
* Update Cargo.lock
* Fix build
* More fixes
* omg
2022-08-17 21:33:34 +02:00
Emil Ernerfeldt
39b63f6163
Warn if using an TextShape
from before a change to pixels_per_point
...
Closes https://github.com/emilk/egui/issues/1915
2022-08-16 22:47:23 +02:00
Emil Ernerfeldt
9c58f12a6c
eframe: several windows in series ( #1919 )
...
* Add example of opening several eframe windows in series
* Reuse the same winit event loop
* Ignore events to the wrong window
* Run run_return again
2022-08-15 16:31:03 +02:00
Zoxc
48e7f219a3
Add CI for android ( #1900 )
...
* Add CI for android
* Don't use arboard on Android
* Fix Android support for eframe
2022-08-15 10:19:59 +02:00
Emil Ernerfeldt
923b67ef9c
Update to winit 0.27.2, glutin 0.29.0, glium 0.32 ( #1914 )
2022-08-14 16:23:46 +02:00
eranfu
38a67f8646
Add PointerState::button_double_clicked()
and PointerState::button_triple_clicked()
. ( #1907 )
...
Co-authored-by: eranfu <eranfu@tencent.com>
2022-08-14 16:10:38 +02:00
Emil Ernerfeldt
7c25a9238e
Remove get_ prefix from functions to better follow Rust API Guidelines
2022-08-08 12:21:53 +02:00
Emil Ernerfeldt
e38955fbac
Fix: remember to call integration.post_rendering on wgpu path
2022-08-08 12:15:51 +02:00
Emil Ernerfeldt
9e41fa021a
eframe: rename render_state
to wgpu_render_state
for added clarity
2022-08-08 12:15:31 +02:00
Emil Ernerfeldt
66c601f775
Continue execution after closing native eframe window ( #1889 )
...
This adds `NativeOptions::run_and_return` with default value `true`.
If `true`, execution will continue after the eframe window is closed. This is a new behavior introduced in this PR.
If `false`, the app will close once the eframe window is closed. The is the old behavior.
This is `true` by default, and the `false` option is only there so we can revert if we find any bugs.
When `true`, [`winit::platform::run_return::EventLoopExtRunReturn::run_return`](https://docs.rs/winit/latest/winit/platform/run_return/trait.EventLoopExtRunReturn.html#tymethod.run_return ) is used. The winit docs warns of its usage, recommending `EventLoop::run`, but 🤷
When `false`, [`winit::event_loop::EventLoop::run`](https://docs.rs/winit/latest/winit/event_loop/struct.EventLoop.html#method.run ) is used.
This is a really useful feature. You can now use `eframe` to quickly open up a window and show some data or options, and then continue your program after the `eframe` window is closed
My previous attempt at this caused some problems, but my new attempt seems to be working much better, at least on my Mac.
2022-08-05 08:20:31 +02:00
Lorren Biffin
e3f993d7b4
Fixed bug in custom window example ( #1750 )
2022-08-04 12:32:27 +02:00
Barugon
2f3c2a360b
Add with_main_align method ( #1891 )
...
Co-authored-by: Barugon <barugon@dungeonbox.net>
2022-08-04 12:07:45 +02:00
Emil Ernerfeldt
a827c3e033
Add glow::Painter::intermediate_fbo()
...
This allow callbacks to restore to the correct framebuffer
after using their own temporary FBO.
See discussion in https://github.com/emilk/egui/issues/1744
2022-08-03 09:38:46 +02:00
Emil Ernerfeldt
53249d36df
Remove superflous #[cfg(test)]
2022-08-03 09:31:43 +02:00
Dylan Ancel
1af446b9e8
Make egui_wgpu::RenderPass Send and Sync ( #1883 )
...
* Make RenderPass Send and Sync
* Add change to CHANGELOG
* Make CHANGELOG formatting match egui
* Add test
2022-08-03 09:26:16 +02:00
Emil Ernerfeldt
cb0d5a58ab
Fix incorrect documentation for Response::context_menu
...
Closes https://github.com/emilk/egui/issues/1882
2022-08-03 08:26:42 +02:00
Asger Nyman Christiansen
bcc01c8b1c
Add egui/default_fonts
feature to pure_glow
example ( #1881 )
...
It seems to me like the `pure_glow` example was broken sometime in april because of changes to feature flags. The text simply didn't show up which is due to missing fonts unless you figured out that you needed the `egui/default_fonts` feature flag. This change enforces the use of the `egui/default_fonts` feature flag in this example.
2022-08-02 23:04:59 +02:00
Nicolas Musset
e288ca86fd
Remove dependency on AsRef trait for TextBuffer ( #1824 )
2022-08-02 20:35:37 +02:00
YgorSouza
e39410c37f
Make EasyMark numbered lists allow more than 2 digits ( #1826 )
...
Co-authored-by: Ygor Souza <ygor.souza@protonmail.com>
2022-08-02 20:35:25 +02:00
Emil Ernerfeldt
06adb09fa3
Make stick_to_bottom take a bool argument
2022-08-02 20:34:50 +02:00
Emil Ernerfeldt
263c9bd601
Make use of AppRunnerRef
...
Follow-up to #1650
2022-08-02 17:44:27 +02:00
Stanislav
64496cacb9
Graceful exit from web ( #1650 )
...
Return a handle that can be used to stop a running egui instance.
2022-08-02 17:42:55 +02:00
Asger Nyman Christiansen
3eccd341ad
Add depth buffer in native 3D example ( #1878 )
...
The `custom_3d_three-d` example does not enable a depth buffer since it is only rendering a triangle. However, if it is used as a starting point for other projects, it is highly likely that a depth buffer is actually needed, therefore I propose to enable it by default.
Also see [this](https://github.com/asny/three-d/issues/268 ) issue for full context.
2022-08-02 17:31:15 +02:00
Emil Ernerfeldt
10788ccc92
More newlines for improved readability ( #1880 )
...
* Add blank lines above all `fn`, `impl`, `struct`, etc
* Even newlines between docstringed struct and enum fields
* Improve some documentation
2022-08-02 17:26:33 +02:00
Emil Ernerfeldt
5d8ef5326b
Change build_demo_web.sh
option from --fast
to --optimize
2022-08-02 09:56:38 +02:00
Emil Ernerfeldt
2500a60062
Code cleanup and improved docs
2022-07-30 18:40:49 +02:00
Kubik
5fb4efa768
Improve documentation about panel order ( #1869 )
2022-07-30 17:11:56 +02:00
Emil Ernerfeldt
d659e5d24f
Add Shape::hline
and Shape::vline
2022-07-30 15:34:24 +02:00
Emil Ernerfeldt
c62f3409bd
Fix misnamed variable (content_is_too_small -> content_is_too_large)
...
See https://github.com/emilk/egui/issues/1376
2022-07-30 15:33:08 +02:00
quietvoid
8997519eb2
Fix valign
typo ( #1870 )
2022-07-30 14:55:34 +02:00
Emil Ernerfeldt
235d77713d
Improve README.md files
2022-07-29 16:07:48 +02:00
Emil Ernerfeldt
6de9d89b65
Add emath::exponential_smooth_factor
2022-07-29 16:07:35 +02:00
Emil Ernerfeldt
4e8a6e3370
misc code cleanup
2022-07-29 16:07:26 +02:00
Emil Ernerfeldt
b0fa0c65cc
fix typo
2022-07-29 15:56:04 +02:00
Emil Ernerfeldt
2612dd1064
Add Visuals::error_fg_color and Visuals::warn_fg_color
2022-07-29 15:32:32 +02:00
Emil Ernerfeldt
8c09804abd
eframe
: selectively expose parts of the API based on compile target (#1867 )
...
A lot of the `eframe` API is native-only or web-only. With this PR, only the parts that are implemented for each platform is exposed.
This means you'll need to add `#[cfg(target_arch = "wasm32")]` around code that uses the web-parts of the eframe API, and add `#[cfg(not(target_arch = "wasm32"))]` around the parts that are for native/desktop.
2022-07-29 14:37:23 +02:00