Make Overlay aware of viewport

... and unify `Image::float` and `Image::translate`
This commit is contained in:
Héctor Ramón Jiménez 2025-04-26 02:51:32 +02:00
parent a2a7c18c9d
commit 6c51a9579d
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
29 changed files with 121 additions and 56 deletions

View file

@ -366,6 +366,7 @@ where
tree: &'b mut Tree,
layout: Layout<'_>,
renderer: &Renderer,
viewport: &Rectangle,
translation: Vector,
) -> Option<overlay::Element<'b, Message, Theme, Renderer>> {
if let Some(title_bar) = self.title_bar.as_mut() {
@ -380,6 +381,7 @@ where
title_bar_state,
title_bar_layout,
renderer,
viewport,
translation,
) {
Some(overlay) => Some(overlay),
@ -387,6 +389,7 @@ where
body_state,
children.next()?,
renderer,
viewport,
translation,
),
}
@ -395,6 +398,7 @@ where
&mut tree.children[0],
layout,
renderer,
viewport,
translation,
)
}

View file

@ -570,6 +570,7 @@ where
tree: &'b mut Tree,
layout: Layout<'_>,
renderer: &Renderer,
viewport: &Rectangle,
translation: Vector,
) -> Option<overlay::Element<'b, Message, Theme, Renderer>> {
let mut children = layout.children();
@ -588,7 +589,7 @@ where
content
.as_widget_mut()
.overlay(title_state, title_layout, renderer, translation)
.overlay(title_state, title_layout, renderer, viewport, translation)
.or_else(move || {
controls.as_mut().and_then(|controls| {
let controls_layout = children.next()?;
@ -605,6 +606,7 @@ where
compact_state,
compact_layout,
renderer,
viewport,
translation,
)
} else {
@ -612,6 +614,7 @@ where
controls_state,
controls_layout,
renderer,
viewport,
translation,
)
}
@ -620,6 +623,7 @@ where
controls_state,
controls_layout,
renderer,
viewport,
translation,
)
}