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
|
|
@ -141,14 +141,14 @@ where
|
|||
if matches!(event, Event::Mouse(_) | Event::Touch(_)) {
|
||||
return event::Status::Captured;
|
||||
}
|
||||
} else if let Some(on_close) = self.on_close.clone() {
|
||||
} else if let Some(on_close) = self.on_close.as_ref() {
|
||||
if matches!(
|
||||
event,
|
||||
Event::Mouse(mouse::Event::ButtonPressed(_))
|
||||
| Event::Touch(touch::Event::FingerPressed { .. })
|
||||
) && !cursor_position.is_over(layout.bounds())
|
||||
{
|
||||
shell.publish(on_close);
|
||||
shell.publish(on_close.clone());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue