From 389af04bb1eeb597454b596d618089a536174353 Mon Sep 17 00:00:00 2001 From: Kevin Reid Date: Tue, 5 Dec 2023 14:10:13 -0800 Subject: [PATCH] ui: `Label`s should always use middle positioning unless overridden --- all-is-cubes-ui/src/vui/widgets/text.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/all-is-cubes-ui/src/vui/widgets/text.rs b/all-is-cubes-ui/src/vui/widgets/text.rs index 7c2bc8be6..68791322e 100644 --- a/all-is-cubes-ui/src/vui/widgets/text.rs +++ b/all-is-cubes-ui/src/vui/widgets/text.rs @@ -126,7 +126,7 @@ impl Label { self.text.clone(), self.font.clone(), self.positioning - .unwrap_or_else(|| gravity_to_positioning(gravity)), + .unwrap_or_else(|| gravity_to_positioning(gravity, true)), ) } } @@ -167,17 +167,21 @@ fn text_for_widget(text: ArcStr, font: text::Font, positioning: text::Positionin text } -fn gravity_to_positioning(gravity: vui::Gravity) -> text::Positioning { +fn gravity_to_positioning(gravity: vui::Gravity, ignore_y: bool) -> text::Positioning { text::Positioning { x: match gravity.x { vui::Align::Low => text::PositioningX::Left, vui::Align::Center => text::PositioningX::Center, vui::Align::High => text::PositioningX::Right, }, - line_y: match gravity.y { - vui::Align::Low => text::PositioningY::BodyBottom, - vui::Align::Center => text::PositioningY::BodyMiddle, - vui::Align::High => text::PositioningY::BodyTop, + line_y: if ignore_y { + text::PositioningY::BodyMiddle + } else { + match gravity.y { + vui::Align::Low => text::PositioningY::BodyBottom, + vui::Align::Center => text::PositioningY::BodyMiddle, + vui::Align::High => text::PositioningY::BodyTop, + } }, z: match gravity.z { vui::Align::Low | vui::Align::Center => text::PositioningZ::Back,