Add alignment to Viewport

This commit is contained in:
Cory Forsstrom 2023-06-24 18:01:14 -07:00
parent 905c307f0b
commit d79cedd8da

View file

@ -577,7 +577,15 @@ pub fn update<Message>(
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<Message>(
on_scroll,
bounds,
content_bounds,
horizontal_alignment,
vertical_alignment,
shell,
);
}
@ -669,6 +679,8 @@ pub fn update<Message>(
on_scroll,
bounds,
content_bounds,
horizontal_alignment,
vertical_alignment,
shell,
);
@ -705,6 +717,8 @@ pub fn update<Message>(
on_scroll,
bounds,
content_bounds,
horizontal_alignment,
vertical_alignment,
shell,
);
}
@ -746,6 +760,8 @@ pub fn update<Message>(
on_scroll,
bounds,
content_bounds,
horizontal_alignment,
vertical_alignment,
shell,
);
}
@ -782,6 +798,8 @@ pub fn update<Message>(
on_scroll,
bounds,
content_bounds,
horizontal_alignment,
vertical_alignment,
shell,
);
@ -997,6 +1015,8 @@ fn notify_on_scroll<Message>(
on_scroll: &Option<Box<dyn Fn(Viewport) -> 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<Message>(
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 {