Fix bad rendering of border

This commit is contained in:
Thomas Forgione 2023-10-26 11:40:20 +02:00
parent 14c6db5769
commit 9802c8e740
1 changed files with 12 additions and 10 deletions

View File

@ -289,7 +289,7 @@ impl Tile {
} }
// Autoscroll whene content arrives on stdout // Autoscroll whene content arrives on stdout
self.scroll = self.stdout.len() as isize - 1 - (self.inner_size.1 as isize); self.scroll = self.stdout.len() as isize - 2 - (self.inner_size.1 as isize);
if self.scroll < 0 { if self.scroll < 0 {
self.scroll = 0; self.scroll = 0;
} }
@ -499,15 +499,17 @@ impl Tile {
} }
} }
let mut spaces = format!( if last_line_index <= h {
"{}", let mut spaces = format!(
cursor::Goto(x + max_char_index, y + last_line_index as u16 - scroll) "{}",
); cursor::Goto(x + max_char_index, y + last_line_index as u16 - scroll)
);
for _ in max_char_index..w { for _ in max_char_index..w {
spaces.push(DELETE_CHAR); spaces.push(DELETE_CHAR);
}
buffer.push(spaces);
} }
buffer.push(spaces);
buffer.push(format!("{}", style::Reset)); buffer.push(format!("{}", style::Reset));
buffer.join("") buffer.join("")
@ -522,7 +524,7 @@ impl Tile {
/// Scrolls down one line. /// Scrolls down one line.
pub fn scroll_down(&mut self) { pub fn scroll_down(&mut self) {
if self.scroll + (self.inner_size.1 as isize) < self.stdout.len() as isize - 1 { if self.scroll + (self.inner_size.1 as isize) < self.stdout.len() as isize - 2 {
self.scroll += 1; self.scroll += 1;
} }
} }
@ -534,7 +536,7 @@ impl Tile {
/// Scrolls down one line. /// Scrolls down one line.
pub fn scroll_full_down(&mut self) { pub fn scroll_full_down(&mut self) {
self.scroll = self.stdout.len() as isize - self.inner_size.1 as isize - 1; self.scroll = self.stdout.len() as isize - self.inner_size.1 as isize - 2;
if self.scroll < 0 { if self.scroll < 0 {
self.scroll = 0; self.scroll = 0;
} }