Struct termion::screen::AlternateScreen

source ·
pub struct AlternateScreen<W: Write> { /* private fields */ }
Expand description

A terminal restorer, which wraps a type implementing Write, and causes all writes to be written to an alternate screen.

This is achieved by switching the terminal to the alternate screen on creation and automatically switching it back to the original screen on drop.

Implementations§

source§

impl<W: Write> AlternateScreen<W>

source

pub fn from(output: W) -> Self

Create an alternate screen wrapper struct for the provided output and switch the terminal to the alternate screen.

Trait Implementations§

source§

impl<W: Write> Deref for AlternateScreen<W>

§

type Target = W

The resulting type after dereferencing.
source§

fn deref(&self) -> &W

Dereferences the value.
source§

impl<W: Write> DerefMut for AlternateScreen<W>

source§

fn deref_mut(&mut self) -> &mut W

Mutably dereferences the value.
source§

impl<W: Write> Drop for AlternateScreen<W>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<W: Write> Write for AlternateScreen<W>

source§

fn write(&mut self, buf: &[u8]) -> Result<usize>

Write a buffer into this writer, returning how many bytes were written. Read more
source§

fn flush(&mut self) -> Result<()>

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
1.36.0 · source§

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

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

fn is_write_vectored(&self) -> bool

🔬This is a nightly-only experimental API. (can_vector)
Determines if this Writer has an efficient write_vectored implementation. Read more
1.0.0 · source§

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

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

fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

🔬This is a nightly-only experimental API. (write_all_vectored)
Attempts to write multiple buffers into this writer. Read more
1.0.0 · source§

fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

Writes a formatted string into this writer, returning any error encountered. Read more
1.0.0 · source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Creates a “by reference” adapter for this instance of Write. Read more

Auto Trait Implementations§

§

impl<W> Freeze for AlternateScreen<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for AlternateScreen<W>
where W: RefUnwindSafe,

§

impl<W> Send for AlternateScreen<W>
where W: Send,

§

impl<W> Sync for AlternateScreen<W>
where W: Sync,

§

impl<W> Unpin for AlternateScreen<W>
where W: Unpin,

§

impl<W> UnwindSafe for AlternateScreen<W>
where W: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<W> DetectColors for W
where W: Write,

source§

fn available_colors(&mut self) -> Result<u16, Error>

How many ANSI colors are supported (from 8 to 256)? Read more
source§

impl<W> DetectCursorPos for W
where W: Write,

source§

fn cursor_pos(&mut self) -> Result<(u16, u16), Error>

Get the (1,1)-based cursor position from the terminal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<W> IntoRawMode for W
where W: Write,

source§

fn into_raw_mode(self) -> Result<RawTerminal<W>, Error>

Switch to raw mode. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.