Merge pull request #2143 from iced-rs/fix/tooltip-layout-invalidation

Invalidate layout when `Tooltip` changes `overlay`
This commit is contained in:
Héctor Ramón 2023-11-21 19:13:39 +01:00 committed by GitHub
commit 100d15f306
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -157,11 +157,19 @@ where
) -> event::Status {
let state = tree.state.downcast_mut::<State>();
let was_idle = *state == State::Idle;
*state = cursor
.position_over(layout.bounds())
.map(|cursor_position| State::Hovered { cursor_position })
.unwrap_or_default();
let is_idle = *state == State::Idle;
if was_idle != is_idle {
shell.invalidate_layout();
}
self.content.as_widget_mut().on_event(
&mut tree.children[0],
event,
@ -289,7 +297,7 @@ pub enum Position {
Right,
}
#[derive(Debug, Clone, Copy, Default)]
#[derive(Debug, Clone, Copy, PartialEq, Default)]
enum State {
#[default]
Idle,