perf: reduce memory allocations
This also changes `widget::column::with_children` and `widget::row::with_children` to take an `impl IntoIterator` instead of a `Vec`, like the `iced` variants of these functions do. This shouldn't be a breaking change since passing in a `Vec` will still compile and function exactly as before. (Using `iced::widget::Column::from_vec` or `iced::widget::Row::from_vec` isn't possible, since the elements of the `Vec` aren't checked, so the size of the resulting `Column` or `Row` won't adapt to the size of its children. Perhaps a new function could be added to mirror `iced`'s?)
This commit is contained in:
parent
840ef21e4d
commit
bd438a8581
20 changed files with 83 additions and 88 deletions
|
|
@ -274,7 +274,7 @@ where
|
|||
self.on_dnd_drop = Some(Box::new(move |entity, data, mime, action| {
|
||||
dnd_drop_handler(entity, D::try_from((data, mime)).ok(), action)
|
||||
}));
|
||||
self.mimes = D::allowed().iter().cloned().collect();
|
||||
self.mimes = D::allowed().into_owned();
|
||||
self
|
||||
}
|
||||
|
||||
|
|
@ -1867,7 +1867,7 @@ fn draw_icon<Message: 'static>(
|
|||
});
|
||||
|
||||
Widget::<Message, crate::Theme, Renderer>::draw(
|
||||
Element::<Message>::from(icon.clone()).as_widget(),
|
||||
Element::<Message>::from(icon).as_widget(),
|
||||
&Tree::empty(),
|
||||
renderer,
|
||||
theme,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue