Emil Ernerfeldt
c8dd3dd01a
Update dependencies ( #3700 )
...
Also disable `regex` `env_logger` feature in examples to improve compile
times.
2023-12-12 12:59:40 +01:00
Emil Ernerfeldt
bd9bc252aa
Fix buggy text withviewports on monitors with different scales ( #3666 )
...
* Closes https://github.com/emilk/egui/issues/3664
Bonus: optimize color conversions and font atlas upload, especially in
debug builds.
2023-11-30 15:56:05 +01:00
Emil Ernerfeldt
24913ceeba
Fix up some examples ( #3614 )
2023-11-23 12:58:44 +01:00
Emil Ernerfeldt
63e48dc855
Introduce global `zoom_factor` ( #3608 )
...
* Closes https://github.com/emilk/egui/issues/3602
You can now zoom any egui app by pressing Cmd+Plus, Cmd+Minus or Cmd+0,
just like in a browser. This will change the current `zoom_factor`
(default 1.0) which is persisted in the egui memory, and is the same for
all viewports.
You can turn off the keyboard shortcuts with `ctx.options_mut(|o|
o.zoom_with_keyboard = false);`
`zoom_factor` can also be explicitly read/written with
`ctx.zoom_factor()` and `ctx.set_zoom_factor()`.
This redefines `pixels_per_point` as `zoom_factor *
native_pixels_per_point`, where `native_pixels_per_point` is whatever is
the native scale factor for the monitor that the current viewport is in.
This adds some complexity to the interaction with winit, since we need
to know the current `zoom_factor` in a lot of places, because all egui
IO is done in ui points. I'm pretty sure this PR fixes a bunch of subtle
bugs though that used to be in this code.
`egui::gui_zoom::zoom_with_keyboard_shortcuts` is now gone, and is no
longer needed, as this is now the default behavior.
`Context::set_pixels_per_point` is still there, but it is recommended
you use `Context::set_zoom_factor` instead.
2023-11-22 20:34:51 +01:00
Emil Ernerfeldt
1bbd5a9fc8
Update puffin to 0.18 ( #3600 )
...
THe profiling macros now contain unsafe code (but in a safe way), so
`#[foribd(unsafe)]` had to become `#[deny(unsafe)]`
2023-11-21 17:58:33 +01:00
Emil Ernerfeldt
bfadb90d42
Update MSRV to Rust 1.72 ( #3595 )
...
Required to update to puffin 0.18
2023-11-21 17:26:35 +01:00
Emil Ernerfeldt
7bfaf49636
Update to puffin 0.17 ( #3581 )
2023-11-19 21:28:42 +01:00
Emil Ernerfeldt
99a1b5b62e
Add `Context::open_url` and `Context::copy_text` ( #3380 )
...
* Add Context::open_url
* Add `Context::copy_text`
* Fix doctest
* Fix another doctest
2023-09-24 09:31:21 +02:00
Emil Ernerfeldt
fc3bddd0cf
Add more puffin profile scopes to `eframe` ( #3330 )
...
* Add puffin profile scopes to the startup and running of eframe
* puffin_profiler example: start puffin right away
* cargo format let-else statements
* More profile scopes
* Add some `#[inline]`
* Standardize puffin profile scope definitions
* standardize again
* Silence warning when puffin is disabled
2023-09-13 09:00:38 +02:00
Emil Ernerfeldt
82704bebbf
Update MSRV to Rust 1.70.0 ( #3310 )
...
* Update to Rust 1.70
* Fix renamed clippy lint
* Use let-else more
* Code cleanup
* Remove derelict Safety comments
* Enable more clippy lints
2023-09-06 07:59:24 +02:00
Emil Ernerfeldt
08fb447fb5
Increase MSRV to 1.67 ( #3234 )
...
* Bump MSRV to 1.67
* clippy fixes
* cargo clippy: inline format args
* Add `clippy::uninlined_format_args` to cranky lints
* Fix clippy on wasm
* More clippy fixes
2023-08-11 13:54:02 +02:00
Emil Ernerfeldt
083d61fccd
Update to puffin 0.16 ( #3144 )
2023-07-10 12:29:01 +02:00
Emil Ernerfeldt
b2281c46e4
Update example screenshots
2023-05-23 13:38:02 +02:00
Emil Ernerfeldt
8c5d235bfb
cargo update ( #3018 )
...
* cargo update
Updating crates.io index
Updating ab_glyph v0.2.20 -> v0.2.21
Updating aho-corasick v0.7.20 -> v1.0.1
Updating android-activity v0.4.0 -> v0.4.1
Updating anyhow v1.0.69 -> v1.0.71
Updating arrayref v0.3.6 -> v0.3.7
Updating async-broadcast v0.5.0 -> v0.5.1
Updating async-executor v1.5.0 -> v1.5.1
Updating async-io v1.12.0 -> v1.13.0
Updating async-lock v2.6.0 -> v2.7.0
Updating async-recursion v1.0.2 -> v1.0.4
Updating async-task v4.3.0 -> v4.4.0
Updating async-trait v0.1.64 -> v0.1.68
Updating atomic_refcell v0.1.9 -> v0.1.10
Adding base64 v0.21.1
Updating bindgen v0.64.0 -> v0.65.1
Updating bitflags v2.1.0 -> v2.3.1
Updating block-buffer v0.10.3 -> v0.10.4
Updating bumpalo v3.12.0 -> v3.13.0
Updating bytemuck v1.13.0 -> v1.13.1
Updating bytemuck_derive v1.4.0 -> v1.4.1
Updating cfg-expr v0.11.0 -> v0.15.1
Updating chrono v0.4.23 -> v0.4.24
Updating ciborium v0.2.0 -> v0.2.1
Updating ciborium-io v0.2.0 -> v0.2.1
Updating ciborium-ll v0.2.0 -> v0.2.1
Updating clang-sys v1.4.0 -> v1.6.1
Updating clap v3.2.23 -> v3.2.25
Updating cocoa-foundation v0.1.0 -> v0.1.1
Updating concurrent-queue v2.1.0 -> v2.2.0
Updating core-foundation-sys v0.8.3 -> v0.8.4
Updating cpufeatures v0.2.5 -> v0.2.7
Updating crossbeam-utils v0.8.14 -> v0.8.15
Removing cxx v1.0.89
Removing cxx-build v1.0.89
Removing cxxbridge-flags v1.0.89
Removing cxxbridge-macro v1.0.89
Updating digest v0.10.6 -> v0.10.7
Updating dyn-clone v1.0.10 -> v1.0.11
Updating enum-map v2.4.2 -> v2.5.0
Updating enumn v0.1.6 -> v0.1.8
Removing errno v0.2.8
Updating fastrand v1.8.0 -> v1.9.0
Adding fdeflate v0.3.0
Updating flate2 v1.0.25 -> v1.0.26
Updating futures-core v0.3.26 -> v0.3.28
Updating futures-io v0.3.26 -> v0.3.28
Updating futures-lite v1.12.0 -> v1.13.0
Updating futures-sink v0.3.26 -> v0.3.28
Updating futures-task v0.3.26 -> v0.3.28
Updating futures-util v0.3.26 -> v0.3.28
Updating generic-array v0.14.6 -> v0.14.7
Updating getrandom v0.2.8 -> v0.2.9
Updating gimli v0.27.1 -> v0.27.2
Updating glutin v0.30.4 -> v0.30.8
Updating glutin_egl_sys v0.4.0 -> v0.5.0
Updating gpu-alloc v0.5.3 -> v0.5.4
Adding home v0.5.5
Updating iana-time-zone v0.1.53 -> v0.1.56
Updating iana-time-zone-haiku v0.1.1 -> v0.1.2
Updating image v0.24.5 -> v0.24.6
Updating indexmap v1.9.2 -> v1.9.3
Updating io-lifetimes v1.0.6 -> v1.0.10
Updating itoa v1.0.5 -> v1.0.6
Updating jni v0.20.0 -> v0.21.1
Updating jobserver v0.1.25 -> v0.1.26
Updating js-sys v0.3.61 -> v0.3.63
Updating libc v0.2.139 -> v0.2.144
Removing link-cplusplus v1.0.8
Removing linux-raw-sys v0.1.4
Removing linux-raw-sys v0.3.2
Adding linux-raw-sys v0.3.8
Updating memmap2 v0.5.8 -> v0.5.10
Adding miniz_oxide v0.7.1
Updating mio v0.8.5 -> v0.8.6
Updating naga v0.12.0 -> v0.12.1
Removing nom8 v0.2.0
Updating num_enum v0.5.9 -> v0.5.11
Updating num_enum_derive v0.5.9 -> v0.5.11
Updating objc2 v0.3.0-beta.3 -> v0.3.0-beta.3.patch-leaks.3
Updating once_cell v1.17.0 -> v1.17.1
Updating orbclient v0.3.42 -> v0.3.45
Updating ordered-stream v0.1.4 -> v0.2.0
Updating os_str_bytes v6.4.1 -> v6.5.0
Updating owned_ttf_parser v0.18.1 -> v0.19.0
Updating parking v2.0.0 -> v2.1.0
Updating paste v1.0.11 -> v1.0.12
Updating pkg-config v0.3.26 -> v0.3.27
Updating plist v1.4.0 -> v1.4.3
Updating png v0.17.7 -> v0.17.8
Updating polling v2.5.2 -> v2.8.0
Adding prettyplease v0.2.5
Updating proc-macro-crate v1.3.0 -> v1.3.1
Updating proc-macro2 v1.0.56 -> v1.0.58
Updating profiling v1.0.7 -> v1.0.8
Updating puffin v0.14.2 -> v0.14.3
Updating quick-xml v0.26.0 -> v0.28.2
Updating quote v1.0.26 -> v1.0.27
Updating range-alloc v0.1.2 -> v0.1.3
Updating redox_syscall v0.3.4 -> v0.3.5
Updating regex v1.7.1 -> v1.8.2
Removing regex-syntax v0.6.28
Adding regex-syntax v0.6.29
Adding regex-syntax v0.7.2
Updating rfd v0.11.0 -> v0.11.4
Updating rgb v0.8.35 -> v0.8.36
Updating rustc-demangle v0.1.21 -> v0.1.23
Removing rustix v0.36.9
Removing rustix v0.37.3
Adding rustix v0.37.19
Updating ruzstd v0.3.0 -> v0.3.1
Updating ryu v1.0.12 -> v1.0.13
Removing scratch v1.0.3
Updating sctk-adwaita v0.5.3 -> v0.5.4
Updating serde v1.0.152 -> v1.0.163
Updating serde_derive v1.0.152 -> v1.0.163
Updating serde_json v1.0.92 -> v1.0.96
Updating serde_repr v0.1.10 -> v0.1.12
Adding serde_spanned v0.6.2
Adding simd-adler32 v0.3.5
Updating slab v0.4.7 -> v0.4.8
Updating socket2 v0.4.7 -> v0.4.9
Removing syn v1.0.107
Removing syn v2.0.15
Adding syn v1.0.109
Adding syn v2.0.16
Updating system-deps v6.0.3 -> v6.1.0
Adding target-lexicon v0.12.7
Updating tempfile v3.4.0 -> v3.5.0
Updating thiserror v1.0.38 -> v1.0.40
Updating thiserror-impl v1.0.38 -> v1.0.40
Updating time v0.3.17 -> v0.3.21
Updating time-core v0.1.0 -> v0.1.1
Updating time-macros v0.2.6 -> v0.2.9
Updating tiny-skia v0.8.3 -> v0.8.4
Updating tiny-skia-path v0.8.3 -> v0.8.4
Updating toml v0.5.11 -> v0.7.4
Updating toml_datetime v0.5.1 -> v0.6.2
Updating toml_edit v0.18.1 -> v0.19.9
Updating tracing-attributes v0.1.23 -> v0.1.24
Updating tracing-core v0.1.30 -> v0.1.31
Updating ttf-parser v0.18.1 -> v0.19.0
Updating tts v0.25.0 -> v0.25.5
Updating unicode-bidi v0.3.10 -> v0.3.13
Updating unicode-ident v1.0.6 -> v1.0.8
Updating walkdir v2.3.2 -> v2.3.3
Updating wasm-bindgen-futures v0.4.34 -> v0.4.36
Updating web-sys v0.3.61 -> v0.3.63
Updating webbrowser v0.8.7 -> v0.8.10
Removing wepoll-ffi v0.1.2
Updating windows v0.43.0 -> v0.48.0
Removing windows-sys v0.42.0
Updating windows-targets v0.42.1 -> v0.42.2
Updating windows_aarch64_gnullvm v0.42.1 -> v0.42.2
Updating windows_aarch64_msvc v0.42.1 -> v0.42.2
Updating windows_i686_gnu v0.42.1 -> v0.42.2
Updating windows_i686_msvc v0.42.1 -> v0.42.2
Updating windows_x86_64_gnu v0.42.1 -> v0.42.2
Updating windows_x86_64_gnullvm v0.42.1 -> v0.42.2
Updating windows_x86_64_msvc v0.42.1 -> v0.42.2
Updating winit v0.28.1 -> v0.28.6
Adding winnow v0.4.6
Updating xml-rs v0.8.4 -> v0.8.13
Updating zbus v3.9.0 -> v3.10.0
Updating zbus_macros v3.9.0 -> v3.10.0
Updating zbus_names v2.5.0 -> v2.5.1
Updating zstd-sys v2.0.6+zstd.1.5.2 -> v2.0.8+zstd.1.5.5
Updating zvariant v3.10.0 -> v3.14.0
Updating zvariant_derive v3.10.0 -> v3.14.0
Adding zvariant_utils v1.0.1
* Downgrade flate2 and png to avoid duplicated deps
* downgrade plist to avoid duplication of base64 crate
* Allow license `Apache-2.0 WITH LLVM-exception`
* Update to puffin 0.15
2023-05-23 09:25:39 +02:00
Emil Ernerfeldt
4d357b0f02
clippy fixes from 1.69.0
2023-04-21 11:33:18 +02:00
Emil Ernerfeldt
ce761e548f
use env_logger in all examples ( #2934 )
2023-04-19 16:35:38 +02:00
Emil Ernerfeldt
e3e781ced8
fix puffin_profiler example
2023-02-12 19:27:10 +01:00
Emil Ernerfeldt
cef0c0b6d8
Fix typo
2023-02-05 21:58:15 +01:00
Emil Ernerfeldt
8ce0e1c520
Avoid deadlocks by using lambdas for context lock ( #2625 )
...
ctx.input().key_pressed(Key::A) -> ctx.input(|i| i.key_pressed(Key::A))
2023-01-25 10:24:23 +01:00
Emil Ernerfeldt
37fd141dd1
Rename eframe::EframeError to eframe::Error
2022-12-14 17:29:54 +01:00
Emil Ernerfeldt
cb77458f70
eframe error handling ( #2433 )
...
* eframe::run_native: return errors instead of crashing
* Detect and handle glutin errors
* egui_demo_app: silence wgpu log spam
* Add trace logs for why eframe is shutting down
* Fix: only save App state once on Mac
* Handle Winit failure
* Log where we load app state from
* Don't panic on zero-sized window
* Clamp loaded window size to not be too tiny to see
* Simplify code: more shared code in window_builder
* Improve code readability
* Fix wasm32 build
* fix android
* Update changelog
2022-12-12 15:16:32 +01:00
Emil Ernerfeldt
48666e1d7a
Automatically generate screenshots for all examples ( #2379 )
2022-12-04 17:27:40 +01:00
Emil Ernerfeldt
eca5e6a4d2
Update to Rust 1.65 ( #2314 )
...
* Update to Rust 1.65
Because then you can use dynamic linking on Linux
* Fix a bunch of clippy lints
* Update changelogs
* More clippy fixes
2022-11-16 19:08:03 +01:00
Emil Ernerfeldt
8c76b8caff
Update op puffin 0.14.0 ( #2257 )
2022-11-07 12:37:37 +01:00
ItsEthra
4d1e858a52
Use total_cmp for clamping drag value in order to avoid floating point ambiguities ( #2213 )
...
* Use total_cmp for clamping DragValue
* Added test for clamping
* Increase MSRV in all crates
* Increased rust version for github actions and lib.rs
* Inversed ranges are now working properply with clamp_to_range
* Added more tests
2022-11-02 19:38:39 +01:00
Emil Ernerfeldt
041f2e64ba
Move all crates into a `crates` directory ( #1940 )
2022-08-20 10:41:49 +02:00
Matt Campbell
7a46a23db5
Update MSRV to Rust 1.61.0 ( #1846 )
2022-07-26 16:50:53 +02:00
Emil Ernerfeldt
170b21b63e
Add opt-in support for the 'puffin' profiler in eframe ( #1483 )
2022-04-13 11:06:13 +02:00