Menu: align tree in MenuBounds
This commit is contained in:
parent
c2aae2e79b
commit
4b8fb4646b
1 changed files with 8 additions and 11 deletions
|
|
@ -248,17 +248,13 @@ impl MenuBounds {
|
||||||
aod: &Aod,
|
aod: &Aod,
|
||||||
bounds_expand: u16,
|
bounds_expand: u16,
|
||||||
parent_bounds: Rectangle,
|
parent_bounds: Rectangle,
|
||||||
|
tree: &mut [Tree],
|
||||||
) -> Self
|
) -> Self
|
||||||
where
|
where
|
||||||
Renderer: renderer::Renderer,
|
Renderer: renderer::Renderer,
|
||||||
{
|
{
|
||||||
let (children_size, child_positions, child_sizes) = get_children_layout(
|
let (children_size, child_positions, child_sizes) =
|
||||||
menu_tree,
|
get_children_layout(menu_tree, renderer, item_width, item_height, tree);
|
||||||
renderer,
|
|
||||||
item_width,
|
|
||||||
item_height,
|
|
||||||
&mut Tree::new(&menu_tree.item),
|
|
||||||
);
|
|
||||||
|
|
||||||
// viewport space parent bounds
|
// viewport space parent bounds
|
||||||
let view_parent_bounds = parent_bounds + overlay_offset;
|
let view_parent_bounds = parent_bounds + overlay_offset;
|
||||||
|
|
@ -809,6 +805,7 @@ fn init_root_menu<Message, Renderer>(
|
||||||
&aod,
|
&aod,
|
||||||
menu.bounds_expand,
|
menu.bounds_expand,
|
||||||
root_bounds,
|
root_bounds,
|
||||||
|
&mut menu.tree.children[i].children,
|
||||||
);
|
);
|
||||||
|
|
||||||
state.active_root = Some(i);
|
state.active_root = Some(i);
|
||||||
|
|
@ -1072,6 +1069,7 @@ where
|
||||||
&aod,
|
&aod,
|
||||||
menu.bounds_expand,
|
menu.bounds_expand,
|
||||||
item_bounds,
|
item_bounds,
|
||||||
|
&mut menu.tree.children[active_root].children,
|
||||||
),
|
),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -1163,7 +1161,7 @@ fn get_children_layout<Message, Renderer>(
|
||||||
renderer: &Renderer,
|
renderer: &Renderer,
|
||||||
item_width: ItemWidth,
|
item_width: ItemWidth,
|
||||||
item_height: ItemHeight,
|
item_height: ItemHeight,
|
||||||
tree: &mut Tree,
|
tree: &mut [Tree],
|
||||||
) -> (Size, Vec<f32>, Vec<Size>)
|
) -> (Size, Vec<f32>, Vec<Size>)
|
||||||
where
|
where
|
||||||
Renderer: renderer::Renderer,
|
Renderer: renderer::Renderer,
|
||||||
|
|
@ -1186,15 +1184,14 @@ where
|
||||||
ItemHeight::Dynamic(d) => menu_tree
|
ItemHeight::Dynamic(d) => menu_tree
|
||||||
.children
|
.children
|
||||||
.iter()
|
.iter()
|
||||||
.zip(tree.children.iter_mut())
|
.map(|mt| {
|
||||||
.map(|(mt, tree)| {
|
|
||||||
let w = mt.item.as_widget();
|
let w = mt.item.as_widget();
|
||||||
match w.height() {
|
match w.height() {
|
||||||
Length::Fixed(f) => Size::new(width, f),
|
Length::Fixed(f) => Size::new(width, f),
|
||||||
Length::Shrink => {
|
Length::Shrink => {
|
||||||
let l_height = w
|
let l_height = w
|
||||||
.layout(
|
.layout(
|
||||||
tree,
|
&mut tree[mt.index],
|
||||||
renderer,
|
renderer,
|
||||||
&Limits::new(Size::ZERO, Size::new(width, f32::MAX)),
|
&Limits::new(Size::ZERO, Size::new(width, f32::MAX)),
|
||||||
)
|
)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue