From d79cedd8da99345947f5b9fcb1ebc3a145cc4112 Mon Sep 17 00:00:00 2001 From: Cory Forsstrom Date: Sat, 24 Jun 2023 18:01:14 -0700 Subject: Add alignment to Viewport --- widget/src/scrollable.rs | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'widget/src/scrollable.rs') diff --git a/widget/src/scrollable.rs b/widget/src/scrollable.rs index 79e5fe3e..3912f445 100644 --- a/widget/src/scrollable.rs +++ b/widget/src/scrollable.rs @@ -577,7 +577,15 @@ pub fn update( content_bounds, ); - notify_on_scroll(state, on_scroll, bounds, content_bounds, shell); + notify_on_scroll( + state, + on_scroll, + bounds, + content_bounds, + horizontal_alignment, + vertical_alignment, + shell, + ); return event::Status::Captured; } @@ -623,6 +631,8 @@ pub fn update( on_scroll, bounds, content_bounds, + horizontal_alignment, + vertical_alignment, shell, ); } @@ -669,6 +679,8 @@ pub fn update( on_scroll, bounds, content_bounds, + horizontal_alignment, + vertical_alignment, shell, ); @@ -705,6 +717,8 @@ pub fn update( on_scroll, bounds, content_bounds, + horizontal_alignment, + vertical_alignment, shell, ); } @@ -746,6 +760,8 @@ pub fn update( on_scroll, bounds, content_bounds, + horizontal_alignment, + vertical_alignment, shell, ); } @@ -782,6 +798,8 @@ pub fn update( on_scroll, bounds, content_bounds, + horizontal_alignment, + vertical_alignment, shell, ); @@ -997,6 +1015,8 @@ fn notify_on_scroll( on_scroll: &Option Message + '_>>, bounds: Rectangle, content_bounds: Rectangle, + horizontal_alignment: Alignment, + vertical_alignment: Alignment, shell: &mut Shell<'_, Message>, ) { if let Some(on_scroll) = on_scroll { @@ -1011,6 +1031,8 @@ fn notify_on_scroll( offset_y: state.offset_y, bounds, content_bounds, + horizontal_alignment, + vertical_alignment, }; // Don't publish redundant viewports to shell @@ -1103,6 +1125,10 @@ pub struct Viewport { pub bounds: Rectangle, /// The content bounds of the [`Scrollable`]. pub content_bounds: Rectangle, + /// The horizontal [`Alignment`] of the [`Scrollable`]. + pub horizontal_alignment: Alignment, + /// The vertical [`Alignment`] of the [`Scrollable`]. + pub vertical_alignment: Alignment, } impl Viewport { -- cgit