Commit Graph

316 Commits

Author SHA1 Message Date
Emil Ernerfeldt 38849fe381 Release eframe 0.21.2 - support --no-default-features 2023-02-12 19:34:37 +01:00
Emil Ernerfeldt f71d79a0ff Release egui-winit, eframe 0.21.1 - fix crash on monitor size/dpi change
https://github.com/emilk/egui/pull/2722

The crash could happen if the monitor size or DPI changes between runs
2023-02-12 15:29:47 +01:00
Emil Ernerfeldt ae722ab0cf Release 0.21.0 - Deadlock fix and winit update 2023-02-08 20:11:21 +01:00
Emil Ernerfeldt 449dd1c23c
cargo update (#2697)
* cargo update

    Updating anyhow v1.0.68 -> v1.0.69
    Updating bindgen v0.63.0 -> v0.64.0
    Removing cocoa v0.24.1
    Updating glutin v0.30.3 -> v0.30.4
    Updating glutin_egl_sys v0.3.1 -> v0.4.0
    Updating glutin_glx_sys v0.3.0 -> v0.4.0
    Updating glutin_wgl_sys v0.3.0 -> v0.4.0
    Updating proc-macro2 v1.0.50 -> v1.0.51
    Updating rgb v0.8.34 -> v0.8.35
    Updating serde_json v1.0.91 -> v1.0.92
    Updating tiny-skia v0.8.2 -> v0.8.3
    Updating tiny-skia-path v0.8.2 -> v0.8.3
    Removing windows-sys v0.36.1
    Removing windows_aarch64_msvc v0.36.1
    Removing windows_i686_gnu v0.36.1
    Removing windows_i686_msvc v0.36.1
    Removing windows_x86_64_gnu v0.36.1
    Removing windows_x86_64_msvc v0.36.1
    Updating zbus v3.8.0 -> v3.9.0
    Updating zbus_macros v3.8.0 -> v3.9.0

* Update wasm-bindgen to 0.2.84

* cargo update

    Updating js-sys v0.3.60 -> v0.3.61
    Updating wasm-bindgen-futures v0.4.33 -> v0.4.34
    Updating web-sys v0.3.60 -> v0.3.61

* Update pollster to 0.3

* Update rfd to 0.11

* Make sure we never depend on cmake
2023-02-08 18:11:34 +01:00
Emil Ernerfeldt 636a39cbe1
Update `glow` to 0.12 (#2695)
* Remove three-d example due to glow incompatibility

* Update to glow 0.12

* Remove three-d from deny.toml

* Add line to changelog
2023-02-08 17:16:44 +01:00
Red Artist be9b5a3641
polish glutin upgrade with glutin-winit crate (#2526)
* use glutin-winit for glow context creation

* added some tracing for easier debugging of glutin problems

* fmt

* add more debug logs

* more tracing

* fallback egl instead of prefer egl

* update pure glow example to use glutin_winit

* add more logging. ignore vsync option if not supported

* cranky lint

* add some logging for easier debugging

* drop window after glutin surface

* small changes based on pr review

* build fix

---------

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2023-02-08 14:28:42 +01:00
Matt Campbell 853d492724
Update for AccessKit refactor that drastically reduces memory usage (#2678)
* Update for AccessKit refactor that drastically reduces memory usage

* changelog entry

* satisfy clippy
2023-02-05 19:10:40 +01:00
Emil Ernerfeldt 21a59143a4
cargo update (#2671)
* cargo update

    Updating crates.io index
    Updating ab_glyph v0.2.18 -> v0.2.20
    Updating ab_glyph_rasterizer v0.1.7 -> v0.1.8
    Updating ahash v0.8.2 -> v0.8.3
    Updating anyhow v1.0.66 -> v1.0.68
    Updating async-broadcast v0.4.1 -> v0.5.0
    Updating async-recursion v1.0.0 -> v1.0.2
    Updating async-trait v0.1.59 -> v0.1.64
    Updating atomic_refcell v0.1.8 -> v0.1.9
    Updating bumpalo v3.11.1 -> v3.12.0
    Updating bytemuck v1.12.3 -> v1.13.0
    Updating bytemuck_derive v1.3.0 -> v1.4.0
    Updating bytes v1.3.0 -> v1.4.0
    Updating calloop v0.10.3 -> v0.10.5
    Updating cc v1.0.77 -> v1.0.79
    Removing chunked_transfer v1.4.0
    Updating clipboard-win v4.4.2 -> v4.5.0
    Updating concurrent-queue v2.0.0 -> v2.1.0
    Updating cxx v1.0.83 -> v1.0.89
    Updating cxx-build v1.0.83 -> v1.0.89
    Updating cxxbridge-flags v1.0.83 -> v1.0.89
    Updating cxxbridge-macro v1.0.83 -> v1.0.89
    Updating document-features v0.2.6 -> v0.2.7
    Updating dyn-clone v1.0.9 -> v1.0.10
    Updating either v1.8.0 -> v1.8.1
    Updating enum-map v2.4.1 -> v2.4.2
    Updating enum-map-derive v0.10.0 -> v0.11.0
    Updating futures-core v0.3.25 -> v0.3.26
    Updating futures-io v0.3.25 -> v0.3.26
    Updating futures-sink v0.3.25 -> v0.3.26
    Updating futures-task v0.3.25 -> v0.3.26
    Updating futures-util v0.3.25 -> v0.3.26
    Updating glob v0.3.0 -> v0.3.1
    Updating heck v0.4.0 -> v0.4.1
    Updating image v0.24.4 -> v0.24.5
    Updating itoa v1.0.4 -> v1.0.5
    Updating jpeg-decoder v0.2.6 -> v0.3.0
    Updating js-sys v0.3.60 -> v0.3.61
    Updating libc v0.2.138 -> v0.2.139
    Updating link-cplusplus v1.0.7 -> v1.0.8
    Updating nom v7.1.1 -> v7.1.3
      Adding nom8 v0.2.0
    Updating num_enum v0.5.7 -> v0.5.9
    Updating num_enum_derive v0.5.7 -> v0.5.9
    Updating once_cell v1.16.0 -> v1.17.0
    Updating ordered-stream v0.1.2 -> v0.1.4
    Updating owned_ttf_parser v0.17.1 -> v0.18.1
    Updating parking_lot_core v0.9.5 -> v0.9.7
    Updating paste v1.0.9 -> v1.0.11
    Updating plist v1.3.1 -> v1.4.0
    Updating polling v2.5.1 -> v2.5.2
    Updating proc-macro-crate v1.2.1 -> v1.3.0
    Updating proc-macro2 v1.0.47 -> v1.0.50
    Updating puffin v0.14.0 -> v0.14.2
    Updating puffin_http v0.11.0 -> v0.11.1
      Adding quick-xml v0.26.0
    Updating quote v1.0.21 -> v1.0.23
    Updating regex v1.7.0 -> v1.7.1
    Updating rustls v0.20.7 -> v0.20.8
    Updating ryu v1.0.11 -> v1.0.12
    Updating scratch v1.0.2 -> v1.0.3
    Updating serde v1.0.149 -> v1.0.152
    Updating serde_derive v1.0.149 -> v1.0.152
    Updating serde_json v1.0.89 -> v1.0.91
    Updating serde_repr v0.1.9 -> v0.1.10
    Updating syn v1.0.105 -> v1.0.107
    Updating termcolor v1.1.3 -> v1.2.0
    Updating thiserror v1.0.37 -> v1.0.38
    Updating thiserror-impl v1.0.37 -> v1.0.38
    Updating tinyvec_macros v0.1.0 -> v0.1.1
    Updating toml v0.5.9 -> v0.5.11
      Adding toml_datetime v0.5.1
      Adding toml_edit v0.18.1
    Updating ttf-parser v0.17.1 -> v0.18.1
    Updating typenum v1.15.0 -> v1.16.0
    Updating unicode-bidi v0.3.8 -> v0.3.10
    Updating unicode-ident v1.0.5 -> v1.0.6
    Updating ureq v2.5.0 -> v2.6.2
    Updating wasm-bindgen v0.2.83 -> v0.2.84
    Updating wasm-bindgen-backend v0.2.83 -> v0.2.84
    Updating wasm-bindgen-futures v0.4.33 -> v0.4.34
    Updating wasm-bindgen-macro v0.2.83 -> v0.2.84
    Updating wasm-bindgen-macro-support v0.2.83 -> v0.2.84
    Updating wasm-bindgen-shared v0.2.83 -> v0.2.84
    Updating wayland-sys v0.30.0 -> v0.30.1
    Updating web-sys v0.3.60 -> v0.3.61
    Updating webbrowser v0.8.6 -> v0.8.7
    Updating webpki-roots v0.22.5 -> v0.22.6
    Updating which v4.3.0 -> v4.4.0
    Updating x11-dl v2.20.1 -> v2.21.0
    Updating zbus v3.6.2 -> v3.8.0
    Updating zbus_macros v3.6.2 -> v3.8.0
    Updating zbus_names v2.4.0 -> v2.5.0
    Updating zstd-sys v2.0.4+zstd.1.5.2 -> v2.0.6+zstd.1.5.2
    Updating zvariant v3.9.0 -> v3.10.0
    Updating zvariant_derive v3.9.0 -> v3.10.0

* Remove unnecessary import of wasm_bindgen::JsCast (its now in prelude)

* egui_glow/README.md: add line on how to run the example

* revert wasm-bindgen update

* Revert "Remove unnecessary import of wasm_bindgen::JsCast (its now in prelude)"

This reverts commit 95c3076cce76577d9f0f35e48f99b4acd2dbe62e.
2023-02-04 13:41:34 +01:00
Emil Ernerfeldt 06d753c289
Update SVG crates (#2670)
* Update resvg, tiny-skia and usv to latest

* Remove default features from svg crates

Users can always opt-in to them themselves

* Update png 0.17.6 -> 0.17.7
2023-02-04 13:00:04 +01:00
Emil Ernerfeldt 8344e88f8a
Update to to winit 0.28 (#2654)
* Update to winit 0.28

Mac trackpads pinch gestures will now generate `egui::Event::Zoom`

* Update accesskit_winit

* Try to get Android CI green

* Fix wayland compilation

* Add comment about android-activity

* Update changelogs

* Fix call to register_xlib_error_hook
2023-02-04 12:43:43 +01:00
Emil Ernerfeldt e4eaf99072
Remove native screen reader support (#2669)
* Remove native screen reader support

Use the "accesskit" feature flag to `eframe` instead.
[AccessKit](https://github.com/AccessKit/accesskit) is the future.

`tts` was a mess to compile on many platforms, so I no longer want
the native `tts` dependency.

* Update tts to 0.25

* Update changelogs

* Turn on all feature flags for package.metadata.docs.rs

* remove tts from deny.toml skip-tree

* Update web build scripts

* Update deny.toml
2023-02-04 11:47:36 +01:00
Emil Ernerfeldt 1353a5733f
Deprecate `egui_glium` - looking for new maintainer (#2668)
* Deprecate egui_glium - looking for new maintainer

egui_glium was the first backend of egui, and it served us well for
a long time, but we have long since moved on to glow and wgpu.

Not egui_glium is holding back an update to latest winit.

Since development on glium has long since been discontinued I will
therefore deprecate egui_glium with this PR.

The code is still there in the repository for a while longer,
but is no longer compiled.

If there is any interest in maintaining egui_glium, then fork it and
make a PR to remove the last egui_glium from this repository.
I will give you publish rights on crates.io.

* update glutin 0.30.2 -> 0.30.3

* cargo update -p backtrace

    Updating crates.io index
    Updating addr2line v0.17.0 -> v0.19.0
    Updating backtrace v0.3.66 -> v0.3.67
    Updating gimli v0.26.2 -> v0.27.1
    Removing miniz_oxide v0.5.4
    Updating object v0.29.0 -> v0.30.3

* cargo deny: allow duplicates of windows-sys, wayland-sys, and nix

* cargo-deny whitelist tiny-skia
2023-02-04 11:21:02 +01:00
Emil Ernerfeldt d01e4342f0
Update accesskit_winit and dark_light (#2655)
* Update accesskit_winit to 0.8.1

* Update dark_light to 1.0
2023-01-31 10:41:27 +01:00
Red Artist ce62b61e15
wgpu upgraded to 0.15. demo working on linux (#2629) 2023-01-27 09:19:47 +01:00
Emil Ernerfeldt 4a0bafbeab
Update webbrowser (#2631)
* Update webbrowser

* Update webbrowser in Cargo.toml too

Make sure all users get updated too
2023-01-26 11:31:39 +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 c58ac86935
egui-wgpu: only depend on epaint (not entire egui) (#2438)
* egui-wgpu: only depend on epaint (not entire egui)

* Update changelog link

* Fix doclinks
2022-12-12 17:25:00 +01:00
Emil Ernerfeldt 6c4fc50fdf
Make `egui_wgpu::winit::Painter::set_window` async (#2434)
* Make `egui_wgpu::winit::Painter::set_window` async

* Fix changelog link
2022-12-12 15:37:55 +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 228f30ed46 Release 0.20.1 of eframe egui-winit egui_glium egui_glow - docs fixes 2022-12-11 17:04:23 +01:00
Emil Ernerfeldt d7189d69f6 Release 0.20.1 - Fix key-repeat 2022-12-11 16:59:54 +01:00
Emil Ernerfeldt 7d91e90481 Release 0.20.0 - AccessKit, prettier text, overlapping widgets 2022-12-08 15:11:54 +01:00
Emil Ernerfeldt 124ef8ddf8 Update poll-promise and unicode_names2 2022-12-08 15:08:59 +01:00
Andreas Reich 5effc68ba4
Split out ecolor crate (#2399)
* split out ecolor crate

* split up ecolor crate in lots of modules

* add changelog notes

* add readme to ecolor

* put clippy::manual_range_contains on cranky allow list

* fix hex color issues

* doc fixes

* more hex_color fixes

* Document features

* Rename hex_color module to avoid warning

* Sort the feature names

* fix link in CHANGELOG.md

* better wording

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2022-12-06 20:42:25 +01:00
René Rössler c3932f7f7f
Chrono update (#2397)
* limit day to last day of month if the month or year is changed

* update chrono to 0.4.23, switch to NaiveDate and remove use of deprecated functions.
2022-12-06 11:42:53 +01:00
Luke Jones be4a5be145
egui_glow: update example to latest glutin (#2396)
This lifts the context handling from commit hash 8eb687c as this does
all the required handling for us that the older glutin once did.
2022-12-06 10:02:20 +01:00
Emil Ernerfeldt d7fa40ebba
`cargo update` (#2386)
* Better cargo deny check in check.sh

* cargo update

    Updating ab_glyph v0.2.16 -> v0.2.18
    Updating ab_glyph_rasterizer v0.1.5 -> v0.1.7
    Removing adler32 v1.2.0
    Removing ahash v0.4.7
    Removing ahash v0.8.1
      Adding ahash v0.8.2
    Updating aho-corasick v0.7.18 -> v0.7.20
    Updating android_system_properties v0.1.4 -> v0.1.5
    Removing ansi_term v0.12.1
    Updating anyhow v1.0.62 -> v1.0.66
    Updating ash v0.37.0+1.3.209 -> v0.37.1+1.3.235
    Updating async-channel v1.7.1 -> v1.8.0
    Updating async-executor v1.4.1 -> v1.5.0
    Updating async-io v1.8.0 -> v1.12.0
    Updating async-lock v2.5.0 -> v2.6.0
    Updating async-recursion v0.3.2 -> v1.0.0
    Updating async-trait v0.1.57 -> v0.1.59
    Updating base64 v0.13.0 -> v0.13.1
    Updating bindgen v0.61.0 -> v0.63.0
      Adding block-buffer v0.10.3
    Updating bumpalo v3.11.0 -> v3.11.1
    Updating bytemuck v1.12.1 -> v1.12.3
    Updating bytemuck_derive v1.2.1 -> v1.3.0
    Updating bytes v1.2.1 -> v1.3.0
    Removing cache-padded v1.2.0
    Updating calloop v0.10.1 -> v0.10.3
    Updating cc v1.0.73 -> v1.0.77
    Updating cfg-expr v0.10.3 -> v0.11.0
    Updating chrono v0.4.22 -> v0.4.23
    Updating clang-sys v1.3.3 -> v1.4.0
    Updating clap v3.2.17 -> v3.2.23
    Updating cmake v0.1.48 -> v0.1.49
    Updating cocoa v0.24.0 -> v0.24.1
    Updating concurrent-queue v1.2.4 -> v2.0.0
      Adding cpufeatures v0.2.5
    Updating crossbeam-utils v0.8.11 -> v0.8.14
    Updating crossfont v0.5.0 -> v0.5.1
      Adding crypto-common v0.1.6
      Adding cxx v1.0.83
      Adding cxx-build v1.0.83
      Adding cxxbridge-flags v1.0.83
      Adding cxxbridge-macro v1.0.83
    Updating dark-light v0.2.2 -> v0.2.3
    Removing deflate v1.0.0
      Adding digest v0.10.6
    Updating dlv-list v0.2.3 -> v0.3.0
    Updating document-features v0.2.3 -> v0.2.6
    Updating flate2 v1.0.24 -> v1.0.25
    Updating fontconfig-parser v0.5.0 -> v0.5.1
    Updating fontdb v0.9.1 -> v0.9.3
    Updating form_urlencoded v1.0.1 -> v1.1.0
    Updating futures-core v0.3.23 -> v0.3.25
    Updating futures-io v0.3.23 -> v0.3.25
    Updating futures-sink v0.3.23 -> v0.3.25
    Updating futures-task v0.3.23 -> v0.3.25
    Updating futures-util v0.3.23 -> v0.3.25
      Adding generic-array v0.14.6
    Updating getrandom v0.2.7 -> v0.2.8
    Removing hashbrown v0.9.1
    Updating iana-time-zone v0.1.46 -> v0.1.53
      Adding iana-time-zone-haiku v0.1.1
    Updating idna v0.2.3 -> v0.3.0
    Updating image v0.24.3 -> v0.24.5
    Updating indexmap v1.9.1 -> v1.9.2
    Updating itertools v0.10.3 -> v0.10.5
    Updating itoa v1.0.3 -> v1.0.4
      Adding jni v0.20.0
    Updating jobserver v0.1.24 -> v0.1.25
      Adding jpeg-decoder v0.3.0
    Updating libc v0.2.132 -> v0.2.138
    Updating libloading v0.7.3 -> v0.7.4
    Updating libm v0.2.5 -> v0.2.6
      Adding link-cplusplus v1.0.7
      Adding litrs v0.2.3
    Updating lock_api v0.4.7 -> v0.4.9
    Updating memmap2 v0.5.7 -> v0.5.8
    Removing miniz_oxide v0.5.3
      Adding miniz_oxide v0.5.4
      Adding miniz_oxide v0.6.2
    Updating mio v0.8.4 -> v0.8.5
    Removing nix v0.22.3
    Removing nix v0.23.1
    Removing nix v0.24.2
      Adding nix v0.24.3
      Adding nix v0.25.1
      Adding nu-ansi-term v0.46.0
    Removing num_threads v0.1.6
    Updating once_cell v1.13.1 -> v1.16.0
    Updating ordered-multimap v0.3.1 -> v0.4.3
    Updating ordered-stream v0.0.1 -> v0.1.2
    Updating os_str_bytes v6.3.0 -> v6.4.1
      Adding overload v0.1.1
    Updating owned_ttf_parser v0.15.1 -> v0.17.1
    Updating parking_lot_core v0.9.3 -> v0.9.5
    Updating percent-encoding v2.1.0 -> v2.2.0
    Updating pkg-config v0.3.25 -> v0.3.26
    Updating png v0.17.5 -> v0.17.7
    Updating polling v2.2.0 -> v2.5.1
    Updating ppv-lite86 v0.2.16 -> v0.2.17
    Updating proc-macro2 v1.0.43 -> v1.0.47
    Updating profiling v1.0.6 -> v1.0.7
    Updating rand_core v0.6.3 -> v0.6.4
    Updating regex v1.6.0 -> v1.7.0
    Updating regex-syntax v0.6.27 -> v0.6.28
    Updating rgb v0.8.33 -> v0.8.34
      Adding roxmltree v0.15.1
    Updating rust-ini v0.17.0 -> v0.18.0
    Updating rustls v0.20.6 -> v0.20.7
    Updating scoped-tls v1.0.0 -> v1.0.1
      Adding scratch v1.0.2
    Updating sctk-adwaita v0.4.2 -> v0.4.3
    Updating serde v1.0.143 -> v1.0.149
    Updating serde_derive v1.0.143 -> v1.0.149
    Updating serde_json v1.0.83 -> v1.0.89
    Updating sha1 v0.6.1 -> v0.10.5
    Removing sha1_smol v1.0.0
    Updating smallvec v1.9.0 -> v1.10.0
    Updating socket2 v0.4.4 -> v0.4.7
    Updating svgtypes v0.8.1 -> v0.8.2
    Updating syn v1.0.99 -> v1.0.105
    Removing synstructure v0.12.6
    Updating system-deps v6.0.2 -> v6.0.3
    Updating textwrap v0.15.0 -> v0.16.0
    Updating thiserror v1.0.32 -> v1.0.37
    Updating thiserror-impl v1.0.32 -> v1.0.37
    Removing time v0.1.44
    Removing time v0.3.13
      Adding time v0.1.45
      Adding time v0.3.17
      Adding time-core v0.1.0
      Adding time-macros v0.2.6
    Updating tracing v0.1.36 -> v0.1.37
    Updating tracing-attributes v0.1.22 -> v0.1.23
    Updating tracing-core v0.1.29 -> v0.1.30
    Updating tracing-subscriber v0.3.15 -> v0.3.16
      Adding ttf-parser v0.17.1
      Adding typenum v1.15.0
    Updating unicode-ident v1.0.3 -> v1.0.5
    Updating unicode-normalization v0.1.21 -> v0.1.22
    Updating unicode-script v0.5.4 -> v0.5.5
    Updating unicode-width v0.1.9 -> v0.1.10
    Updating unicode-xid v0.2.3 -> v0.2.4
    Updating url v2.2.2 -> v2.3.1
    Updating version-compare v0.1.0 -> v0.1.1
    Updating wayland-client v0.29.4 -> v0.29.5
    Updating wayland-commons v0.29.4 -> v0.29.5
    Updating wayland-cursor v0.29.4 -> v0.29.5
    Updating wayland-egl v0.29.4 -> v0.29.5
    Updating wayland-protocols v0.29.4 -> v0.29.5
    Updating wayland-scanner v0.29.4 -> v0.29.5
    Updating wayland-sys v0.29.4 -> v0.29.5
    Updating webbrowser v0.8.0 -> v0.8.2
    Updating webpki-roots v0.22.4 -> v0.22.5
    Updating wgpu v0.14.0 -> v0.14.2
    Updating wgpu-core v0.14.0 -> v0.14.2
    Updating wgpu-hal v0.14.0 -> v0.14.1
    Updating wgpu-types v0.14.0 -> v0.14.1
    Updating which v4.2.5 -> v4.3.0
    Updating widestring v0.5.1 -> v1.0.2
      Adding windows-sys v0.42.0
    Updating winreg v0.8.0 -> v0.10.1
    Updating x11-dl v2.20.0 -> v2.20.1
    Updating xmlparser v0.13.3 -> v0.13.5
    Updating zbus v2.3.2 -> v3.6.0
    Updating zbus_macros v2.3.2 -> v3.6.0
    Updating zbus_names v2.2.0 -> v2.4.0
    Updating zerocopy-derive v0.3.1 -> v0.3.2
    Updating zstd-sys v2.0.1+zstd.1.5.2 -> v2.0.4+zstd.1.5.2
    Updating zvariant v3.6.0 -> v3.9.0
    Updating zvariant_derive v3.6.0 -> v3.9.0

* downgrade image, webbrowser and fontconfig-parser to pass cargo deny

avoiding duplicate crate

* Remove unused dependency on egui_extras from screenshot demo

* Downgrade `chrono` to avoid having to fix egui-extras now
2022-12-05 12:12:51 +01:00
Red Artist 8eb687cf04
Glutin Upgrade (#2187)
* working. but x11 blurry

* fixed x11 blurry. was just accidentally using multisampling even when user didnt request it

* allow dbg macro temporarily

* add windows WGL fallback support when EGL fails

* fmt

* glutin features explicitly added

* extract glutin context creation into a fn

* fix warnings
2022-12-05 11:34:28 +01:00
Matt Campbell e1f348e4b2
Implement accessibility APIs via AccessKit (#2294)
* squash before rebase

* Update AccessKit, introducing support for editable spinners on Windows and an important fix for navigation order on macOS

* Restore support for increment and decrement actions in DragValue

* Avoid VoiceOver race condition bug

* fix clippy lint

* Tell AccessKit that the default action for a text edit (equivalent to a click) is to set the focus. This matters to some platform adapters.

* Refactor InputState functions for AccessKit actions

* Support the AccessKit SetValue for DragValue; this is the only way for a Windows AT to programmatically adjust the value

* Same for Slider

* Properly associate the slider label with both the slider and the drag value

* Lazily activate egui's AccessKit support

* fix clippy lint

* Update AccessKit

* More documentation, particularly around lazy activation

* Tweak one of the doc comments

* See if I can get AccessKit exempted from the 'missing backticks' lint

* Make PlatformOutput::accesskit_update an Option

* Refactor lazy activation

* Refactor node mutation (again)

* Eliminate the need for an explicit is_accesskit_active method, at least for now

* Fix doc comment

* More refactoring of tree construction; don't depend on Arc::get_mut

* Override a clippy lint; I seem to have no other choice

* Final planned refactor: a more flexible approach to hierarchy

* Last AccessKit update for this PR; includes an important macOS DPI fix

* Move and document the optional accesskit dependency

* Fix comment typo

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* reformat

* More elegant code for conditionally creating a node

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* Set step to 1.0 for all integer sliders

* Add doc example for Response::labelled_by

* Clarify a TODO comment I left for myself

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2022-12-04 19:17:12 +01:00
Emil Ernerfeldt 48666e1d7a
Automatically generate screenshots for all examples (#2379) 2022-12-04 17:27:40 +01:00
JP 85f8eeb9d5
Fix key pressed event (#2334)
* Fix key press event

* Add example with key presses

* Changelog line for key_press fix

* PR review improvements

* Add PR link in changelog

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2022-11-30 20:40:11 +01:00
Emil Ernerfeldt 7d8154971b
Update ndk-sys v0.4.0 -> v0.4.1+23.1.7779620 (#2340)
Closes https://github.com/emilk/egui/issues/2336
2022-11-24 10:09:32 +01:00
Red Artist 8ff139687a
bump msrv 1.64 and tts + bindgen dep (#2274)
* bump msrv 1.64 and tts + bindgen dep

* Update crates/egui-winit/Cargo.toml

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* Update crates/eframe/Cargo.toml

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2022-11-11 10:27:25 +01:00
Emil Ernerfeldt e225c6b8d0 Opt-in logging of egui-wgpu using puffin 2022-11-10 16:28:08 +01:00
Emil Ernerfeldt 8c76b8caff
Update op puffin 0.14.0 (#2257) 2022-11-07 12:37:37 +01:00
Emil Ernerfeldt 17501d7e3e
Update arboard, fixing copy-paste on X11 (#2238)
* Revert "Fix copy-paste on Windows (#2120)"

This reverts commit f61044cef7.

* Update arboard to 3.2
2022-11-07 09:54:42 +01:00
Emil Ernerfeldt e48602059d
Update ahash to 0.8.1 (#2255) 2022-11-07 09:23:45 +01:00
Emil Ernerfeldt a0b3f1126b
Add helpers for zooming an app using Ctrl+Plus and Ctrl+Minus (#2239)
* Using tracing-subscriber in hello_world example

* Add Key::Plus/Minus/Equals

* Warn if failing to guess OS from User-Agent

* Remove jitter when using Context::set_pixels_per_point

* Demo app: zoom in/out using ⌘+ and ⌘-

* Demo app: make backend panel GUI scale slider better

* Optimize debug builds a bit

* typo

* Update changelog

* Add helper module `egui::gui_zoom` for zooming an app

* Better names, and update changelog

* Combine Plus and Equals keys

* Last fix

* Fix docs
2022-11-05 11:18:13 +01:00
Andreas Reich cd74c74f6f
Update to wgpu 0.14 (#2114) 2022-10-06 15:50:46 +02:00
Andreas Reich c2a37f4bd8
eframe support for wgpu on the web (#2107)
* basic working wgpu @ webgl on websys

* fix glow compile error

* introduced WebPainter trait, provide wgpu renderstate

* WebPainterWgpu destroy implemented

* make custom3d demo work on wgpu backend

* changelog entry for wgpu support eframe wasm

* remove temporary logging hack

* stop using pollster for web
we're actually not allowed to block - this only worked because wgpu on webgl doesn't actually cause anything blocking. However, when trying webgpu this became an issue

* revert cargo update

* compile error if neither glow nor wgpu features are enabled

* code cleanup

* Error handling

* Update changelog with link

* Make sure --all-features work

* Select best framebuffer format from the available ones

* update to wasm-bindgen 0.2.83

* Fix typo

* Clean up Cargo.toml

* Log about using the wgpu painter

* fixup wgpu labels

* fix custom3d_wgpu_shader ub padding

* remove duplicated uniforms struct in wgsl shader for custom3d

* Update docs: add async/await to the web 'start' function

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2022-10-05 20:14:18 +02:00
Emil Ernerfeldt 77df8ca0b0
Update some crates (#2100)
* Update crate webbrowser 0.7 -> 0.8

* Update criterion 0.3 -> 0.4

* Update tts 0.20 -> 0.24

* revert tts update
2022-10-02 20:33:45 +02:00
Emil Ernerfeldt 4ac1e28eae
Improve text redering and do all color operation in gamma space (#2071) 2022-09-24 17:53:11 +02:00
Emil Ernerfeldt 12dc61ed0f
update arboard to 3.0 (#2067) 2022-09-21 09:14:55 +02:00
Emil Ernerfeldt 3142c52b94
Minor wgpu-web releated stuff (#1977)
* egui_demo_app: remove wgpu and pollster as direct dependencies

* eframe: use same web-sys version as wgpu crate

* Make note that web_sys_unstable_apis is required by the wgpu crate

* Rename the glow web painter in eframe

* Remove trait DummyWebGLConstructor from web_glow_painter.rs

* cargo fmt

* Fix check.sh
2022-08-28 10:58:58 +02:00
Emil Ernerfeldt bd5250f85d
Disable custom 3D painting example in the egui demo app for Es100 (#1945)
Closes https://github.com/emilk/egui/issues/1944
2022-08-20 19:54:18 +02:00
Emil Ernerfeldt 97ce103209 Release 0.19.0 - wgpu backend, repaint_after, continue-after-close 2022-08-20 16:49:58 +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 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 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
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
Emil Ernerfeldt a7012cf8a6
Use pinned version of wasm-bindgen-cli (#1855)
* Use pinned version of wasm-bindgen-cli

* Update wasm-bindgen to 0.2.82

* Call setup_web.sh from scripts that depends on it
2022-07-25 23:02:10 +02:00
Sven Niederberger 0bf9fc9428
Improve plot item UX (#1816)
* initial work

* changelog entry

* fix CI

* Update egui/src/widgets/plot/items/values.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* Update egui/src/widgets/plot/items/values.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

* derive 'FromIterator'

* remove `bytemuck` dependency again and remove borrowing plot points for now

* update doctest

* update documentation

* remove unnecessary numeric cast

* cargo fmt

* Update egui/src/widgets/plot/items/values.rs

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2022-07-24 17:13:12 +02:00
Emil Ernerfeldt 0f0031ebbb
cargo update (#1794)
* cargo update

    Updating crates.io index
    Updating anyhow v1.0.57 -> v1.0.58
    Updating arboard v2.1.0 -> v2.1.1
    Updating async-broadcast v0.3.4 -> v0.4.0
    Updating async-io v1.6.0 -> v1.7.0
    Updating async-trait v0.1.53 -> v0.1.56
    Updating bindgen v0.59.2 -> v0.60.1
    Updating bumpalo v3.9.1 -> v3.10.0
    Updating bytemuck v1.9.1 -> v1.10.0
    Updating cfg-expr v0.10.2 -> v0.10.3
    Updating clang-sys v1.3.1 -> v1.3.3
      Adding clap v3.2.8
      Adding clap_lex v0.2.4
    Updating crossbeam-channel v0.5.4 -> v0.5.5
    Updating crossbeam-epoch v0.9.8 -> v0.9.9
    Updating crossbeam-utils v0.8.8 -> v0.8.10
    Updating dyn-clone v1.0.5 -> v1.0.6
    Updating either v1.6.1 -> v1.7.0
    Updating enum-map v2.1.0 -> v2.4.0
    Updating enum-map-derive v0.8.0 -> v0.9.0
    Updating flate2 v1.0.23 -> v1.0.24
    Updating getrandom v0.2.6 -> v0.2.7
    Updating gif v0.11.3 -> v0.11.4
      Adding hashbrown v0.12.1
    Updating indexmap v1.8.1 -> v1.9.1
    Updating itoa v1.0.1 -> v1.0.2
    Updating jpeg-decoder v0.2.4 -> v0.2.6
    Updating linked-hash-map v0.5.4 -> v0.5.6
    Updating log v0.4.16 -> v0.4.17
    Updating memmap2 v0.5.3 -> v0.5.4
    Updating miniz_oxide v0.5.1 -> v0.5.3
    Updating mio v0.8.2 -> v0.8.4
    Removing miow v0.3.7
      Adding nix v0.24.1
    Removing ntapi v0.3.7
    Updating num-rational v0.4.0 -> v0.4.1
    Updating num-traits v0.2.14 -> v0.2.15
    Updating num_threads v0.1.5 -> v0.1.6
    Updating object v0.28.3 -> v0.28.4
    Updating once_cell v1.10.0 -> v1.12.0
      Adding os_str_bytes v6.1.0
    Updating parking_lot v0.12.0 -> v0.12.1
    Updating parking_lot_core v0.9.1 -> v0.9.3
    Updating proc-macro2 v1.0.37 -> v1.0.40
    Updating profiling v1.0.5 -> v1.0.6
    Updating puffin v0.13.1 -> v0.13.3
    Updating quote v1.0.18 -> v1.0.20
    Updating rayon v1.5.2 -> v1.5.3
    Updating rayon-core v1.9.2 -> v1.9.3
    Updating regex v1.5.5 -> v1.5.6
    Updating regex-syntax v0.6.25 -> v0.6.26
      Adding remove_dir_all v0.5.3
    Updating rfd v0.8.0 -> v0.8.4
    Updating rgb v0.8.32 -> v0.8.33
    Updating ron v0.7.0 -> v0.7.1
    Updating rustls v0.20.4 -> v0.20.6
    Updating rustybuzz v0.5.0 -> v0.5.1
    Updating ryu v1.0.9 -> v1.0.10
    Updating semver v1.0.7 -> v1.0.12
    Updating serde v1.0.136 -> v1.0.138
    Updating serde_derive v1.0.136 -> v1.0.138
    Updating serde_json v1.0.79 -> v1.0.82
    Updating serde_repr v0.1.7 -> v0.1.8
    Updating smallvec v1.8.0 -> v1.9.0
      Adding smithay-client-toolkit v0.16.0
    Updating smithay-clipboard v0.6.5 -> v0.6.6
    Updating str-buf v1.0.5 -> v1.0.6
    Removing strsim v0.8.0
    Updating svgtypes v0.8.0 -> v0.8.1
    Updating syn v1.0.92 -> v1.0.98
      Adding tempfile v3.3.0
      Adding textwrap v0.15.0
    Updating thiserror v1.0.30 -> v1.0.31
    Updating thiserror-impl v1.0.30 -> v1.0.31
    Removing time v0.1.43
    Removing time v0.3.9
      Adding time v0.1.44
      Adding time v0.3.11
    Updating tiny-skia v0.6.3 -> v0.6.6
    Updating tracing v0.1.34 -> v0.1.35
    Updating tracing-attributes v0.1.21 -> v0.1.22
    Updating tracing-core v0.1.26 -> v0.1.28
    Updating tracing-subscriber v0.3.11 -> v0.3.14
    Updating ttf-parser v0.15.0 -> v0.15.2
    Updating tts v0.20.3 -> v0.20.4
    Updating twox-hash v1.6.2 -> v1.6.3
      Adding uds_windows v1.0.2
      Adding unicode-ident v1.0.1
    Updating unicode-normalization v0.1.19 -> v0.1.21
    Removing vec_map v0.8.2
    Updating wasi v0.10.2+wasi-snapshot-preview1 -> v0.10.0+wasi-snapshot-preview1
    Updating wgpu v0.13.0 -> v0.13.1
    Updating wgpu-core v0.13.0 -> v0.13.1
    Updating wgpu-hal v0.13.0 -> v0.13.1
    Removing windows v0.32.0
      Adding windows v0.33.0
      Adding windows v0.37.0
    Updating windows-sys v0.32.0 -> v0.36.1
    Removing windows_aarch64_msvc v0.32.0
      Adding windows_aarch64_msvc v0.33.0
      Adding windows_aarch64_msvc v0.36.1
      Adding windows_aarch64_msvc v0.37.0
    Removing windows_i686_gnu v0.32.0
      Adding windows_i686_gnu v0.33.0
      Adding windows_i686_gnu v0.36.1
      Adding windows_i686_gnu v0.37.0
    Removing windows_i686_msvc v0.32.0
      Adding windows_i686_msvc v0.33.0
      Adding windows_i686_msvc v0.36.1
      Adding windows_i686_msvc v0.37.0
    Removing windows_x86_64_gnu v0.32.0
      Adding windows_x86_64_gnu v0.33.0
      Adding windows_x86_64_gnu v0.36.1
      Adding windows_x86_64_gnu v0.37.0
    Removing windows_x86_64_msvc v0.32.0
      Adding windows_x86_64_msvc v0.33.0
      Adding windows_x86_64_msvc v0.36.1
      Adding windows_x86_64_msvc v0.37.0
    Updating zbus v2.1.1 -> v2.3.2
    Updating zbus_macros v2.1.1 -> v2.3.2
    Updating zstd v0.10.0+zstd.1.5.2 -> v0.11.2+zstd.1.5.2
    Updating zstd-safe v4.1.4+zstd.1.5.2 -> v5.0.2+zstd.1.5.2
    Updating zstd-sys v1.6.3+zstd.1.5.2 -> v2.0.1+zstd.1.5.2
    Updating zvariant v3.1.2 -> v3.4.1
    Updating zvariant_derive v3.1.2 -> v3.4.1

❯ cargo update -p smithay-clipboard --precise 0.6.5
    Updating crates.io index
    Removing nix v0.24.1
    Removing smithay-client-toolkit v0.16.0
    Updating smithay-clipboard v0.6.6 -> v0.6.5

* Downgrade enum-map so we can build with rust 1.60

* update syntect

* Update usvg and resvg

* Fix syntect update

* Update tts to 0.22

* Make egui_demo_app compile for wasm with wgpu feature

This broke in https://github.com/emilk/egui/pull/1781

* Ignore rfd tree in deny.toml

* Revert "Update tts to 0.22"

This reverts commit 2e1280b61ef9422c76491ab718ad8da105657097.

* Explain why tts is stuck on an old version

* Downgrade `rfd` to avoid problems with duplicate `windows` crate
2022-07-03 20:12:57 +02:00
Emil Ernerfeldt bd2cab2f0e
Update three d (#1793)
* Update three-d to 0.12

* Fix Z fighting in three-d example

Closes https://github.com/emilk/egui/issues/1744

* cargo deny: ignore three-d (only used in examples)
2022-07-03 18:29:12 +02:00
Ashley 9739009f20
Update wgpu to 0.13 (#1670)
* Update the wgsl syntax used in egui-wgpu

* Updates for the latest version of wgpu

* Update the wgpu version

* get_preffered_format -> get_supported_formats

* Just use an array access for compatible formats

* Use the naga cli to validate the egui demo app custom wgpu shader

* Run cargo check on the custom3d wgpu app

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2022-07-03 15:43:39 +02:00
Emil Ernerfeldt 3169ce62d5
Document feature flags using crate document-features (#1725) 2022-06-09 15:27:22 +02:00
René Rössler 4a7a2d6430
eframe::App::post_rendering (#1591) 2022-05-29 20:33:04 +02:00
Zicklag 1d9524cc59
Re-implement PaintCallbacks With Support for WGPU (#1684)
* Re-implement PaintCallbacks With Support for WGPU

This makes breaking changes to the PaintCallback system, but makes it
flexible enough to support both the WGPU and glow backends with custom
rendering.

Also adds a WGPU equivalent to the glow demo for custom painting.
2022-05-28 17:52:36 +02:00
Robert Bragg a5076d4cc4
egui_winit/wgpu: enable Android support (#1634)
* egui-winit: don't assume window available at init

On Android in particular we can only initialize render state once we
have a native window, after a 'Resumed' lifecycle event. It's still
practical to be able to initialize an egui_winit::State early on
so this adds setters for the max_texture_side and pixels_per_point
that can be called once we have a valid Window and have initialized
a graphics context.

On Wayland, where we need to access the Display for clipboard handling
we now get the Display from the event loop instead of a window.

* egui-wgpu: lazily initialize render + surface state

Enable the renderer and surface state initialization to be deferred
until we know that any winit window we created has a valid native window
and enable the surface state to be updated in case the native window
changes.

In particular these changes help with running on Android where winit
windows will only have a valid native window associated with them
between Resumed and Paused lifecycle events, and so surface creation
(and render state initialization) needs to wait until the first
Resumed event, and the surface needs to be dropped/recreated based on
Paused/Resumed events.
2022-05-22 20:24:41 +02:00
Emil Ernerfeldt fff2008255 Move three-d patch into example Cargo.tom 2022-05-22 18:14:00 +02:00
Emil Ernerfeldt d6fd5dec3b
Add single-threaded deadlock detection to RwMutex (#1619) 2022-05-21 14:08:19 +02:00
Antti Keränen b8a5924295
Fix clipboard on Wayland (#1613)
arboard advertises that it works with Wayland, but in reality it only
works with Wayland terminal applications. To make the clipboard work
with applications that draw Wayland surfaces, arboard isn't going to
work.

Copypasta does support Wayland's graphical clipboard, but the usage
isn't documented. However, for the reasons mentioned in #1474 the move
from Copypasta to arboard makes sense.

To resolve the issue, this commit brings in an optional dependency
smithay-clipboard, that is a crate that correctly handles the Wayland
clipboard in graphical applications. It is used by default if a Wayland
window handle is found. If for some reason the handle to the Wayland
window handle cannot be fetched, arboard is used as a backup.
2022-05-16 16:37:41 +02:00
Luke Newcomb d2decfa338
Add ability to convert from a hex string to Color32 using macros (#1596) 2022-05-15 17:07:30 +02:00
Emil Ernerfeldt 931e716b97
Add egui_wgpu crate (#1564)
Based on https://github.com/hasenbanck/egui_wgpu_backend

`egui-wgpu` is now an official backend for `eframe` (opt-in).

Use the `wgpu` feature flag on `eframe` and the `NativeOptions::renderer` settings to pick it.

Co-authored-by: Nils Hasenbanck <nils@hasenbanck.de>
Co-authored-by: Sven Niederberger <niederberger@embotech.com>
Co-authored-by: Sven Niederberger <73159570+s-nie@users.noreply.github.com>
2022-05-12 09:02:28 +02:00
Emil Ernerfeldt d69ce546fa Release egui_glow 0.18.1 - remove unnecessary calls to gl.get_error 2022-05-09 12:43:37 +02:00
Emil Ernerfeldt b30224471c
Release 0.18.1 of egui & epaint - Change `Shape::Callback` to `&mut dyn Any` (#1552) 2022-05-01 11:35:29 +02:00
Emil Ernerfeldt dc26890a80 Release 0.18.0 - Shape::Callback, Table, and better text contrast 2022-04-30 20:27:27 +02:00
Emil Ernerfeldt f0e6332b42
Fix cargo deny (#1549)
* Make the strip demo less ugly

* revert duplicated windows dependency in Cargo.lock

* cargo update

* Remove duplicated windows dependency by reverting rfd

* And again for parking_lot_core
2022-04-30 20:18:59 +02:00
Emil Ernerfeldt d24599f3cc Revert tts version to 0.20 2022-04-30 19:23:44 +02:00
Emil Ernerfeldt ec57683c1a Update some crates 2022-04-30 18:05:58 +02:00
Emil Ernerfeldt 00471f2887 Update cint 0.2 -> 0.3 2022-04-30 18:01:24 +02:00
Emil Ernerfeldt ed4fe43e7a Update tts 0.20 -> 0.21 2022-04-30 17:59:30 +02:00
Emil Ernerfeldt 30aeb2a94f Update webbrowser 0.6 -> 0.7 2022-04-30 17:58:12 +02:00
Emil Ernerfeldt 3a83a600bb
Add a custom 3D demo using glow to egui_demo_app (#1546) 2022-04-30 12:58:29 +02:00
Emil Ernerfeldt bb421c7e8a
Remove `egui_web` and `epi` (#1545)
* Remove integration name (it is always eframe)

* Remove egui_web crate

* Move egui_web/CHANGELOG.md into eframe/CHANGELOG.md

* Remove all mentions of egui_web

* Remove epi crate and absorb into eframe

* egui_glow: only use puffin on native

* Remove WASM doc from CI (we don't generate it anyways!)

* Remove eframe::epi and improve eframe docs
2022-04-30 10:44:35 +02:00
Emil Ernerfeldt ed002acc68
Refactor: move things into eframe (#1542)
* Move all epi-related code from egui_glow into eframe

* Move epi stuff from egui-winit into eframe

* Remove mention of epi in egui

* Remove mention of epi in egui_glium

* Remove trait epi::NativeTexture

* Remove confusing mentions of epi

* Refactor egui_web: break up into smaller files

* Clean up feature flags further, and update changelogs

* Clean up check.sh

* Small cleanup of egui_web/Cargo.toml

* Fix dependencies for pure_glow example

* Fix clippy false positive
2022-04-29 08:17:49 +02:00
Emil Ernerfeldt 355d70d2b9
Move code from `egui_demo_lib` to `egui_demo_app` (#1540)
Also clean up feature names and dependencies
2022-04-28 11:23:34 +02:00
tami5 b738418243
New example 'custom_font_style' + improve docs (#1476) 2022-04-14 07:54:01 +02:00
Emil Ernerfeldt 2ae93c40ab
Move examples out of `eframe/examples` into `examples/` (#1486)
* Move examples out of eframe/examples into examples/

Give each example a `Cargo.toml` and `src/main.rs`.
This makes it easier for people to use as templates.

* Update README.md with more deps needed on vanilla Ubuntu
* Install libgtk-3-dev on CI, hoping that will fix something
2022-04-13 16:13:24 +02:00
Emil Ernerfeldt 170b21b63e
Add opt-in support for the 'puffin' profiler in eframe (#1483) 2022-04-13 11:06:13 +02:00
Emil Ernerfeldt 973c3f22d1
Revert "Update tts to 0.21.1" (#1482)
This reverts commit de038b9546.
2022-04-12 21:40:57 +02:00
Emil Ernerfeldt de038b9546 Update tts to 0.21.1 2022-04-11 16:36:25 +02:00
Emil Ernerfeldt c88e1f8b29 egui_extras: improve Table/Strip docs, and only panic in debug builds 2022-04-11 10:17:36 +02:00
Emil Ernerfeldt 65d16695ae
Replace copypasta with arboard (#1475)
* Replace copypasta with arboard

Closes https://github.com/emilk/egui/issues/1474

* Clean up deny.toml
2022-04-10 16:41:07 +02:00
Emil Ernerfeldt 9b37c82d46 Update three-d to 0.11 2022-04-10 10:00:57 +02:00
René Rössler 1d32670cf3
Dynamic sized strips, tables, and date picker (#963) 2022-03-31 21:13:25 +02:00
Emil Ernerfeldt c63bdeab67
Add an example of showing 3D using three-d (#1407) 2022-03-23 11:06:33 +01:00
Emil Ernerfeldt 41b178b6ec
Use atomic_refcell instead of parking_lot for wasm32 targets (#1404)
Closes https://github.com/emilk/egui/issues/1401
2022-03-22 15:34:21 +01:00
Emil Ernerfeldt 15254f8235
Remove the single_threaded/multi_threaded feature flags (#1390)
Always use parking_lot for mutexes, i.e. always be multi-threaded.

Closes #1379
2022-03-21 22:20:37 +01:00
Emil Ernerfeldt c768d1d48e
Context::request_repaint will wake up the UI thread (#1366)
This adds a callback (set by `Context::set_request_repaint_callback`)
which integration can use to wake up the UI thread.

eframe (egui_web and egui_glow) will use this, replacing
`epi::Frame::request_repaint`.

Existing code calling `epi::Frame::request_repaint` should be changed
to instead call `egui::Context::request_repaint`.

This is the first callback added to the egui API, which otherwise is
completely driven by data.

The purpose of this is to remove the confusion between the two
`request_repaint` methods (by removing one). Furthermore, it makes
`epi::Frame` a lot simpler, allowing future simplifications to it
(perhaps no longer having it be `Send+Sync+Clone`).
2022-03-15 17:21:52 +01:00
Emil Ernerfeldt 6aee4997d4
Add Shape::Callback to do custom rendering inside of an egui UI (#1351)
* Add Shape::Callback to do custom rendering inside of an egui UI
* Use Rc<glow::Context> everywhere
* Remove trait WebPainter
* Add glow::Context to epi::App::setup
2022-03-14 13:25:11 +01:00
Emil Ernerfeldt 29c52e8eb6
Remove epi backend from egui_glow (#1361) 2022-03-13 22:49:24 +01:00
Emil Ernerfeldt 52b4ab4e18
Remove egui_glium as a backend for eframe (#1357)
eframe will now always use egui_glow as a native backend.

Part of https://github.com/emilk/egui/issues/1198
2022-03-11 19:14:27 +01:00
Emil Ernerfeldt 30399bf6ff Update regex crate v1.5.4 -> v1.5.5 2022-03-10 08:08:46 +01:00
Emil Ernerfeldt a05520b9d3 Release 0.17.0 - Improved font selection and image handling 2022-02-22 19:32:30 +01:00
Emil Ernerfeldt c5a9421dbd
Run wasm-bindgen in CI and update parking_lot (#1293)
* Run wasm-bindgen in CI
* Update parking_lot 0.11 -> 0.12
2022-02-22 16:30:42 +01:00
Emil Ernerfeldt ddf914b517
Update crates (#1283)
* Update rfd 0.8 -> 0.8

* Update webbrowser 0.5 -> 0.6

* Update unicode_names2 0.4 -> 0.5

* cargo update

    Updating crates.io index
      Adding arrayvec v0.7.2
    Updating async-lock v2.4.0 -> v2.5.0
    Updating autocfg v1.0.1 -> v1.1.0
    Updating cc v1.0.72 -> v1.0.73
    Updating cfg-expr v0.9.1 -> v0.10.1
    Updating core-foundation v0.9.2 -> v0.9.3
    Updating crc32fast v1.3.1 -> v1.3.2
    Updating crossbeam-epoch v0.9.6 -> v0.9.7
    Updating crossbeam-utils v0.8.6 -> v0.8.7
    Updating deflate v0.9.1 -> v1.0.0
    Removing encoding v0.2.33
    Removing encoding-index-japanese v1.20141219.5
    Removing encoding-index-korean v1.20141219.5
    Removing encoding-index-simpchinese v1.20141219.5
    Removing encoding-index-singlebyte v1.20141219.5
    Removing encoding-index-tradchinese v1.20141219.5
    Removing encoding_index_tests v0.1.4
    Updating enum-map v2.0.1 -> v2.0.2
    Updating futures-core v0.3.19 -> v0.3.21
    Updating futures-io v0.3.19 -> v0.3.21
    Updating futures-sink v0.3.19 -> v0.3.21
    Updating futures-task v0.3.19 -> v0.3.21
    Updating futures-util v0.3.19 -> v0.3.21
    Updating gio-sys v0.15.4 -> v0.15.6
    Updating glib-sys v0.15.4 -> v0.15.6
    Updating gobject-sys v0.15.1 -> v0.15.5
    Updating image v0.24.0 -> v0.24.1
    Updating kurbo v0.8.0 -> v0.8.3
    Updating libc v0.2.117 -> v0.2.119
    Updating memmap2 v0.5.2 -> v0.5.3
      Adding miniz_oxide v0.5.1
      Adding ndk-context v0.1.0
    Removing ndk-glue v0.5.0
    Removing ndk-glue v0.6.0
      Adding ndk-glue v0.5.1
      Adding ndk-glue v0.6.1
    Updating ntapi v0.3.6 -> v0.3.7
    Updating png v0.17.2 -> v0.17.3
    Updating proc-macro-crate v1.1.0 -> v1.1.2
    Updating rand v0.8.4 -> v0.8.5
    Removing rand_hc v0.3.1
    Updating rustls v0.20.2 -> v0.20.4
    Updating semver v1.0.4 -> v1.0.5
    Updating serde_json v1.0.78 -> v1.0.79
    Updating system-deps v6.0.1 -> v6.0.2
    Updating tracing v0.1.30 -> v0.1.31
    Updating tracing-subscriber v0.3.7 -> v0.3.9
    Updating tts v0.20.2 -> v0.20.3
    Removing windows v0.30.0
    Removing windows_aarch64_msvc v0.30.0
    Removing windows_i686_gnu v0.30.0
    Removing windows_i686_msvc v0.30.0
    Removing windows_x86_64_gnu v0.30.0
    Removing windows_x86_64_msvc v0.30.0
2022-02-21 15:40:25 +01:00
Emil Ernerfeldt c3fc8997d6
Introduce egui_extras with RetainedImage for loading svg,png,jpeg,… (#1282) 2022-02-21 15:26:26 +01:00
Emil Ernerfeldt b5c8f034e7
Add web location info to egui_web/epi (#1258)
This adds all parts of the web "location" (URL) to frame.info().web_info, included a HashMap of the query parameters, percent-decoded and ready to go.

This lets you easily pass key-value pairs to your eframe web app.
2022-02-17 16:46:43 +01:00