From 1ccf9472209de12315187cf7d10b6690574d500e Mon Sep 17 00:00:00 2001 From: Shadow Cat Date: Sat, 20 Dec 2025 01:38:56 -0500 Subject: [PATCH] convenience methods for span --- src/bin/test/main.rs | 6 +++--- src/widget/position/span.rs | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/bin/test/main.rs b/src/bin/test/main.rs index 911e88d..3802e24 100644 --- a/src/bin/test/main.rs +++ b/src/bin/test/main.rs @@ -64,7 +64,7 @@ impl DefaultAppState for Client { let child = image(include_bytes!("assets/sungals.png")) .center() .add_strong(ctx); - span_add(ctx).children.push(child); + span_add(ctx).push(child); }) .sized((150, 150)) .align(Align::BOT_RIGHT); @@ -72,7 +72,7 @@ impl DefaultAppState for Client { let del_button = rect(Color::RED) .radius(30) .on(CursorSense::click(), move |ctx| { - span_add(ctx).children.pop(); + span_add(ctx).pop(); }) .sized((150, 150)) .align(Align::BOT_LEFT); @@ -121,7 +121,7 @@ impl DefaultAppState for Client { let msg_box = text .background(rect(Color::WHITE.darker(0.5))) .add_strong(ctx); - texts(ctx).children.push(msg_box); + texts(ctx).push(msg_box); }) .add(&mut rsc); let text_edit_scroll = ( diff --git a/src/widget/position/span.rs b/src/widget/position/span.rs index 7607ce0..7431b46 100644 --- a/src/widget/position/span.rs +++ b/src/widget/position/span.rs @@ -62,6 +62,14 @@ impl Span { self } + pub fn push(&mut self, w: WidgetHandle) { + self.children.push(w); + } + + pub fn pop(&mut self) -> Option { + self.children.pop() + } + fn len_sum(&mut self, ctx: &mut SizeCtx) -> Len { let gap = self.gap * self.children.len().saturating_sub(1) as f32; self.children.iter().fold(Len::abs(gap), |mut s, id| {