sl_console::screen

Struct AlternateScreen

Source
pub struct AlternateScreen<W: ConsoleWrite> { /* 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: ConsoleWrite> 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: ConsoleWrite> ConsoleWrite for AlternateScreen<W>

Source§

fn set_raw_mode(&mut self, mode: bool) -> Result<bool>

Switch the raw mode, true enters raw mode and false exits raw mode. Read more
Source§

fn is_raw_mode(&self) -> bool

True if in raw mode.
Source§

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

Source§

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

Mutably dereferences the value.
Source§

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

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

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

Source§

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

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

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

Flushes 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
Source§

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

Source§

type Target = W

The resulting type after dereferencing.
Source§

fn deref(&self) -> &W

Dereferences the value.

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> ConsoleMouseExt for W
where W: ConsoleWrite,

Source§

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

Turn mouse support on for the console.
Source§

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

Turn mouse support off for the console.
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> RawModeExt for W
where W: ConsoleWrite,

Source§

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

Switch to original (non-raw) mode Read more
Source§

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

Switch to raw mode. Read more
Source§

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

Switch to raw mode. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

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

Source§

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>,

Source§

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.