From f6f9ebbe51544eb2e2c50a0453168447fc08eb75 Mon Sep 17 00:00:00 2001 From: shadow cat Date: Thu, 20 Nov 2025 15:56:00 -0500 Subject: [PATCH] tuple gaming --- src/core/position/align.rs | 27 ++++++++------------------- src/layout/orientation/align.rs | 4 ++++ 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/src/core/position/align.rs b/src/core/position/align.rs index 13fe98c..ad00d27 100644 --- a/src/core/position/align.rs +++ b/src/core/position/align.rs @@ -7,31 +7,20 @@ pub struct Aligned { impl Widget for Aligned { fn draw(&mut self, painter: &mut Painter) { - let region = match self.align { - Align { - x: Some(x), - y: Some(y), - } => { - painter - .size(&self.inner) - .to_uivec2() - .align(RegionAlign { x, y }) - } - Align { - x: Some(x), - y: None, - } => { + let region = match self.align.tuple() { + (Some(x), Some(y)) => painter + .size(&self.inner) + .to_uivec2() + .align(RegionAlign { x, y }), + (Some(x), None) => { let x = painter.size_ctx().width(&self.inner).apply_rest().align(x); UiRegion::new(x, UiSpan::FULL) } - Align { - x: None, - y: Some(y), - } => { + (None, Some(y)) => { let y = painter.size_ctx().height(&self.inner).apply_rest().align(y); UiRegion::new(UiSpan::FULL, y) } - Align { x: None, y: None } => UiRegion::FULL, + (None, None) => UiRegion::FULL, }; painter.widget_within(&self.inner, region); } diff --git a/src/layout/orientation/align.rs b/src/layout/orientation/align.rs index adc7fc4..63a2539 100644 --- a/src/layout/orientation/align.rs +++ b/src/layout/orientation/align.rs @@ -24,6 +24,10 @@ impl Align { pub const TOP: CardinalAlign = CardinalAlign::TOP; pub const V_CENTER: CardinalAlign = CardinalAlign::V_CENTER; pub const BOT: CardinalAlign = CardinalAlign::BOT; + + pub fn tuple(&self) -> (Option, Option) { + (self.x, self.y) + } } #[derive(Clone, Copy, PartialEq, Eq)]