Update to latest libcosmic/iced
This commit is contained in:
parent
9b98c20da2
commit
e569e14a99
9 changed files with 640 additions and 552 deletions
|
|
@ -293,7 +293,7 @@ where
|
|||
Length::Fill
|
||||
}
|
||||
|
||||
fn layout(&self, renderer: &Renderer, limits: &Limits) -> Node {
|
||||
fn layout(&self, tree: &mut Tree, renderer: &Renderer, limits: &Limits) -> Node {
|
||||
let min_size = Size {
|
||||
height: TAB_HEIGHT as f32,
|
||||
width: if self.active {
|
||||
|
|
@ -328,6 +328,7 @@ where
|
|||
} else {
|
||||
&self.elements[0..2]
|
||||
},
|
||||
&mut tree.children,
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -84,13 +84,16 @@ where
|
|||
tree.diff_children(std::slice::from_mut(&mut self.text))
|
||||
}
|
||||
|
||||
fn layout(&self, renderer: &Renderer, limits: &Limits) -> Node {
|
||||
fn layout(&self, tree: &mut Tree, renderer: &Renderer, limits: &Limits) -> Node {
|
||||
let limits = limits.width(self.width).height(self.height);
|
||||
let child_limits = Limits::new(
|
||||
Size::new(limits.min().width, limits.min().height - 4.),
|
||||
Size::new(limits.max().width * 2., limits.max().height - 4.),
|
||||
);
|
||||
let mut content = self.text.as_widget().layout(renderer, &child_limits);
|
||||
let mut content =
|
||||
self.text
|
||||
.as_widget()
|
||||
.layout(&mut tree.children[0], renderer, &child_limits);
|
||||
content.move_to(Point::new(0., 2.));
|
||||
let size = limits.resolve(content.size());
|
||||
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ where
|
|||
tree.diff_children(&mut self.elements)
|
||||
}
|
||||
|
||||
fn layout(&self, renderer: &Renderer, limits: &Limits) -> Node {
|
||||
fn layout(&self, tree: &mut Tree, renderer: &Renderer, limits: &Limits) -> Node {
|
||||
let limits = limits.width(self.width).height(self.height);
|
||||
|
||||
// calculate the smallest possible size
|
||||
|
|
@ -372,7 +372,8 @@ where
|
|||
|
||||
let mut nodes = self.elements[2..self.elements.len() - 2]
|
||||
.iter()
|
||||
.map(|tab| tab.as_widget().layout(renderer, &child_limits))
|
||||
.zip(tree.children.iter_mut())
|
||||
.map(|(tab, tab_tree)| tab.as_widget().layout(tab_tree, renderer, &child_limits))
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
// sum up
|
||||
|
|
@ -401,6 +402,7 @@ where
|
|||
0.,
|
||||
cosmic::iced::Alignment::Center,
|
||||
&self.elements[2..self.elements.len() - 2],
|
||||
&mut tree.children[2..self.elements.len() - 2],
|
||||
)
|
||||
.children()
|
||||
.to_vec()
|
||||
|
|
@ -412,7 +414,8 @@ where
|
|||
|
||||
let mut nodes = self.elements[2..self.elements.len() - 3]
|
||||
.iter()
|
||||
.map(|tab| {
|
||||
.zip(tree.children[2..].iter_mut())
|
||||
.map(|(tab, tab_tree)| {
|
||||
let child_limits = Limits::new(
|
||||
Size::new(min_width, limits.min().height),
|
||||
Size::new(f32::INFINITY, limits.max().height),
|
||||
|
|
@ -420,7 +423,7 @@ where
|
|||
.width(Length::Shrink)
|
||||
.height(Length::Shrink);
|
||||
|
||||
let mut node = tab.as_widget().layout(renderer, &child_limits);
|
||||
let mut node = tab.as_widget().layout(tab_tree, renderer, &child_limits);
|
||||
node.move_to(Point::new(offset, 0.));
|
||||
offset += node.bounds().width;
|
||||
node
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue