Fix constant repaint in the open overview

This commit is contained in:
Ivan Molodetskikh
2025-12-23 08:51:34 +03:00
parent ad62c8e487
commit 396097c3ab
2 changed files with 8 additions and 3 deletions
+7 -3
View File
@@ -498,6 +498,7 @@ pub enum HitType {
enum OverviewProgress {
Animation(Animation),
Gesture(OverviewGesture),
Open,
}
#[derive(Debug)]
@@ -628,6 +629,7 @@ impl OverviewProgress {
match self {
OverviewProgress::Animation(anim) => anim.value(),
OverviewProgress::Gesture(gesture) => gesture.value,
OverviewProgress::Open => 1.,
}
}
@@ -2648,9 +2650,11 @@ impl<W: LayoutElement> Layout<W> {
}
}
if !self.overview_open {
if let Some(OverviewProgress::Animation(anim)) = &mut self.overview_progress {
if anim.is_done() {
if let Some(OverviewProgress::Animation(anim)) = &mut self.overview_progress {
if anim.is_done() {
if self.overview_open {
self.overview_progress = Some(OverviewProgress::Open);
} else {
self.overview_progress = None;
}
}
+1
View File
@@ -282,6 +282,7 @@ impl From<&super::OverviewProgress> for OverviewProgress {
match value {
super::OverviewProgress::Animation(anim) => Self::Animation(anim.clone()),
super::OverviewProgress::Gesture(gesture) => Self::Value(gesture.value),
super::OverviewProgress::Open => Self::Value(1.),
}
}
}