Invalidate widget tree in Responsive after a window::Event::Resized
This is a pessimistic approach! Ideally, we should be able to recreate only the contents of the `Responsive` widget in `Widget::layout`, but given `view` is impure we have to trigger a brand new `view` call. The persistent widget tree should make this easier.
This commit is contained in:
parent
a3744ec97a
commit
0e475b008f
1 changed files with 5 additions and 1 deletions
|
|
@ -6,6 +6,7 @@ use iced_native::layout::{self, Layout};
|
|||
use iced_native::mouse;
|
||||
use iced_native::overlay;
|
||||
use iced_native::renderer;
|
||||
use iced_native::window;
|
||||
use iced_native::{
|
||||
Clipboard, Element, Hasher, Length, Point, Rectangle, Shell, Size, Widget,
|
||||
};
|
||||
|
|
@ -100,7 +101,10 @@ where
|
|||
) -> event::Status {
|
||||
let mut internal = self.0.borrow_mut();
|
||||
|
||||
if internal.state.last_size != Some(internal.state.last_layout.size()) {
|
||||
if matches!(event, Event::Window(window::Event::Resized { .. }))
|
||||
|| internal.state.last_size
|
||||
!= Some(internal.state.last_layout.size())
|
||||
{
|
||||
shell.invalidate_widgets();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue