From 4e46c45bcfbd0a251e779165f7e703658b03208e Mon Sep 17 00:00:00 2001 From: Aleksander Date: Tue, 29 Jul 2025 22:12:01 +0200 Subject: [PATCH] wgui: Refactoring, various changes (see desc) - use parking_lot for mutex (less restrictive and easier to use) - simplify event callbacks and widget type casting - defer component initialization at start (required for setting the initial state of sliders) - fix non-working scroll events - update testbed.xml - replace slider with the real one in bar.xml - show slider text on its handle --- Cargo.lock | 1 + uidev/assets/gui/dashboard.xml | 2 +- uidev/assets/gui/testbed.xml | 152 +++++++++-------- uidev/assets/gui/wlx_theme.xml | 3 - wgui/Cargo.toml | 1 + wgui/src/animation.rs | 8 +- wgui/src/components/button.rs | 44 +++-- wgui/src/components/mod.rs | 18 +- wgui/src/components/slider.rs | 149 ++++++++++------- wgui/src/drawing.rs | 2 +- wgui/src/event.rs | 47 ++---- wgui/src/layout.rs | 129 +++++++++++---- wgui/src/renderer_vk/context.rs | 4 +- wgui/src/renderer_vk/text/mod.rs | 7 +- wgui/src/widget/mod.rs | 154 ++++++++++-------- wgui/src/widget/sprite.rs | 2 +- wgui/src/widget/text.rs | 8 +- wlx-overlay-s/src/assets/gui/bar.xml | 15 +- wlx-overlay-s/src/gui/panel.rs | 4 +- .../src/overlays/keyboard/builder.rs | 24 ++- wlx-overlay-s/src/overlays/watch.rs | 10 +- 21 files changed, 450 insertions(+), 334 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cdf6836..3b72c5b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5644,6 +5644,7 @@ dependencies = [ "log", "lru", "ouroboros", + "parking_lot", "regex", "resvg", "roxmltree 0.20.0", diff --git a/uidev/assets/gui/dashboard.xml b/uidev/assets/gui/dashboard.xml index d6cd65c..9de986f 100644 --- a/uidev/assets/gui/dashboard.xml +++ b/uidev/assets/gui/dashboard.xml @@ -11,7 +11,7 @@ -
+