aboutsummaryrefslogtreecommitdiffstats
path: root/src/row.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-06 13:30:50 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-06 13:30:50 -0500
commite21d3005c5ec2304f9f016cd506da93c78da5e51 (patch)
treea525767295c39544cc25926f15dde951abd59e8b /src/row.rs
parentd778408be8b12fcc16a8fcaccde49bef927f22e0 (diff)
downloadvt100-rust-e21d3005c5ec2304f9f016cd506da93c78da5e51.tar.gz
vt100-rust-e21d3005c5ec2304f9f016cd506da93c78da5e51.zip
also add a rows_diff method
Diffstat (limited to 'src/row.rs')
-rw-r--r--src/row.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/row.rs b/src/row.rs
index fb31594..7b2ab99 100644
--- a/src/row.rs
+++ b/src/row.rs
@@ -126,14 +126,21 @@ impl Row {
pub fn contents_diff(
&self,
prev: &Self,
+ start: u16,
+ width: u16,
attrs: crate::attrs::Attrs,
) -> (Vec<u8>, crate::attrs::Attrs, u16) {
let mut skip = 0;
let mut contents = vec![];
let mut prev_attrs = attrs;
let mut final_col = 0;
- for (idx, (cell, prev_cell)) in
- self.cells().zip(prev.cells()).enumerate()
+
+ for (idx, (cell, prev_cell)) in self
+ .cells()
+ .zip(prev.cells())
+ .skip(start as usize)
+ .take(width as usize)
+ .enumerate()
{
if cell == prev_cell {
skip += 1;