aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-12-14 02:10:13 -0500
committerJesse Luehrs <doy@tozt.net>2021-12-14 02:10:50 -0500
commitc53651e934f65150069d600622186a2fad1f3d0e (patch)
tree3ff5417a75214082f0880b0d4ffa9277228764f4
parent905da12c2f7802ed842a94192f837d42f9c5f0ca (diff)
downloadvt100-rust-c53651e934f65150069d600622186a2fad1f3d0e.tar.gz
vt100-rust-c53651e934f65150069d600622186a2fad1f3d0e.zip
be a bit smarter about types
-rw-r--r--src/grid.rs16
-rw-r--r--src/row.rs30
2 files changed, 23 insertions, 23 deletions
diff --git a/src/grid.rs b/src/grid.rs
index 3c9b540..7f83b1a 100644
--- a/src/grid.rs
+++ b/src/grid.rs
@@ -76,7 +76,7 @@ impl Grid {
self.size = size;
for row in &mut self.rows {
- row.resize(size.cols as usize, crate::cell::Cell::default());
+ row.resize(size.cols, crate::cell::Cell::default());
}
self.rows.resize(size.rows as usize, self.new_row());
@@ -438,7 +438,7 @@ impl Grid {
let pos = self.pos;
let row = self.current_row_mut();
for col in pos.col..size.cols {
- row.erase(col as usize, attrs);
+ row.erase(col, attrs);
}
}
@@ -447,7 +447,7 @@ impl Grid {
let pos = self.pos;
let row = self.current_row_mut();
for col in 0..=pos.col.min(size.cols - 1) {
- row.erase(col as usize, attrs);
+ row.erase(col, attrs);
}
}
@@ -461,12 +461,12 @@ impl Grid {
if wide {
row.get_mut(pos.col).unwrap().set_wide_continuation(false);
}
- row.insert(pos.col as usize, crate::cell::Cell::default());
+ row.insert(pos.col, crate::cell::Cell::default());
if wide {
row.get_mut(pos.col).unwrap().set_wide_continuation(true);
}
}
- row.truncate(size.cols as usize);
+ row.truncate(size.cols);
}
pub fn delete_cells(&mut self, count: u16) {
@@ -474,9 +474,9 @@ impl Grid {
let pos = self.pos;
let row = self.current_row_mut();
for _ in 0..(count.min(size.cols - pos.col)) {
- row.remove(pos.col as usize);
+ row.remove(pos.col);
}
- row.resize(size.cols as usize, crate::cell::Cell::default());
+ row.resize(size.cols, crate::cell::Cell::default());
}
pub fn erase_cells(&mut self, count: u16, attrs: crate::attrs::Attrs) {
@@ -484,7 +484,7 @@ impl Grid {
let pos = self.pos;
let row = self.current_row_mut();
for col in pos.col..((pos.col.saturating_add(count)).min(size.cols)) {
- row.erase(col as usize, attrs);
+ row.erase(col, attrs);
}
}
diff --git a/src/row.rs b/src/row.rs
index 79db354..4b0b76e 100644
--- a/src/row.rs
+++ b/src/row.rs
@@ -37,37 +37,37 @@ impl Row {
self.cells.get_mut(col as usize)
}
- pub fn insert(&mut self, i: usize, cell: crate::cell::Cell) {
- self.cells.insert(i, cell);
+ pub fn insert(&mut self, i: u16, cell: crate::cell::Cell) {
+ self.cells.insert(i as usize, cell);
self.wrapped = false;
}
- pub fn remove(&mut self, i: usize) {
- self.clear_wide(i.try_into().unwrap());
- self.cells.remove(i);
+ pub fn remove(&mut self, i: u16) {
+ self.clear_wide(i);
+ self.cells.remove(i as usize);
self.wrapped = false;
}
- pub fn erase(&mut self, i: usize, attrs: crate::attrs::Attrs) {
- let wide = self.cells.get_mut(i).unwrap().is_wide();
- self.clear_wide(i.try_into().unwrap());
- self.cells.get_mut(i).unwrap().clear(attrs);
- if i == self.cols() as usize - if wide { 2 } else { 1 } {
+ pub fn erase(&mut self, i: u16, attrs: crate::attrs::Attrs) {
+ let wide = self.cells.get_mut(i as usize).unwrap().is_wide();
+ self.clear_wide(i);
+ self.cells.get_mut(i as usize).unwrap().clear(attrs);
+ if i == self.cols() - if wide { 2 } else { 1 } {
self.wrapped = false;
}
}
- pub fn truncate(&mut self, len: usize) {
- self.cells.truncate(len);
+ pub fn truncate(&mut self, len: u16) {
+ self.cells.truncate(len as usize);
self.wrapped = false;
- let last_cell = self.cells.get_mut(len - 1).unwrap();
+ let last_cell = self.cells.get_mut(len as usize - 1).unwrap();
if last_cell.is_wide() {
last_cell.clear(*last_cell.attrs());
}
}
- pub fn resize(&mut self, len: usize, cell: crate::cell::Cell) {
- self.cells.resize(len, cell);
+ pub fn resize(&mut self, len: u16, cell: crate::cell::Cell) {
+ self.cells.resize(len as usize, cell);
self.wrapped = false;
}