From ada69346d6a4a7d6a27c1bcad87bb84ecc468448 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Mon, 21 Sep 2026 15:13:55 +0200 Subject: [PATCH] Build against egui main: WidgetType is gone, use accesskit::Role egui#8555 replaced WidgetType with accesskit::Role. The crates.io patch points at egui main until the next egui release. Co-Authored-By: Claude Fable 5.1 --- Cargo.lock | 182 ++++++++++++++++++++++++------- Cargo.toml | 8 +- egui_plot/src/overlays/legend.rs | 10 +- 3 files changed, 152 insertions(+), 48 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 30cf1eed..e83407c3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1157,9 +1157,8 @@ checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" [[package]] name = "ecolor" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30429559efada7bd06098ced68e90f1f745acb9a25b51caf158741493c5b94bb" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" dependencies = [ "bytemuck", "emath", @@ -1168,9 +1167,8 @@ dependencies = [ [[package]] name = "eframe" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9f6000a8c01ca5b79bb914777c85902a5173d9f6c44278463aa0039bee4ca4" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" dependencies = [ "ahash", "bytemuck", @@ -1179,6 +1177,7 @@ dependencies = [ "egui-wgpu", "egui-winit", "egui_glow", + "egui_system_fonts", "glow", "glutin", "glutin-winit", @@ -1206,9 +1205,8 @@ dependencies = [ [[package]] name = "egui" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8e70d4e8e8896ba5becb0bc1c8c06d203cb44ff16a93d7a619a5e565500085d" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" dependencies = [ "accesskit", "ahash", @@ -1228,9 +1226,8 @@ dependencies = [ [[package]] name = "egui-wgpu" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a262a88482609aeda48457fa6f76f5b754b2965e88797c22ac8ab2709f397906" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" dependencies = [ "ahash", "bytemuck", @@ -1248,9 +1245,8 @@ dependencies = [ [[package]] name = "egui-winit" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc5ff243c9d41a665caeeb1e2b18258904524eb9f7c6840e00e9055017f0ade" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" dependencies = [ "accesskit_winit", "arboard", @@ -1285,9 +1281,8 @@ dependencies = [ [[package]] name = "egui_glow" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc088c86612837efb5a79a0cef947edc59db0bf52a2230785836d27005866b58" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" dependencies = [ "bytemuck", "egui", @@ -1299,9 +1294,8 @@ dependencies = [ [[package]] name = "egui_kittest" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0faf48edfa198e2343de2083bd10628a41197c1a17855cd12cec4c0f140dd3b" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" dependencies = [ "dify", "eframe", @@ -1336,6 +1330,20 @@ dependencies = [ "serde", ] +[[package]] +name = "egui_system_fonts" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" +dependencies = [ + "epaint", + "fontique", + "log", + "poll-promise", + "skrifa", + "sys-locale", + "unicode-script", +] + [[package]] name = "either" version = "1.17.0" @@ -1344,9 +1352,8 @@ checksum = "9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d" [[package]] name = "emath" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b4d19daeb47a1e42e9e67fdc8dd003364b4d3e6c6bc4df865a2b5ad2c920e0" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" dependencies = [ "bytemuck", "serde", @@ -1435,9 +1442,8 @@ dependencies = [ [[package]] name = "epaint" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a7cb8f831a5a43423e4838101ac4a3264910f2f326670c24f4f4b7ee43d9c8" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" dependencies = [ "ahash", "bytemuck", @@ -1455,15 +1461,15 @@ dependencies = [ "skrifa", "smallvec", "unicode-general-category", + "unicode-properties", "unicode-segmentation", "vello_cpu", ] [[package]] name = "epaint_default_fonts" -version = "0.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16e23bfeaa81d590306ae25da24269a0686d240c623013badbda44d3f5fab46" +version = "0.36.2" +source = "git+https://github.com/emilk/egui?branch=main#b30d20bca7fdcdbed3bf2e43d09a054ac115ec10" [[package]] name = "equivalent" @@ -1587,14 +1593,36 @@ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" [[package]] name = "font-types" -version = "0.12.2" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a7299a780854a6d391be2ae1c8521c9368471b559dbfd6a8dbd9f407eaff100" +checksum = "b8eb065f3251655b3c90e22e5e363f310fc5332fb3402e37bbc94752283248f6" dependencies = [ "bytemuck", "serde", ] +[[package]] +name = "fontique" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6688bc1294fe7117d788937b6c53480169b29c566954af490830d4c09da9516a" +dependencies = [ + "hashbrown 0.17.1", + "linebender_resource_handle", + "memmap2", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-core-text", + "objc2-foundation 0.3.2", + "parlance", + "read-fonts", + "roxmltree", + "smallvec", + "windows", + "windows-core", + "yeslogic-fontconfig-sys", +] + [[package]] name = "foreign-types" version = "0.5.0" @@ -1752,15 +1780,16 @@ dependencies = [ [[package]] name = "glifo" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed4a1bb24121291d27230c1b1b44e07d6a9b28cefdb32fe1581dfb84e14f940a" +checksum = "282a26c1e23de04bdab3e34a21b6f877a479b96737792516b9b8b8f69b6661be" dependencies = [ "bytemuck", "foldhash", "hashbrown 0.17.1", "log", "peniko", + "png", "skrifa", "smallvec", "vello_common", @@ -2414,9 +2443,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" [[package]] name = "markers" @@ -2717,6 +2746,16 @@ dependencies = [ "objc2-foundation 0.2.2", ] +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags 2.13.1", + "objc2-core-foundation", +] + [[package]] name = "objc2-encode" version = "4.1.0" @@ -2994,6 +3033,12 @@ dependencies = [ "windows-link", ] +[[package]] +name = "parlance" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6937eda350acc1a5d05872c3cbf99fe78619c269096e2be3d4a350058639d5" + [[package]] name = "peniko" version = "0.6.1" @@ -3148,6 +3193,16 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "poll-promise" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6a58fecbf9da8965bcdb20ce4fd29788d1acee68ddbb64f0ba1b81bccdb7df" +dependencies = [ + "document-features", + "static_assertions", +] + [[package]] name = "polling" version = "3.11.0" @@ -3472,6 +3527,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "roxmltree" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1964b10c76125c36f8afe190065a4bf9a87bf324842c05701330bba9f1cacbb" +dependencies = [ + "memchr", +] + [[package]] name = "rustc-hash" version = "1.1.0" @@ -3717,9 +3781,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.15.2" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" +checksum = "ba467056f1b547ed52077911161fc86985becbc60e8e1857c8a144dab0def891" dependencies = [ "serde", ] @@ -3866,6 +3930,15 @@ dependencies = [ "syn 2.0.119", ] +[[package]] +name = "sys-locale" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eab9a99a024a169fe8a903cf9d4a3b3601109bcc13bd9e3c6fff259138626c4" +dependencies = [ + "libc", +] + [[package]] name = "tempfile" version = "3.27.0" @@ -4106,6 +4179,18 @@ version = "1.0.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" +[[package]] +name = "unicode-properties" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" + +[[package]] +name = "unicode-script" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "383ad40bb927465ec0ce7720e033cb4ca06912855fc35db31b5755d0de75b1ee" + [[package]] name = "unicode-segmentation" version = "1.13.3" @@ -4162,28 +4247,30 @@ dependencies = [ [[package]] name = "vello_common" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2e9aed918117e8152c9eddfd8362d73c465c23f26c44786aa331707b8a64fa2" +checksum = "bbb2141a2bca6e6d598e471fd4d1d7eed8e020aad6a28187edda07f091a325dd" dependencies = [ "bytemuck", "fearless_simd", "guillotiere", "log", "peniko", + "png", "smallvec", "thiserror 2.0.19", ] [[package]] name = "vello_cpu" -version = "0.1.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac7349e1f55f6b801c7c277958df4ea53e7f20f21e8014910ad888b2ecda93ea" +checksum = "ace506ca414548966fcf3c283be94eb1cad8254de488791ee698bf438b0890a9" dependencies = [ "bytemuck", "glifo", "hashbrown 0.17.1", + "png", "vello_common", ] @@ -5069,6 +5156,17 @@ version = "0.8.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" +[[package]] +name = "yeslogic-fontconfig-sys" +version = "6.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d8b8abf912b9a29ff112e1671c97c33636903d13a69712037190e6805af4f76" +dependencies = [ + "dlib", + "once_cell", + "pkg-config", +] + [[package]] name = "yoke" version = "0.8.3" diff --git a/Cargo.toml b/Cargo.toml index adbdb583..3f1015ff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -72,10 +72,10 @@ web-sys = "0.3.83" [patch.crates-io] # When we want to use the bleeding edge version of egui and eframe: -# egui = { git = "https://github.com/emilk/egui", branch = "main" } -# egui_kittest = { git = "https://github.com/emilk/egui", branch = "main" } -# eframe = { git = "https://github.com/emilk/egui", branch = "main" } -# emath = { git = "https://github.com/emilk/egui", branch = "main" } +egui = { git = "https://github.com/emilk/egui", branch = "main" } +egui_kittest = { git = "https://github.com/emilk/egui", branch = "main" } +eframe = { git = "https://github.com/emilk/egui", branch = "main" } +emath = { git = "https://github.com/emilk/egui", branch = "main" } # If you fork https://github.com/emilk/egui you can test with: # egui = { path = "../egui/crates/egui" } diff --git a/egui_plot/src/overlays/legend.rs b/egui_plot/src/overlays/legend.rs index 3396e295..cd1c8835 100644 --- a/egui_plot/src/overlays/legend.rs +++ b/egui_plot/src/overlays/legend.rs @@ -15,7 +15,6 @@ use egui::TextStyle; use egui::Ui; use egui::Widget; use egui::WidgetInfo; -use egui::WidgetType; use egui::epaint::CircleShape; use egui::pos2; use egui::vec2; @@ -189,7 +188,14 @@ impl LegendEntry { let desired_size = total_extra + galley.size(); let (rect, response) = ui.allocate_exact_size(desired_size, Sense::click()); - response.widget_info(|| WidgetInfo::selected(WidgetType::Checkbox, ui.is_enabled(), *checked, galley.text())); + response.widget_info(|| { + WidgetInfo::selected( + egui::accesskit::Role::CheckBox, + ui.is_enabled(), + *checked, + galley.text(), + ) + }); let visuals = ui.style().interact(&response); let label_on_the_left = ui.layout().horizontal_placement() == Align::RIGHT;