diff --git a/Cargo.lock b/Cargo.lock index 1b8acc9..f280f87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,12 +20,13 @@ checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" [[package]] name = "accesskit" -version = "0.21.1" +version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf203f9d3bd8f29f98833d1fbef628df18f759248a547e7e01cfbf63cda36a99" +checksum = "5351dcebb14b579ccab05f288596b2ae097005be7ee50a7c3d4ca9d0d5a66f6a" dependencies = [ "enumn", "serde", + "uuid", ] [[package]] @@ -82,6 +83,12 @@ dependencies = [ "alloc-no-stdlib", ] +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + [[package]] name = "alsa" version = "0.9.1" @@ -360,18 +367,18 @@ dependencies = [ [[package]] name = "bit-set" -version = "0.8.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3" +checksum = "34ddef2995421ab6a5c779542c81ee77c115206f4ad9d5a8e05f4ff49716a3dd" dependencies = [ "bit-vec", ] [[package]] name = "bit-vec" -version = "0.8.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7" +checksum = "b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51" [[package]] name = "bitflags" @@ -388,12 +395,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "block" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" - [[package]] name = "block2" version = "0.5.1" @@ -652,15 +653,24 @@ dependencies = [ [[package]] name = "codespan-reporting" -version = "0.12.0" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81" +checksum = "af491d569909a7e4dee0ad7db7f5341fef5c614d5b8ec8cf765732aba3cff681" dependencies = [ "serde", "termcolor", "unicode-width", ] +[[package]] +name = "color" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a18ef4657441fb193b65f34dc39b3781f0dfec23d3bd94d0eeb4e88cde421edb" +dependencies = [ + "bytemuck", +] + [[package]] name = "colorchoice" version = "1.0.5" @@ -738,7 +748,7 @@ checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation 0.9.4", - "core-graphics-types 0.1.3", + "core-graphics-types", "foreign-types", "libc", ] @@ -754,17 +764,6 @@ dependencies = [ "libc", ] -[[package]] -name = "core-graphics-types" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" -dependencies = [ - "bitflags 2.11.0", - "core-foundation 0.10.1", - "libc", -] - [[package]] name = "coreaudio-rs" version = "0.11.3" @@ -988,9 +987,9 @@ dependencies = [ [[package]] name = "ecolor" -version = "0.33.3" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71ddb8ac7643d1dba1bb02110e804406dd459a838efcb14011ced10556711a8e" +checksum = "137c0ce4ce4152ff7e223a7ce22ee1057cdff61fce0a45c32459c3ccec64868d" dependencies = [ "bytemuck", "emath", @@ -999,9 +998,9 @@ dependencies = [ [[package]] name = "egui" -version = "0.33.3" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9b567d356674e9a5121ed3fedfb0a7c31e059fe71f6972b691bcd0bfc284e3" +checksum = "f34aaf627da598dfadd64b0fee6101d22e9c451d1e5348157312720b7f459f0f" dependencies = [ "accesskit", "ahash", @@ -1018,18 +1017,18 @@ dependencies = [ [[package]] name = "egui-notify" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d811c81c13fbce131116eeb6b228086f2c7eb6e4105e03ceb3a358c53c1668" +checksum = "6a29b39d9d60a29c217d0e86ef8221cd2e736f841aba75b5c32a3a0cade5f802" dependencies = [ "egui", ] [[package]] name = "egui-wgpu" -version = "0.33.3" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e4d209971c84b2352a06174abdba701af1e552ce56b144d96f2bd50a3c91236" +checksum = "71033ff78b041c9c363450f4498ff95468ef3ecbcc71a62f67036a6207d98fa4" dependencies = [ "ahash", "bytemuck", @@ -1047,17 +1046,17 @@ dependencies = [ [[package]] name = "egui-winit" -version = "0.33.3" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec6687e5bb551702f4ad10ac428bab12acf9d53047ebb1082d4a0ed8c6251a29" +checksum = "11a2881b2bf1a305e413e644af63f836737a33d85077705ff808e88f902ff742" dependencies = [ "arboard", "bytemuck", "egui", "log", - "objc2 0.5.2", - "objc2-foundation 0.2.2", - "objc2-ui-kit", + "objc2 0.6.4", + "objc2-foundation 0.3.2", + "objc2-ui-kit 0.3.2", "profiling", "raw-window-handle", "smithay-clipboard", @@ -1068,9 +1067,9 @@ dependencies = [ [[package]] name = "egui_extras" -version = "0.33.3" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d01d34e845f01c62e3fded726961092e70417d66570c499b9817ab24674ca4ed" +checksum = "62bfc6870c68d3f254e33aca8200095d422e09edacb0f365f79fe23a5ba10963" dependencies = [ "ahash", "egui", @@ -1098,9 +1097,9 @@ dependencies = [ [[package]] name = "emath" -version = "0.33.3" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "491bdf728bf25ddd9ad60d4cf1c48588fa82c013a2440b91aa7fc43e34a07c32" +checksum = "0a05cd8bdf3b598488c627ca97c7fe8909448ffa26278dd3c7e535cdb554d721" dependencies = [ "bytemuck", "serde", @@ -1139,28 +1138,32 @@ dependencies = [ [[package]] name = "epaint" -version = "0.33.3" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "009d0dd3c2163823a0abdb899451ecbc78798dec545ee91b43aff1fa790bab62" +checksum = "04f3017dd67f147a697ee0c8484fb568fd9553e2a0c114be5020dbbc11962841" dependencies = [ - "ab_glyph", "ahash", "bytemuck", "ecolor", "emath", "epaint_default_fonts", + "font-types", "log", "nohash-hasher", "parking_lot", "profiling", + "self_cell", "serde", + "skrifa", + "smallvec", + "vello_cpu", ] [[package]] name = "epaint_default_fonts" -version = "0.33.3" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fbe202b6578d3d56428fa185cdf114a05e49da05f477b3c7f0fbb221f1862" +checksum = "8e3b85a2bb775a3ab02d077a65cc31575c11b2584581913253cc11ce49f48bba" [[package]] name = "equivalent" @@ -1184,6 +1187,15 @@ version = "3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dea2df4cf52843e0452895c455a1a2cfbb842a1e7329671acf418fdc53ed4c59" +[[package]] +name = "euclid" +version = "0.22.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1a05365e3b1c6d1650318537c7460c6923f1abdd272ad6842baa2b509957a06" +dependencies = [ + "num-traits", +] + [[package]] name = "fallible-iterator" version = "0.3.0" @@ -1219,6 +1231,15 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "fearless_simd" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb2907d1f08b2b316b9223ced5b0e89d87028ba8deae9764741dba8ff7f3903" +dependencies = [ + "bytemuck", +] + [[package]] name = "find-msvc-tools" version = "0.1.9" @@ -1267,6 +1288,16 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" +[[package]] +name = "font-types" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73829a7b5c91198af28a99159b7ae4afbb252fb906159ff7f189f3a2ceaa3df2" +dependencies = [ + "bytemuck", + "serde", +] + [[package]] name = "foreign-types" version = "0.5.0" @@ -1524,9 +1555,9 @@ checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "glow" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08" +checksum = "29038e1c483364cc6bb3cf78feee1816002e127c331a1eec55a4d202b9e1adb5" dependencies = [ "js-sys", "slotmap", @@ -1543,35 +1574,18 @@ dependencies = [ "gl_generator", ] -[[package]] -name = "gpu-alloc" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" -dependencies = [ - "bitflags 2.11.0", - "gpu-alloc-types", -] - -[[package]] -name = "gpu-alloc-types" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" -dependencies = [ - "bitflags 2.11.0", -] - [[package]] name = "gpu-allocator" -version = "0.27.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c151a2a5ef800297b4e79efa4f4bec035c5f51d5ae587287c9b952bdf734cacd" +checksum = "51255ea7cfaadb6c5f1528d43e92a82acb2b96c43365989a28b2d44ee38f8795" dependencies = [ + "ash", + "hashbrown 0.16.1", "log", "presser", - "thiserror 1.0.69", - "windows 0.58.0", + "thiserror 2.0.18", + "windows 0.62.2", ] [[package]] @@ -1621,6 +1635,8 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" dependencies = [ + "allocator-api2", + "equivalent", "foldhash 0.2.0", ] @@ -2090,6 +2106,17 @@ dependencies = [ "libc", ] +[[package]] +name = "kurbo" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7564e90fe3c0d5771e1f0bc95322b21baaeaa0d9213fa6a0b61c99f8b17b3bfb" +dependencies = [ + "arrayvec", + "euclid", + "smallvec", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -2132,7 +2159,7 @@ dependencies = [ "notify", "num-derive", "num-traits", - "object 0.38.1", + "object 0.39.0", "oneshot", "pollster", "rand 0.10.0", @@ -2202,6 +2229,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee" +[[package]] +name = "linebender_resource_handle" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a5ff6bcca6c4867b1c4fd4ef63e4db7436ef363e0ad7531d1558856bae64f4" + [[package]] name = "linux-perf-data" version = "0.11.1" @@ -2310,15 +2343,6 @@ dependencies = [ "zerocopy-derive", ] -[[package]] -name = "malloc_buf" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" -dependencies = [ - "libc", -] - [[package]] name = "matchers" version = "0.2.0" @@ -2349,21 +2373,6 @@ dependencies = [ "libc", ] -[[package]] -name = "metal" -version = "0.32.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00c15a6f673ff72ddcc22394663290f870fb224c1bfce55734a75c414150e605" -dependencies = [ - "bitflags 2.11.0", - "block", - "core-graphics-types 0.2.0", - "foreign-types", - "log", - "objc", - "paste", -] - [[package]] name = "mime" version = "0.3.17" @@ -2432,9 +2441,9 @@ dependencies = [ [[package]] name = "naga" -version = "27.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "066cf25f0e8b11ee0df221219010f213ad429855f57c494f995590c861a9a7d8" +checksum = "aa2630921705b9b01dcdd0b6864b9562ca3c1951eecd0f0c4f5f04f61e412647" dependencies = [ "arrayvec", "bit-set", @@ -2649,15 +2658,6 @@ dependencies = [ "syn", ] -[[package]] -name = "objc" -version = "0.2.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" -dependencies = [ - "malloc_buf", -] - [[package]] name = "objc-sys" version = "0.3.5" @@ -2696,7 +2696,7 @@ dependencies = [ "objc2-core-data", "objc2-core-image", "objc2-foundation 0.2.2", - "objc2-quartz-core", + "objc2-quartz-core 0.2.2", ] [[package]] @@ -2781,7 +2781,7 @@ dependencies = [ "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", - "objc2-metal", + "objc2-metal 0.2.2", ] [[package]] @@ -2872,6 +2872,18 @@ dependencies = [ "objc2-foundation 0.2.2", ] +[[package]] +name = "objc2-metal" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" +dependencies = [ + "bitflags 2.11.0", + "block2 0.6.2", + "objc2 0.6.4", + "objc2-foundation 0.3.2", +] + [[package]] name = "objc2-quartz-core" version = "0.2.2" @@ -2882,7 +2894,20 @@ dependencies = [ "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", - "objc2-metal", + "objc2-metal 0.2.2", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags 2.11.0", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-foundation 0.3.2", + "objc2-metal 0.3.2", ] [[package]] @@ -2910,12 +2935,24 @@ dependencies = [ "objc2-core-location", "objc2-foundation 0.2.2", "objc2-link-presentation", - "objc2-quartz-core", + "objc2-quartz-core 0.2.2", "objc2-symbols", "objc2-uniform-type-identifiers", "objc2-user-notifications", ] +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags 2.11.0", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-foundation 0.3.2", +] + [[package]] name = "objc2-uniform-type-identifiers" version = "0.2.2" @@ -2953,9 +2990,9 @@ dependencies = [ [[package]] name = "object" -version = "0.38.1" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc" +checksum = "63944c133d03f44e75866bbd160b95af0ec3f6a13d936d69d31c81078cbc5baf" dependencies = [ "flate2", "memchr", @@ -3060,12 +3097,6 @@ dependencies = [ "windows-link 0.2.1", ] -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - [[package]] name = "pdb-addr2line" version = "0.11.2" @@ -3091,6 +3122,19 @@ dependencies = [ "uuid", ] +[[package]] +name = "peniko" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2b6aadb221872732e87d465213e9be5af2849b0e8cc5300a8ba98fffa2e00a" +dependencies = [ + "bytemuck", + "color", + "kurbo", + "linebender_resource_handle", + "smallvec", +] + [[package]] name = "percent-encoding" version = "2.3.2" @@ -3516,6 +3560,28 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20675572f6f24e9e76ef639bc5552774ed45f1c30e2951e1e99c59888861c539" +[[package]] +name = "raw-window-metal" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40d213455a5f1dc59214213c7330e074ddf8114c9a42411eb890c767357ce135" +dependencies = [ + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-foundation 0.3.2", + "objc2-quartz-core 0.3.2", +] + +[[package]] +name = "read-fonts" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b634fabf032fab15307ffd272149b622260f55974d9fad689292a5d33df02e5" +dependencies = [ + "bytemuck", + "font-types", +] + [[package]] name = "realfft" version = "3.5.0" @@ -3934,6 +4000,12 @@ dependencies = [ "tiny-skia", ] +[[package]] +name = "self_cell" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b12e76d157a900eb52e81bc6e9f3069344290341720e9178cde2407113ac8d89" + [[package]] name = "semver" version = "1.0.27" @@ -4047,6 +4119,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" +[[package]] +name = "skrifa" +version = "0.40.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fbdfe3d2475fbd7ddd1f3e5cf8288a30eb3e5f95832829570cd88115a7434ac" +dependencies = [ + "bytemuck", + "read-fonts", +] + [[package]] name = "slab" version = "0.4.12" @@ -4067,6 +4149,9 @@ name = "smallvec" version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" +dependencies = [ + "serde", +] [[package]] name = "smithay-client-toolkit" @@ -4152,9 +4237,9 @@ dependencies = [ [[package]] name = "spirv" -version = "0.3.0+sdk-1.3.268.0" +version = "0.4.0+sdk-1.4.341.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda41003dc44290527a59b13432d4a0379379fa074b70174882adfbdfd917844" +checksum = "d9571ea910ebd84c86af4b3ed27f9dbdc6ad06f17c5f96146b2b671e2976744f" dependencies = [ "bitflags 2.11.0", ] @@ -4741,6 +4826,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ac8b6f42ead25368cf5b098aeb3dc8a1a2c05a3eee8a9a1a68c640edbfc79d9" dependencies = [ "js-sys", + "serde_core", "wasm-bindgen", ] @@ -4756,6 +4842,32 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" +[[package]] +name = "vello_common" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bd1a4c633ce09e7d713df1a6e036644a125e15e0c169cfb5180ddf5836ca04b" +dependencies = [ + "bytemuck", + "fearless_simd", + "hashbrown 0.16.1", + "log", + "peniko", + "skrifa", + "smallvec", +] + +[[package]] +name = "vello_cpu" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0162bfe48aabf6a9fdcd401b628c7d9f260c2cbabb343c70a65feba6f7849edc" +dependencies = [ + "bytemuck", + "hashbrown 0.16.1", + "vello_common", +] + [[package]] name = "version_check" version = "0.9.5" @@ -5106,12 +5218,13 @@ checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" [[package]] name = "wgpu" -version = "27.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe68bac7cde125de7a731c3400723cadaaf1703795ad3f4805f187459cd7a77" +checksum = "72c239a9a747bbd379590985bac952c2e53cb19873f7072b3370c6a6a8e06837" dependencies = [ "arrayvec", "bitflags 2.11.0", + "bytemuck", "cfg-if", "cfg_aliases", "document-features", @@ -5135,9 +5248,9 @@ dependencies = [ [[package]] name = "wgpu-core" -version = "27.0.3" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27a75de515543b1897b26119f93731b385a19aea165a1ec5f0e3acecc229cae7" +checksum = "1e80ac6cf1895df6342f87d975162108f9d98772a0d74bc404ab7304ac29469e" dependencies = [ "arrayvec", "bit-set", @@ -5160,57 +5273,66 @@ dependencies = [ "thiserror 2.0.18", "wgpu-core-deps-apple", "wgpu-core-deps-emscripten", + "wgpu-core-deps-wasm", "wgpu-core-deps-windows-linux-android", "wgpu-hal", + "wgpu-naga-bridge", "wgpu-types", ] [[package]] name = "wgpu-core-deps-apple" -version = "27.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0772ae958e9be0c729561d5e3fd9a19679bcdfb945b8b1a1969d9bfe8056d233" +checksum = "43acd053312501689cd92a01a9638d37f3e41a5fd9534875efa8917ee2d11ac0" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-core-deps-emscripten" -version = "27.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06ac3444a95b0813ecfd81ddb2774b66220b264b3e2031152a4a29fda4da6b5" +checksum = "ef043bf135cc68b6f667c55ff4e345ce2b5924d75bad36a47921b0287ca4b24a" +dependencies = [ + "wgpu-hal", +] + +[[package]] +name = "wgpu-core-deps-wasm" +version = "29.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f7b75e72f49035f000dd5262e4126242e92a090a4fd75931ecfe7e60784e6fa" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-core-deps-windows-linux-android" -version = "27.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71197027d61a71748e4120f05a9242b2ad142e3c01f8c1b47707945a879a03c3" +checksum = "725d5c006a8c02967b6d93ef04f6537ec4593313e330cfe86d9d3f946eb90f28" dependencies = [ "wgpu-hal", ] [[package]] name = "wgpu-hal" -version = "27.0.4" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b21cb61c57ee198bc4aff71aeadff4cbb80b927beb912506af9c780d64313ce" +checksum = "89a47aef47636562f3937285af4c44b4b5b404b46577471411cc5313a921da7e" dependencies = [ "android_system_properties", "arrayvec", "ash", "bit-set", "bitflags 2.11.0", - "block", + "block2 0.6.2", "bytemuck", "cfg-if", "cfg_aliases", - "core-graphics-types 0.2.0", "glow", "glutin_wgl_sys", - "gpu-alloc", "gpu-allocator", "gpu-descriptor", "hashbrown 0.16.1", @@ -5219,10 +5341,13 @@ dependencies = [ "libc", "libloading", "log", - "metal", "naga", "ndk-sys 0.6.0+11769913", - "objc", + "objc2 0.6.4", + "objc2-core-foundation", + "objc2-foundation 0.3.2", + "objc2-metal 0.3.2", + "objc2-quartz-core 0.3.2", "once_cell", "ordered-float", "parking_lot", @@ -5231,27 +5356,40 @@ dependencies = [ "profiling", "range-alloc", "raw-window-handle", + "raw-window-metal", "renderdoc-sys", "smallvec", "thiserror 2.0.18", "wasm-bindgen", + "wayland-sys", "web-sys", + "wgpu-naga-bridge", + "wgpu-types", + "windows 0.62.2", + "windows-core 0.62.2", +] + +[[package]] +name = "wgpu-naga-bridge" +version = "29.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4684f4410da0cf95a4cb63bb5edaac022461dedb6adf0b64d0d9b5f6890d51" +dependencies = [ + "naga", "wgpu-types", - "windows 0.58.0", - "windows-core 0.58.0", ] [[package]] name = "wgpu-types" -version = "27.0.1" +version = "29.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afdcf84c395990db737f2dd91628706cb31e86d72e53482320d368e52b5da5eb" +checksum = "ec2675540fb1a5cfa5ef122d3d5f390e2c75711a0b946410f2d6ac3a0f77d1f6" dependencies = [ "bitflags 2.11.0", "bytemuck", "js-sys", "log", - "thiserror 2.0.18", + "raw-window-handle", "web-sys", ] @@ -5313,16 +5451,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6" -dependencies = [ - "windows-core 0.58.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows" version = "0.61.3" @@ -5376,19 +5504,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-core" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99" -dependencies = [ - "windows-implement 0.58.0", - "windows-interface 0.58.0", - "windows-result 0.2.0", - "windows-strings 0.1.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows-core" version = "0.61.2" @@ -5448,17 +5563,6 @@ dependencies = [ "syn", ] -[[package]] -name = "windows-implement" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-implement" version = "0.60.2" @@ -5481,17 +5585,6 @@ dependencies = [ "syn", ] -[[package]] -name = "windows-interface" -version = "0.58.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "windows-interface" version = "0.59.3" @@ -5544,15 +5637,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-result" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e" -dependencies = [ - "windows-targets 0.52.6", -] - [[package]] name = "windows-result" version = "0.3.4" @@ -5571,16 +5655,6 @@ dependencies = [ "windows-link 0.2.1", ] -[[package]] -name = "windows-strings" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10" -dependencies = [ - "windows-result 0.2.0", - "windows-targets 0.52.6", -] - [[package]] name = "windows-strings" version = "0.4.2" @@ -5874,7 +5948,7 @@ dependencies = [ "objc2 0.5.2", "objc2-app-kit 0.2.2", "objc2-foundation 0.2.2", - "objc2-ui-kit", + "objc2-ui-kit 0.2.2", "orbclient", "percent-encoding", "pin-project", diff --git a/Cargo.toml b/Cargo.toml index 9295b1b..2e1b795 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,11 +17,11 @@ bytemuck = { version = "1", features = ["derive"] } clap = { version = "4", features = ["derive"] } cpal = { git = "https://github.com/sidit77/cpal.git", rev = "66ed6be" } directories = "6" -egui = { version = "0.33", features = ["serde"] } -egui_extras = { version = "0.33", features = ["image"] } -egui-notify = "0.21" -egui-winit = "0.33" -egui-wgpu = { version = "0.33", features = ["winit"] } +egui = { version = "0.34", features = ["serde"] } +egui_extras = { version = "0.34", features = ["image"] } +egui-notify = "0.22" +egui-winit = "0.34" +egui-wgpu = { version = "0.34", features = ["winit"] } fxprof-processed-profile = "0.8" fixed = { version = "1.28", features = ["num-traits"] } gilrs = { version = "0.11", features = ["serde-serialize"] } @@ -33,7 +33,7 @@ normpath = "1" notify = "8" num-derive = "0.4" num-traits = "0.2" -object = "0.38" +object = "0.39" oneshot = { version = "0.2", features = ["async", "std"] } pollster = "0.4" rand = "0.10" @@ -46,7 +46,7 @@ thread-priority = "3" tokio = { version = "1", features = ["io-util", "macros", "net", "rt", "sync", "time"] } tracing = { version = "0.1", features = ["release_max_level_info"] } tracing-subscriber = { version = "0.3", features = ["env-filter"] } -wgpu = "27" +wgpu = "29" wholesym = "0.8" winit = { version = "0.30", features = ["serde"] } diff --git a/src/app.rs b/src/app.rs index f100e9c..cc433f7 100644 --- a/src/app.rs +++ b/src/app.rs @@ -385,9 +385,9 @@ impl WgpuState { #[cfg(windows)] let backends = wgpu::Backends::from_env() .unwrap_or((wgpu::Backends::PRIMARY | wgpu::Backends::GL) - wgpu::Backends::VULKAN); - let instance = wgpu::Instance::new(&wgpu::InstanceDescriptor { + let instance = wgpu::Instance::new(wgpu::InstanceDescriptor { backends, - ..wgpu::InstanceDescriptor::default() + ..wgpu::InstanceDescriptor::new_without_display_handle_from_env() }); let adapter = pollster::block_on(instance.request_adapter(&wgpu::RequestAdapterOptions { @@ -441,7 +441,7 @@ impl Viewport { .unwrap() .insert(0, "Selawik".into()); ctx.set_fonts(fonts); - ctx.style_mut(|s| { + ctx.global_style_mut(|s| { s.wrap_mode = Some(TextWrapMode::Extend); s.visuals.menu_corner_radius = Default::default(); s.spacing.scroll = ScrollStyle::thin(); @@ -528,8 +528,8 @@ impl Viewport { fn redraw(&mut self, event_loop: &ActiveEventLoop) -> Option { let mut input = self.state.take_egui_input(&self.window); input.viewports = std::iter::once((ViewportId::ROOT, self.info.clone())).collect(); - let mut output = self.ctx.run(input, |ctx| { - self.app.show(ctx); + let mut output = self.ctx.run_ui(input, |ui| { + self.app.show(ui); }); let clipped_primitives = self.ctx.tessellate(output.shapes, output.pixels_per_point); self.painter.paint_and_update_textures( diff --git a/src/window.rs b/src/window.rs index 3c48d43..9b10a55 100644 --- a/src/window.rs +++ b/src/window.rs @@ -1,7 +1,7 @@ use std::sync::Arc; pub use about::AboutWindow; -use egui::{Context, ViewportBuilder, ViewportId}; +use egui::{Context, Ui, ViewportBuilder, ViewportId}; pub use game::GameWindow; pub use game_screen::DisplayMode; pub use gdb::GdbServerWindow; @@ -33,7 +33,7 @@ pub trait AppWindow { SimId::Player1 } fn initial_viewport(&self) -> ViewportBuilder; - fn show(&mut self, ctx: &Context); + fn show(&mut self, ui: &mut Ui); fn on_init(&mut self, args: InitArgs) { let _ = args; } diff --git a/src/window/about.rs b/src/window/about.rs index d33ac7d..ffc6d69 100644 --- a/src/window/about.rs +++ b/src/window/about.rs @@ -1,4 +1,4 @@ -use egui::{CentralPanel, Context, Image, ViewportBuilder, ViewportId}; +use egui::{CentralPanel, Image, Ui, ViewportBuilder, ViewportId}; use super::AppWindow; @@ -15,8 +15,8 @@ impl AppWindow for AboutWindow { .with_inner_size((300.0, 200.0)) } - fn show(&mut self, ctx: &Context) { - CentralPanel::default().show(ctx, |ui| { + fn show(&mut self, ui: &mut Ui) { + CentralPanel::default().show_inside(ui, |ui| { ui.vertical_centered(|ui| { ui.label("Lemur Virtual Boy Emulator"); ui.label(format!("Version {}", env!("CARGO_PKG_VERSION"))); diff --git a/src/window/game.rs b/src/window/game.rs index e85342a..f121cac 100644 --- a/src/window/game.rs +++ b/src/window/game.rs @@ -13,7 +13,7 @@ use crate::{ }; use anyhow::Context as _; use egui::{ - Align2, Button, CentralPanel, Color32, Context, Frame, MenuBar, TopBottomPanel, Ui, Vec2, + Align2, Button, CentralPanel, Color32, Context, Frame, MenuBar, Panel, Ui, Vec2, ViewportBuilder, ViewportCommand, ViewportId, Window, }; use egui_notify::{Anchor, Toast, Toasts}; @@ -67,7 +67,7 @@ impl GameWindow { } } - fn show_menu(&mut self, ctx: &Context, ui: &mut Ui) { + fn show_menu(&mut self, ui: &mut Ui) { let state = self.client.emulator_state(); let is_ready = self.client.sim_state(self.sim_id) == SimState::Ready; let can_pause = is_ready && state == EmulatorState::Running; @@ -208,7 +208,7 @@ impl GameWindow { pollster::block_on(self.take_screenshot()); } }); - ui.menu_button("Options", |ui| self.show_options_menu(ctx, ui)); + ui.menu_button("Options", |ui| self.show_options_menu(ui)); ui.menu_button("Multiplayer", |ui| { let has_player_2 = self.client.sim_state(SimId::Player2) != SimState::Uninitialized; if self.sim_id == SimId::Player1 @@ -328,7 +328,7 @@ impl GameWindow { Ok(Some(path.display().to_string())) } - fn show_options_menu(&mut self, ctx: &Context, ui: &mut Ui) { + fn show_options_menu(&mut self, ui: &mut Ui) { ui.menu_button("Video", |ui| { ui.menu_button("Screen Size", |ui| { let current_dims = self.config.dimensions; @@ -344,7 +344,7 @@ impl GameWindow { .selectable_button((current_dims - dims).length() < 1.0, label) .clicked() { - ctx.send_viewport_cmd(ViewportCommand::InnerSize(dims)); + ui.send_viewport_cmd(ViewportCommand::InnerSize(dims)); } } }); @@ -374,7 +374,7 @@ impl GameWindow { let new_proportions = display_mode.proportions(); let scale = new_proportions / old_proportions; if scale != Vec2::new(1.0, 1.0) { - ctx.send_viewport_cmd(ViewportCommand::InnerSize(current_dims * scale)); + ui.send_viewport_cmd(ViewportCommand::InnerSize(current_dims * scale)); } self.update_config(|c| { @@ -497,9 +497,9 @@ impl AppWindow for GameWindow { .with_inner_size(self.config.dimensions) } - fn show(&mut self, ctx: &Context) { + fn show(&mut self, ui: &mut Ui) { let dimensions = { - let bounds = ctx.available_rect(); + let bounds = ui.content_rect(); bounds.max - bounds.min }; self.update_config(|c| c.dimensions = dimensions); @@ -509,11 +509,11 @@ impl AppWindow for GameWindow { self.toasts.add(toast); } } - TopBottomPanel::top("menubar") - .exact_height(22.0) - .show(ctx, |ui| { + Panel::top("menubar") + .exact_size(22.0) + .show_inside(ui, |ui| { MenuBar::new().ui(ui, |ui| { - self.show_menu(ctx, ui); + self.show_menu(ui); }); }); if self.color_picker.is_some() { @@ -521,18 +521,18 @@ impl AppWindow for GameWindow { .title_bar(false) .resizable(false) .anchor(Align2::CENTER_CENTER, Vec2::ZERO) - .show(ctx, |ui| { + .show(ui, |ui| { self.show_color_picker(ui); }); } - let frame = Frame::central_panel(&ctx.style()).fill(Color32::BLACK); - CentralPanel::default().frame(frame).show(ctx, |ui| { + let frame = Frame::central_panel(ui.style()).fill(Color32::BLACK); + CentralPanel::default().frame(frame).show_inside(ui, |ui| { if let Some(screen) = self.screen.as_mut() { screen.update(self.config.display_mode, self.config.colors); ui.add(screen); } }); - self.toasts.show(ctx); + self.toasts.show(ui); } fn on_init(&mut self, args: InitArgs) { diff --git a/src/window/game_screen.rs b/src/window/game_screen.rs index adcaf19..6040081 100644 --- a/src/window/game_screen.rs +++ b/src/window/game_screen.rs @@ -53,8 +53,8 @@ impl GameScreen { let render_pipeline_layout = device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor { label: Some("render pipeline layout"), - bind_group_layouts: &[&bind_group_layout], - push_constant_ranges: &[], + bind_group_layouts: &[Some(&bind_group_layout)], + immediate_size: 0, }); let create_render_pipeline = |entry_point: &str| { @@ -92,7 +92,7 @@ impl GameScreen { mask: !0, alpha_to_coverage_enabled: false, }, - multiview: None, + multiview_mask: None, cache: None, }) }; diff --git a/src/window/gdb.rs b/src/window/gdb.rs index e89de02..f999e01 100644 --- a/src/window/gdb.rs +++ b/src/window/gdb.rs @@ -56,10 +56,10 @@ impl AppWindow for GdbServerWindow { .with_inner_size((300.0, 200.0)) } - fn show(&mut self, ctx: &egui::Context) { + fn show(&mut self, ui: &mut egui::Ui) { let port_num: Option = self.port_str.parse().ok(); let status = self.server.status(); - CentralPanel::default().show(ctx, |ui| { + CentralPanel::default().show_inside(ui, |ui| { ui.horizontal(|ui| { if port_num.is_none() { let style = ui.style_mut(); diff --git a/src/window/hotkeys.rs b/src/window/hotkeys.rs index 8e650b6..9ff95b3 100644 --- a/src/window/hotkeys.rs +++ b/src/window/hotkeys.rs @@ -1,6 +1,6 @@ use egui::{ - Button, CentralPanel, Context, Event, KeyboardShortcut, Label, Layout, Slider, Ui, - ViewportBuilder, ViewportId, + Button, CentralPanel, Event, KeyboardShortcut, Label, Layout, Slider, Ui, ViewportBuilder, + ViewportId, }; use egui_extras::{Column, TableBuilder}; @@ -135,8 +135,8 @@ impl AppWindow for HotkeysWindow { .with_inner_size((400.0, 400.0)) } - fn show(&mut self, ctx: &Context) { - CentralPanel::default().show(ctx, |ui| { + fn show(&mut self, ui: &mut Ui) { + CentralPanel::default().show_inside(ui, |ui| { ui.horizontal(|ui| { if ui.button("Use defaults").clicked() { self.shortcuts.reset(); diff --git a/src/window/input.rs b/src/window/input.rs index de23e9b..a58c47e 100644 --- a/src/window/input.rs +++ b/src/window/input.rs @@ -1,6 +1,4 @@ -use egui::{ - Button, CentralPanel, Context, Label, Layout, TopBottomPanel, Ui, ViewportBuilder, ViewportId, -}; +use egui::{Button, CentralPanel, Label, Layout, Panel, Ui, ViewportBuilder, ViewportId}; use egui_extras::{Column, TableBuilder}; use gilrs::{EventType, GamepadId}; use std::sync::RwLock; @@ -172,8 +170,8 @@ impl AppWindow for InputWindow { .with_inner_size((600.0, 400.0)) } - fn show(&mut self, ctx: &Context) { - TopBottomPanel::top("options").show(ctx, |ui| { + fn show(&mut self, ui: &mut Ui) { + Panel::top("options").show_inside(ui, |ui| { ui.horizontal(|ui| { let old_active_tab = self.active_tab; ui.selectable_value(&mut self.active_tab, InputTab::Player1, "Player 1"); @@ -188,7 +186,7 @@ impl AppWindow for InputWindow { } }); }); - CentralPanel::default().show(ctx, |ui| { + CentralPanel::default().show_inside(ui, |ui| { match self.active_tab { InputTab::Player1 => self.show_key_bindings(ui, SimId::Player1), InputTab::Player2 => self.show_key_bindings(ui, SimId::Player2), diff --git a/src/window/profile.rs b/src/window/profile.rs index 5b1c0d5..044538e 100644 --- a/src/window/profile.rs +++ b/src/window/profile.rs @@ -96,10 +96,10 @@ impl AppWindow for ProfileWindow { .with_inner_size((300.0, 200.0)) } - fn show(&mut self, ctx: &egui::Context) { + fn show(&mut self, ui: &mut egui::Ui) { let status = self.profiler.status(); let recording = matches!(status, ProfilerStatus::Recording); - CentralPanel::default().show(ctx, |ui| { + CentralPanel::default().show_inside(ui, |ui| { ui.horizontal_wrapped(|ui| { ui.spacing_mut().item_spacing.x = 0.0; ui.add( @@ -164,7 +164,7 @@ impl AppWindow for ProfileWindow { _ => {} } }); - self.toasts.show(ctx); + self.toasts.show(ui); } fn on_init(&mut self, args: InitArgs) { diff --git a/src/window/terminal.rs b/src/window/terminal.rs index fa04500..6e2c0eb 100644 --- a/src/window/terminal.rs +++ b/src/window/terminal.rs @@ -1,8 +1,7 @@ use std::{collections::VecDeque, sync::mpsc}; use egui::{ - Align, CentralPanel, Context, FontFamily, Label, RichText, ScrollArea, ViewportBuilder, - ViewportId, + Align, CentralPanel, FontFamily, Label, RichText, ScrollArea, Ui, ViewportBuilder, ViewportId, }; use crate::emulator::{EmulatorClient, EmulatorCommand, SimId}; @@ -46,7 +45,7 @@ impl AppWindow for TerminalWindow { .with_inner_size((640.0, 480.0)) } - fn show(&mut self, ctx: &Context) { + fn show(&mut self, ui: &mut Ui) { if let Ok(text) = self.receiver.try_recv() { let mut rest = text.as_str(); while let Some(index) = rest.find('\n') { @@ -61,7 +60,7 @@ impl AppWindow for TerminalWindow { } self.lines.back_mut().unwrap().push_str(rest); } - CentralPanel::default().show(ctx, |ui| { + CentralPanel::default().show_inside(ui, |ui| { ScrollArea::vertical() .stick_to_bottom(true) .auto_shrink([false, false]) diff --git a/src/window/vip/bgmap.rs b/src/window/vip/bgmap.rs index de2d856..33a8927 100644 --- a/src/window/vip/bgmap.rs +++ b/src/window/vip/bgmap.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use egui::{ - Align, CentralPanel, Checkbox, Color32, ComboBox, Context, Image, ScrollArea, Slider, TextEdit, + Align, CentralPanel, Checkbox, Color32, ComboBox, Image, ScrollArea, Slider, TextEdit, TextureOptions, Ui, ViewportBuilder, ViewportId, }; use egui_extras::{Column, Size, StripBuilder, TableBuilder}; @@ -191,8 +191,8 @@ impl AppWindow for BgMapWindow { args.ctx.add_texture_loader(self.loader.clone()); } - fn show(&mut self, ctx: &Context) { - CentralPanel::default().show(ctx, |ui| { + fn show(&mut self, ui: &mut Ui) { + CentralPanel::default().show_inside(ui, |ui| { ui.horizontal_top(|ui| { StripBuilder::new(ui) .size(Size::relative(0.3).at_most(200.0)) diff --git a/src/window/vip/chardata.rs b/src/window/vip/chardata.rs index 61e3960..15fcb70 100644 --- a/src/window/vip/chardata.rs +++ b/src/window/vip/chardata.rs @@ -1,8 +1,8 @@ use std::{fmt::Display, sync::Arc}; use egui::{ - Align, CentralPanel, Color32, ComboBox, Context, Image, ScrollArea, Slider, TextEdit, - TextureOptions, Ui, Vec2, ViewportBuilder, ViewportId, + Align, CentralPanel, Color32, ComboBox, Image, ScrollArea, Slider, TextEdit, TextureOptions, + Ui, Vec2, ViewportBuilder, ViewportId, }; use egui_extras::{Column, Size, StripBuilder, TableBuilder}; use serde::{Deserialize, Serialize}; @@ -255,8 +255,8 @@ impl AppWindow for CharacterDataWindow { args.ctx.add_texture_loader(self.loader.clone()); } - fn show(&mut self, ctx: &Context) { - CentralPanel::default().show(ctx, |ui| { + fn show(&mut self, ui: &mut Ui) { + CentralPanel::default().show_inside(ui, |ui| { ui.horizontal_top(|ui| { StripBuilder::new(ui) .size(Size::relative(0.3).at_most(200.0)) diff --git a/src/window/vip/framebuffer.rs b/src/window/vip/framebuffer.rs index a079d7b..328512d 100644 --- a/src/window/vip/framebuffer.rs +++ b/src/window/vip/framebuffer.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use egui::{ - Align, CentralPanel, Color32, Context, Image, ScrollArea, Slider, TextEdit, TextureOptions, Ui, + Align, CentralPanel, Color32, Image, ScrollArea, Slider, TextEdit, TextureOptions, Ui, ViewportBuilder, ViewportId, }; use egui_extras::{Column, Size, StripBuilder, TableBuilder}; @@ -157,8 +157,8 @@ impl AppWindow for FrameBufferWindow { args.ctx.add_texture_loader(self.loader.clone()); } - fn show(&mut self, ctx: &Context) { - CentralPanel::default().show(ctx, |ui| { + fn show(&mut self, ui: &mut Ui) { + CentralPanel::default().show_inside(ui, |ui| { ui.horizontal_top(|ui| { StripBuilder::new(ui) .size(Size::relative(0.3).at_most(200.0)) diff --git a/src/window/vip/object.rs b/src/window/vip/object.rs index 4ecfb48..71065cf 100644 --- a/src/window/vip/object.rs +++ b/src/window/vip/object.rs @@ -1,7 +1,7 @@ use std::sync::Arc; use egui::{ - Align, CentralPanel, Checkbox, Color32, ComboBox, Context, Image, ScrollArea, Slider, TextEdit, + Align, CentralPanel, Checkbox, Color32, ComboBox, Image, ScrollArea, Slider, TextEdit, TextureOptions, Ui, ViewportBuilder, ViewportId, }; use egui_extras::{Column, Size, StripBuilder, TableBuilder}; @@ -212,8 +212,8 @@ impl AppWindow for ObjectWindow { args.ctx.add_texture_loader(self.loader.clone()); } - fn show(&mut self, ctx: &Context) { - CentralPanel::default().show(ctx, |ui| { + fn show(&mut self, ui: &mut Ui) { + CentralPanel::default().show_inside(ui, |ui| { ui.horizontal_top(|ui| { StripBuilder::new(ui) .size(Size::relative(0.3).at_most(200.0)) diff --git a/src/window/vip/registers.rs b/src/window/vip/registers.rs index 9dd8d2c..a72bfbe 100644 --- a/src/window/vip/registers.rs +++ b/src/window/vip/registers.rs @@ -1,8 +1,8 @@ use std::sync::Arc; use egui::{ - Align, Button, CentralPanel, Checkbox, Color32, Context, Direction, Label, Layout, ScrollArea, - TextEdit, Ui, ViewportBuilder, ViewportId, + Align, Button, CentralPanel, Checkbox, Color32, Direction, Label, Layout, ScrollArea, TextEdit, + Ui, ViewportBuilder, ViewportId, }; use egui_extras::{Column, Size, StripBuilder, TableBuilder}; @@ -644,8 +644,8 @@ impl AppWindow for RegisterWindow { .with_inner_size((800.0, 480.0)) } - fn show(&mut self, ctx: &Context) { - CentralPanel::default().show(ctx, |ui| { + fn show(&mut self, ui: &mut Ui) { + CentralPanel::default().show_inside(ui, |ui| { ScrollArea::vertical().show(ui, |ui| { ui.horizontal_top(|ui| { let width = ui.available_width(); diff --git a/src/window/vip/world.rs b/src/window/vip/world.rs index c97e49f..50373d4 100644 --- a/src/window/vip/world.rs +++ b/src/window/vip/world.rs @@ -1,7 +1,7 @@ use std::{fmt::Display, sync::Arc}; use egui::{ - Align, CentralPanel, Checkbox, Color32, ComboBox, Context, Image, ScrollArea, Slider, TextEdit, + Align, CentralPanel, Checkbox, Color32, ComboBox, Image, ScrollArea, Slider, TextEdit, TextureOptions, Ui, ViewportBuilder, ViewportId, }; use egui_extras::{Column, Size, StripBuilder, TableBuilder}; @@ -527,8 +527,8 @@ impl AppWindow for WorldWindow { args.ctx.add_texture_loader(self.loader.clone()); } - fn show(&mut self, ctx: &Context) { - CentralPanel::default().show(ctx, |ui| { + fn show(&mut self, ui: &mut Ui) { + CentralPanel::default().show_inside(ui, |ui| { ui.horizontal_top(|ui| { StripBuilder::new(ui) .size(Size::relative(0.3).at_most(200.0))