aboutsummaryrefslogtreecommitdiffstats
path: root/src/grid.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/grid.rs')
-rw-r--r--src/grid.rs21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/grid.rs b/src/grid.rs
index 1cc4daf..a546c43 100644
--- a/src/grid.rs
+++ b/src/grid.rs
@@ -179,11 +179,14 @@ impl Grid {
}
}
- pub fn write_contents_formatted(&self, contents: &mut Vec<u8>) {
+ pub fn write_contents_formatted(
+ &self,
+ contents: &mut Vec<u8>,
+ ) -> crate::attrs::Attrs {
write!(
contents,
"{}{}",
- crate::term::Attrs::new(),
+ crate::term::ClearAttrs::new(),
crate::term::ClearScreen::new()
)
.unwrap();
@@ -211,13 +214,17 @@ impl Grid {
write!(contents, "{}", crate::term::MoveTo::new(self.pos))
.unwrap();
}
- }
- pub fn write_contents_diff(&self, contents: &mut Vec<u8>, prev: &Self) {
- write!(contents, "{}", crate::term::Attrs::default()).unwrap();
+ prev_attrs
+ }
+ pub fn write_contents_diff(
+ &self,
+ contents: &mut Vec<u8>,
+ prev: &Self,
+ mut prev_attrs: crate::attrs::Attrs,
+ ) -> crate::attrs::Attrs {
let mut prev_pos = prev.pos;
- let mut prev_attrs = crate::attrs::Attrs::default();
let mut wrapping = false;
for (i, (row, prev_row)) in
self.visible_rows().zip(prev.visible_rows()).enumerate()
@@ -242,6 +249,8 @@ impl Grid {
write!(contents, "{}", crate::term::MoveTo::new(self.pos))
.unwrap();
}
+
+ prev_attrs
}
pub fn erase_all(&mut self, bgcolor: crate::attrs::Color) {