[][src]Struct terminal_escapes::Device

pub struct Device<I: Read, O: Write> { /* fields omitted */ }

A device handling escapes sequences.

Methods

impl<I: Read, O: Write> Device<I, O>[src]

Important traits for Device<I, O>
pub fn new(input: I, output: O) -> Device<I, O>[src]

Create a new device from an input and output.

pub fn cursor_position(&mut self) -> Result<(u32, u32)>[src]

Requests the cursor position on the device.

The output format is (row, column).

pub fn reset(&mut self) -> Result<()>[src]

Reset all terminal settings to default.

pub fn line_wrap(&mut self, enable: bool) -> Result<()>[src]

Enable/disable line wrapping.

pub fn font_default(&mut self) -> Result<()>[src]

Set default font.

pub fn font_alternate(&mut self) -> Result<()>[src]

Set alternate font.

pub fn cursor_at(&mut self, row: u32, column: u32) -> Result<()>[src]

Set the cursor position.

pub fn cursor_move(&mut self, drow: i32, dcolumn: i32) -> Result<()>[src]

Move the cursor position by the given delta.

(0, 0) is at the top left of the screen.

pub fn cursor_save(&mut self) -> Result<()>[src]

Save the cursor position.

pub fn cursor_restore(&mut self) -> Result<()>[src]

Resotre the saved cursor position.

pub fn cursor_save_attributes(&mut self) -> Result<()>[src]

Save the cursor position.

pub fn cursor_restore_attributes(&mut self) -> Result<()>[src]

Resotre the saved cursor position.

pub fn scroll_enable(&mut self, region: Option<(u32, u32)>) -> Result<()>[src]

Enable scrolling.

If None is passed then scrolling is enabled for the whole screen. If Some((start, end)) is passed then scrolling is enabled from row start to end.

pub fn scroll(&mut self, rows: i32) -> Result<()>[src]

Scroll by the given number of rows. Positive rows means scrolling down, negative rows means scrolling up.

pub fn erase_end_of_line(&mut self) -> Result<()>[src]

Erases from the current cursor position to the end of the current line.

pub fn erase_start_of_line(&mut self) -> Result<()>[src]

Erases from the current cursor position to the start of the current line.

pub fn erase_line(&mut self) -> Result<()>[src]

Erases the entire current line.

pub fn erase_down(&mut self) -> Result<()>[src]

Erases the screen from the current line down to the bottom of the screen.

pub fn erase_up(&mut self) -> Result<()>[src]

Erases the screen from the current line up to the top of the screen.

pub fn erase_screen(&mut self) -> Result<()>[src]

Erases the screen with the background colour and moves the cursor to home.

pub fn set_attributes(&mut self, attributes: &[Attribute]) -> Result<()>[src]

Sets display attributes.

Trait Implementations

impl<I: Read, O: Write> Read for Device<I, O>[src]

fn read_vectored(&mut self, bufs: &mut [IoSliceMut]) -> Result<usize, Error>1.36.0[src]

Like read, except that it reads into a slice of buffers. Read more

unsafe fn initializer(&self) -> Initializer[src]

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>1.0.0[src]

Read all bytes until EOF in this source, placing them into buf. Read more

fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>1.0.0[src]

Read all bytes until EOF in this source, appending them to buf. Read more

fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>1.6.0[src]

Read the exact number of bytes required to fill buf. Read more

fn by_ref(&mut self) -> &mut Self1.0.0[src]

Creates a "by reference" adaptor for this instance of Read. Read more

fn bytes(self) -> Bytes<Self>1.0.0[src]

Transforms this Read instance to an [Iterator] over its bytes. Read more

fn chain<R>(self, next: R) -> Chain<Self, R> where
    R: Read
1.0.0[src]

Creates an adaptor which will chain this stream with another. Read more

fn take(self, limit: u64) -> Take<Self>1.0.0[src]

Creates an adaptor which will read at most limit bytes from it. Read more

impl<I: Read, O: Write> Write for Device<I, O>[src]

fn write_vectored(&mut self, bufs: &[IoSlice]) -> Result<usize, Error>1.36.0[src]

Like write, except that it writes from a slice of buffers. Read more

fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>1.0.0[src]

Attempts to write an entire buffer into this writer. Read more

fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>1.0.0[src]

Writes a formatted string into this writer, returning any error encountered. Read more

fn by_ref(&mut self) -> &mut Self1.0.0[src]

Creates a "by reference" adaptor for this instance of Write. Read more

Auto Trait Implementations

impl<I, O> Sync for Device<I, O> where
    I: Sync,
    O: Sync

impl<I, O> Send for Device<I, O> where
    I: Send,
    O: Send

impl<I, O> Unpin for Device<I, O> where
    I: Unpin,
    O: Unpin

impl<I, O> RefUnwindSafe for Device<I, O> where
    I: RefUnwindSafe,
    O: RefUnwindSafe

impl<I, O> UnwindSafe for Device<I, O> where
    I: UnwindSafe,
    O: UnwindSafe

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]