aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/display/damage.rs
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty/src/display/damage.rs')
-rw-r--r--alacritty/src/display/damage.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/alacritty/src/display/damage.rs b/alacritty/src/display/damage.rs
index 450643b7..8efe0133 100644
--- a/alacritty/src/display/damage.rs
+++ b/alacritty/src/display/damage.rs
@@ -189,6 +189,15 @@ impl FrameDamage {
self.lines.push(LineDamageBounds::undamaged(line, num_cols));
}
}
+
+ /// Check if a range is damaged.
+ #[inline]
+ pub fn intersects(&self, start: Point<usize>, end: Point<usize>) -> bool {
+ self.full
+ || self.lines[start.line].left <= start.column
+ || self.lines[end.line].right >= end.column
+ || (start.line + 1..end.line).any(|line| self.lines[line].is_damaged())
+ }
}
/// Convert viewport `y` coordinate to [`Rect`] damage coordinate.