Avoid continuous redrawing during horizontal gesture

This commit is contained in:
Ivan Molodetskikh
2024-04-14 14:29:41 +04:00
parent f8412ecff3
commit 568fbe26fe
2 changed files with 16 additions and 1 deletions
+12
View File
@@ -213,6 +213,10 @@ impl OutputId {
}
impl ViewOffsetAdjustment {
pub fn is_animation(&self) -> bool {
matches!(self, Self::Animation(_))
}
pub fn target_view_offset(&self) -> f64 {
match self {
ViewOffsetAdjustment::Animation(anim) => anim.to(),
@@ -307,6 +311,14 @@ impl<W: LayoutElement> Workspace<W> {
}
pub fn are_animations_ongoing(&self) -> bool {
self.view_offset_adj
.as_ref()
.is_some_and(|s| s.is_animation())
|| self.columns.iter().any(Column::are_animations_ongoing)
|| !self.closing_windows.is_empty()
}
pub fn are_transitions_ongoing(&self) -> bool {
self.view_offset_adj.is_some()
|| self.columns.iter().any(Column::are_animations_ongoing)
|| !self.closing_windows.is_empty()