1
0
mirror of https://github.com/emilk/egui.git synced 2026-06-26 14:49:06 -04:00
Commit Graph

4037 Commits

Author SHA1 Message Date
Lucas Meurer
f0faacc7d1 Add workflow to accept snapshots via kitdiff (#7577)
This adds a new workflow `update_kittest_snapshots.yml` that can be
triggered through the [kitdiff](https://github.com/rerun-io/kitdiff) ui
when viewing a ci artefact.
Also adds a link to kitdiff to view the pr changes to each commit (via
the preview build comment)

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-06 15:57:31 +02:00
Andreas Reich
f6fe3bff18 Increate wgpu kittest wait timeout (#7585) 2025-10-03 13:05:50 +02:00
Andreas Reich
427c0766fd Update wgpu to 27.0.0 (#7580) 2025-10-03 09:54:46 +02:00
Emil Ernerfeldt
096ed1c0cb Replace cargo check with cargo clippy on ci (#7581)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-02 20:19:23 +02:00
Emil Ernerfeldt
6579bb910b Remove log feature (#7583) 2025-10-02 20:09:48 +02:00
Emil Ernerfeldt
bd45406fad Use a lot more let-else (#7582) 2025-10-02 19:47:00 +02:00
Andreas Reich
4c1f344ef8 Update MSRV from 1.86 to 1.88 (#7579)
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2025-10-02 19:12:29 +02:00
Isse
0888e3dc86 Add Ui::take_available_space() helper function, which sets the Ui's minimum size to the available space (#7573)
A shorthand, and more descriptive version of calling
`ui.set_min_size(ui.available_size())`, and mentions this on panel's
resizable functions.
2025-10-01 14:39:32 +02:00
Emil Ernerfeldt
18ea9ff0bd Warn if DYLD_LIBRARY_PATH is set and we find no wgpu adapter (#7572)
Co-authored-by: Andreas Reich <andreas@rerun.io>
2025-09-30 15:56:04 +02:00
Emil Ernerfeldt
4fb4072ce8 Adjust when we write .diff and .new snapshot images (#7571) 2025-09-30 15:51:46 +02:00
Tye
a450b1c989 Properly end winit event loop (#7565) 2025-09-30 15:48:54 +02:00
Lucas Meurer
47c5617740 Return 0.0 if font not found in glyph_width instead of panic (#7559) 2025-09-30 10:12:56 +02:00
Emil Ernerfeldt
5ee88da61c kittest: Format errors with Display (#7569) 2025-09-30 08:24:21 +02:00
Emil Ernerfeldt
e9898e4932 Improve error message when failing to run egui_demo_app (#7567) 2025-09-29 11:12:03 +02:00
Emil Ernerfeldt
4683d91653 Small clippy fixes (#7566) 2025-09-27 12:14:47 +02:00
Emil Ernerfeldt
472437a510 Small CI improvements (#7563) 2025-09-26 09:39:42 +02:00
TÖRÖK Attila
b69bab73e1 Fix build error in egui-winit with profiling enabled (#7557) 2025-09-23 14:57:43 +02:00
Lucas Meurer
a73f2c356f Add text edit rtl regression test (#7524) 2025-09-23 11:56:32 +02:00
Fangdun Tsai
b36a259d47 Update accesskit to 0.21.0 (#7550) 2025-09-23 11:42:59 +02:00
Gijs de Jong
48d903d879 Include popups and tooltips in Harness::fit_contents (#7556)
This makes `Harness::fit_contents` also use popups and tooltips to
compute the size of the contents.
2025-09-23 11:03:30 +02:00
Lucas Meurer
9150b9342d Make individual egui_extras image loaders public (#7551)
This was initially a PR to add kitdiff, but this now lives in it's own
crate: https://github.com/rerun-io/kitdiff

I needed to make the image loaders public, this way it's possible to
compose image loaders together (which allowed me to create a image diff
loader that uses two other image loaders). But you can't use the
`ctx.try_load_image` since that would deadlock, so you have to store a
reference to the other loader in the wrapping loader.
2025-09-23 10:07:18 +02:00
Kumpelinus
c97c065a57 Update wgpu to 26 and wasm-bindgen to 0.2.100 (#7540)
Co-authored-by: TÖRÖK Attila <torokati44@gmail.com>
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2025-09-21 20:42:00 +02:00
Emil Ernerfeldt
6ac155c5cd eframe web: prevent default action on command-comma (#7547) 2025-09-17 08:12:50 +02:00
Emil Ernerfeldt
603dba29e6 Add snapshot test for text spacing/kerning (#7545) 2025-09-16 13:30:28 +02:00
Lucas Meurer
f2f00ef62a New Plugin trait (#7385)
This adds a new `Plugin` trait and new `input_hook` and `output_hook`
plugin fns. Having a `Plugin` trait should make it easier to store state
in the plugin and improve discoverability of possible plugin hooks.

The old `on_begin_pass` and `on_end_pass` have been ported to use the
new plugin trait, should we deprecate them?
2025-09-16 10:55:58 +02:00
Emil Ernerfeldt
226bdc4c5b 0.32.3 release: Bump version numbers and update changelog (#7536) 2025-09-12 08:18:19 +02:00
Lucas Meurer
2d3ecd3494 Reset wrapping in label tooltip (#7535)
* follow up to #7514 

That PR changed the tooltip to preserve the wrapping, which made the
tooltip kind of useless. With this PR the wrapping is reset for the
tooltip.
2025-09-11 17:18:53 +02:00
Alan Everett
b0c568a78e Add rotation gesture support for trackpad sources (#7453)
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Co-authored-by: Lucas Meurer <hi@lucasmerlin.me>
2025-09-11 12:44:17 +02:00
Emil Ernerfeldt
802d307e4a Remove deprecated fields from PlatformOutput (#7523) 2025-09-09 16:07:39 +02:00
Emil Ernerfeldt
72b9b9d750 Increase default text size from 12.5 to 13.0 (#7521) 2025-09-09 15:47:24 +02:00
Sven Niederberger
ec5bc35c38 Add an option to limit the repaint rate in the web runner (#7482)
Co-authored-by: Lucas Meurer <hi@lucasmerlin.me>
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2025-09-09 13:49:35 +02:00
Zakarum
9db03983dd Fix TextEdit's in RTL layouts (#5547)
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2025-09-09 13:45:44 +02:00
Lucas Meurer
ea76b4eeca Add egui_kittest::HarnessBuilder::with_os and set the default to Nix (#7493)
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2025-09-09 13:44:59 +02:00
Pēteris Pakalns
2afc43c0ec Support on hover tooltip that is noninteractable even with interactable content (#5543) 2025-09-09 11:21:54 +02:00
Nicolas
75b50c90e8 Remove deprecated Harness::wgpu_snapshot and related fns (#7504) 2025-09-09 11:18:00 +02:00
Nicolas
835e4f17df feat: Add serde serialization to SyntectSettings (#7506) 2025-09-09 11:17:07 +02:00
Emil Ernerfeldt
c2912369ca Improve text demo: more fine control of letter spacing (#7520) 2025-09-09 09:35:25 +02:00
Emil Ernerfeldt
01ee23c1a0 Add Zoom Factor to options panel (#7517) 2025-09-08 18:27:28 +02:00
Emil Ernerfeldt
b822977e7f Remove preload_font_glyphs flag (#7516) 2025-09-08 18:17:55 +02:00
valadaptive
742b1dc920 Optimize Mesh::add_rect_with_uv (#7511) 2025-09-08 17:40:45 +02:00
valadaptive
a8e36e3313 Improve OrderedFloat hash performance (#7512)
Co-authored-by: Lucas Meurer <hi@lucasmerlin.me>
2025-09-08 17:39:52 +02:00
Emil Ernerfeldt
9cc7f2ec16 Improve deadlock detection output (#7515) 2025-09-08 17:37:49 +02:00
valadaptive
d5b0a6f446 More even text kerning (#7431)
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2025-09-08 17:29:41 +02:00
Lucas Meurer
e5d0b93633 Preserve text format in truncated label tooltip (#7514)
* Related https://github.com/rerun-io/rerun/issues/10906

This changes the label hover ui to use the provided layout job instead
of the text so that the text format is preserved.
2025-09-08 15:41:05 +02:00
Lucas Meurer
34cd613378 Update changelogs and versions for 0.32.2 (#7505) 2025-09-08 10:42:10 +02:00
Lucas Meurer
73c5892a4d Generate changelogs for emath (#7513)
Sometimes there are changes that only affect emath, so those should be
listed somewhere
2025-09-08 10:13:21 +02:00
Emil Ernerfeldt
aedd43c88f kittest: Add UPDATE_SNAPSHOTS=force (#7508)
This adds a new mode, `UPDATE_SNAPSHOTS=force`, which will lower the
threshold to zero, overwriting every image that is not _exactly_ the
same.

Most comparisons has a threshold because different GPUs render slightly
differently. However, setting that threshold accurately can be hard.

Sometimes a test will pass locally, but fail on CI. In those cases you
want to force an update of the failing test. You can use
`UPDATE_SNAPSHOTS=force` for that.

And sometimes a small change _should_ update all images, but the change
is so tiny that it falls under the threshold. Still, you want to make a
point of showing that these images have changes. You can use
`UPDATE_SNAPSHOTS=force` for that.
2025-09-05 16:45:36 +02:00
Emil Ernerfeldt
eceb0b11c9 Document how to push git lfs files to 3rd party PRs (#7507) 2025-09-05 10:47:23 +02:00
Stelios Kourlis
5fd452310b Deprecated ImageButton and removed WidgetType::ImageButton (#7483)
<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/main/CONTRIBUTING.md)
before opening a Pull Request!

* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to test and add commits to your PR.
* Remember to run `cargo fmt` and `cargo clippy`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.

Please be patient! I will review your PR, but my time is limited!
-->

* Closes <https://github.com/emilk/egui/issues/7466>
* [x] I have followed the instructions in the PR template
* I have ran `./scripts/check.sh` and it has no fails
* I have run `cargo fmt` and `cargo clippy`

Added the deprecated tag to ImageButton struct
Removed the `WidgetType::ImageButton` variant. ImageButton will use
`WidgetType::Button` for its WidgetInfo

*This is my first PR ever, please let me know if I did something wrong
so I can change it*

---------

Co-authored-by: Nicolas <bircni@icloud.com>
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
Co-authored-by: Lucas Meurer <hi@lucasmerlin.me>
2025-09-04 15:03:10 +02:00
YgorSouza
669cdc1fff Remove line breaks when pasting into single line TextEdit (#7441)
The line breaks are now replaced by spaces, matching the usual behavior
of text fields in HTML.

* Closes <https://github.com/emilk/egui/issues/7389>
* [x] I have followed the instructions in the PR template

Co-authored-by: Lucas Meurer <hi@lucasmerlin.me>
2025-09-04 13:53:02 +02:00