⚠️ VeridianOS Kernel Documentation - This is low-level kernel code. All functions are unsafe unless explicitly marked otherwise. no_std

ConsoleDevice

Trait ConsoleDevice 

Source
pub trait ConsoleDevice: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn dimensions(&self) -> (usize, usize);
    fn clear(&mut self) -> Result<(), KernelError>;
    fn write_char(
        &mut self,
        x: usize,
        y: usize,
        ch: ConsoleChar,
    ) -> Result<(), KernelError>;
    fn write_string(
        &mut self,
        x: usize,
        y: usize,
        s: &str,
        color: u8,
    ) -> Result<(), KernelError>;
    fn scroll_up(&mut self) -> Result<(), KernelError>;
    fn set_cursor(&mut self, x: usize, y: usize) -> Result<(), KernelError>;
    fn get_cursor(&self) -> (usize, usize);
    fn set_cursor_visible(&mut self, visible: bool) -> Result<(), KernelError>;
}
Expand description

Console device trait

Required Methods§

Source

fn name(&self) -> &str

Get console name

Source

fn dimensions(&self) -> (usize, usize)

Get console dimensions

Source

fn clear(&mut self) -> Result<(), KernelError>

Clear the screen

Source

fn write_char( &mut self, x: usize, y: usize, ch: ConsoleChar, ) -> Result<(), KernelError>

Write a character at position

Source

fn write_string( &mut self, x: usize, y: usize, s: &str, color: u8, ) -> Result<(), KernelError>

Write a string at position

Source

fn scroll_up(&mut self) -> Result<(), KernelError>

Scroll up by one line

Source

fn set_cursor(&mut self, x: usize, y: usize) -> Result<(), KernelError>

Set cursor position

Source

fn get_cursor(&self) -> (usize, usize)

Get cursor position

Source

fn set_cursor_visible(&mut self, visible: bool) -> Result<(), KernelError>

Show/hide cursor

Implementors§