Fix repaint issue

This commit is contained in:
daa
2017-09-09 22:44:28 +03:00
parent 837fcb7b45
commit 47ccbdcec5
2 changed files with 14 additions and 14 deletions

View File

@@ -20,18 +20,9 @@ pub struct Line {
impl Line {
pub fn new(columns: usize) -> Self {
let mut line = Vec::with_capacity(columns);
for _ in 0..columns {
line.push(Cell::new(' '));
}
let mut item_line = Vec::with_capacity(columns);
for _ in 0..columns {
item_line.push(None);
}
Line {
line: line.into_boxed_slice(),
item_line: item_line.into_boxed_slice(),
line: vec![Cell::new(' '); columns].into_boxed_slice(),
item_line: vec![None; columns].into_boxed_slice(),
cell_to_item: vec![-1; columns].into_boxed_slice(),
dirty_line: true,
}
@@ -48,6 +39,12 @@ impl Line {
for cell in &mut self.line[left..right + 1] {
cell.clear();
}
for item in &mut self.item_line[left..right + 1] {
item.clone_from(&None);
}
for i in left..right + 1 {
self.cell_to_item[i] = -1;
}
self.dirty_line = true;
}