diff --git a/wgui/src/layout.rs b/wgui/src/layout.rs index ce8ffb2..db8440b 100644 --- a/wgui/src/layout.rs +++ b/wgui/src/layout.rs @@ -296,8 +296,14 @@ impl Layout { }, )?; let root_size = self.tree.layout(self.root_node).unwrap().size; + log::debug!( + "content size {:.0}x{:.0} → {:.0}x{:.0}", + self.content_size.x, + self.content_size.y, + root_size.width, + root_size.height + ); self.content_size = vec2(root_size.width, root_size.height); - log::error!("ContentSize: {:?}", self.content_size); } Ok(()) } diff --git a/wgui/src/widget/mod.rs b/wgui/src/widget/mod.rs index 4181375..54659db 100644 --- a/wgui/src/widget/mod.rs +++ b/wgui/src/widget/mod.rs @@ -297,15 +297,18 @@ impl WidgetState { ) -> EventResult { let hovered = event.test_mouse_within_transform(params.transform_stack.get()); + // buttons don't need to be tracked separately as long as we stick to VR use. let mut pressed_changed_button = None; let mut hovered_changed = false; match &event { Event::MouseDown(e) => { - pressed_changed_button = self - .data - .set_device_pressed(e.device, true) - .then_some(e.button); + if hovered { + pressed_changed_button = self + .data + .set_device_pressed(e.device, true) + .then_some(e.button); + } } Event::MouseUp(e) => { pressed_changed_button = self @@ -314,7 +317,7 @@ impl WidgetState { .then_some(e.button); } Event::MouseWheel(e) => { - if self.process_wheel(params, e) { + if hovered && self.process_wheel(params, e) { return EventResult::Consumed; } } diff --git a/wlx-overlay-s/src/assets/keyboard.xml b/wlx-overlay-s/src/assets/gui/keyboard.xml similarity index 87% rename from wlx-overlay-s/src/assets/keyboard.xml rename to wlx-overlay-s/src/assets/gui/keyboard.xml index d211355..38750a3 100644 --- a/wlx-overlay-s/src/assets/keyboard.xml +++ b/wlx-overlay-s/src/assets/gui/keyboard.xml @@ -1,11 +1,12 @@ +