pub trait Console {
Show 20 methods fn clear(&mut self, how: ClearType) -> Result<()>; fn color(&mut self, fg: Option<u8>, bg: Option<u8>) -> Result<()>; fn enter_alt(&mut self) -> Result<()>; fn hide_cursor(&mut self) -> Result<()>; fn is_interactive(&self) -> bool; fn leave_alt(&mut self) -> Result<()>; fn locate(&mut self, pos: CharsXY) -> Result<()>; fn move_within_line(&mut self, off: i16) -> Result<()>; fn print(&mut self, text: &str) -> Result<()>; fn poll_key<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Result<Option<Key>>> + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn read_key<'life0, 'async_trait>(
        &'life0 mut self
    ) -> Pin<Box<dyn Future<Output = Result<Key>> + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn show_cursor(&mut self) -> Result<()>; fn size(&self) -> Result<CharsXY>; fn write(&mut self, text: &str) -> Result<()>; fn sync_now(&mut self) -> Result<()>; fn set_sync(&mut self, _enabled: bool) -> Result<()>; fn draw_line(&mut self, _x1y1: PixelsXY, _x2y2: PixelsXY) -> Result<()> { ... } fn draw_pixel(&mut self, _xy: PixelsXY) -> Result<()> { ... } fn draw_rect(&mut self, _x1y1: PixelsXY, _x2y2: PixelsXY) -> Result<()> { ... } fn draw_rect_filled(
        &mut self,
        _x1y1: PixelsXY,
        _x2y2: PixelsXY
    ) -> Result<()> { ... }
}
Expand description

Hooks to implement the commands that manipulate the console.

Required Methods

Clears the part of the console given by how.

Sets the console’s foreground and background colors to fg and bg.

If any of the colors is None, the color is left unchanged.

Enters the alternate console.

Hides the cursor.

Returns true if the console is attached to an interactive terminal. This controls whether reading a line echoes back user input, for example.

Leaves the alternate console.

Moves the cursor to the given position, which must be within the screen.

Moves the cursor within the line. Positive values move right, negative values move left.

Writes text to the console, followed by a newline or CRLF pair depending on the needs of the console to advance a line.

The input text is not supposed to contain any control characters, such as CR or LF.

Returns the next key press if any is available.

Waits for and returns the next key press.

Shows the cursor.

Queries the size of the console.

The returned position represents the first row and column that lay outside of the console.

Writes the text into the console at the position of the cursor.

Causes any buffered output to be synced.

This is a no-op when video syncing is enabled because output is never buffered in that case.

Enables or disables video syncing.

When enabled, all graphical operations immediately updated the rendering target, which is useful for interactive behavior because we want to see an immediate response. When disabled, all operations are buffered, which is useful for scripts (as otherwise rendering is too slow).

Flushes any pending updates when enabled.

Provided Methods

Draws a line from _x1y1 to _x2y2 using the current drawing color.

Draws a single pixel at _xy using the current drawing color.

Draws the outline of a rectangle from _x1y1 to _x2y2 using the current drawing color.

Draws a filled rectangle from _x1y1 to _x2y2 using the current drawing color.

Implementors