update sizes for new font size

This commit is contained in:
husky 2025-09-12 18:30:05 -07:00
parent 8c67690099
commit 13e0c9697c

View file

@ -1,9 +1,9 @@
use crate::dev::framebuffer::{fb_clear_area, fb_clearscreen, fb_write_char_array}; use crate::dev::framebuffer::{fb_clear_area, fb_clearscreen, fb_write_char_array, CHAR_SIZE};
use crate::spinlock::Spinlock; use crate::spinlock::Spinlock;
use crate::trafficcontrol::TrafficControl; use crate::trafficcontrol::TrafficControl;
pub struct FramebufferConsole { pub struct FramebufferConsole {
pub buffer: [[char; 20]; 15], // our font is 16x16, 320x240 is the standard res, so 20x15 pub buffer: [[char; 26]; 20], // our font is 16x16, 320x240 is the standard res, so 20x15
pub cursor: (usize, usize), // (x, y) pub cursor: (usize, usize), // (x, y)
pub need_screen_clear: bool, pub need_screen_clear: bool,
pub need_line_clear: bool, pub need_line_clear: bool,
@ -14,7 +14,7 @@ pub static FBCONSOLE: Spinlock<FramebufferConsole> = Spinlock::new(FramebufferCo
impl FramebufferConsole { impl FramebufferConsole {
pub const fn empty() -> Self { pub const fn empty() -> Self {
Self { Self {
buffer: [[' '; 20]; 15], buffer: [[' '; 26]; 20],
cursor: (0, 0), cursor: (0, 0),
need_screen_clear: true, need_screen_clear: true,
need_line_clear: false, need_line_clear: false,
@ -27,14 +27,14 @@ impl FramebufferConsole {
let copy_from = self.buffer[line_num + 1]; let copy_from = self.buffer[line_num + 1];
self.buffer[line_num] = copy_from; self.buffer[line_num] = copy_from;
} }
self.buffer[self.buffer.len() - 1] = [' '; 20]; self.buffer[self.buffer.len() - 1] = [' '; 26];
self.need_screen_clear = true; self.need_screen_clear = true;
} }
// DOES send a framebuffer update! // DOES send a framebuffer update!
pub fn clear_terminal(&mut self, tc: &mut TrafficControl) { pub fn clear_terminal(&mut self, tc: &mut TrafficControl) {
self.need_screen_clear = true; self.need_screen_clear = true;
self.buffer = [[' '; 20]; 15]; self.buffer = [[' '; 26]; 20];
self.cursor = (0, 0); self.cursor = (0, 0);
self.render(tc, true); self.render(tc, true);
} }
@ -90,12 +90,12 @@ impl FramebufferConsole {
self.need_screen_clear = false; self.need_screen_clear = false;
} }
if self.need_line_clear { if self.need_line_clear {
fb_clear_area(tc, 0, self.cursor.1 * 16, 320, 16, refresh_whole_screen); fb_clear_area(tc, 0, self.cursor.1 * CHAR_SIZE, 320, CHAR_SIZE, refresh_whole_screen);
self.need_line_clear = false; self.need_line_clear = false;
} }
for (y, line) in self.buffer.iter().enumerate() { for (y, line) in self.buffer.iter().enumerate() {
fb_write_char_array(tc, 0, y * 16, line); fb_write_char_array(tc, 0, y * CHAR_SIZE, line);
} }
} }
} }