pub enum ScrollPosition {
    Top,
    AtUnit(ScrollbackBufferPoint),
    Bottom(ScrollbackBufferPoint),
}
Expand description

The position (“viewport”) that the terminal is currently scrolled to.

By default, the terminal starts at the Bottom, such that it will auto-scroll upon new characters being displayed.

Variants§

§

Top

The terminal is scrolled all the way up.

In this position, the terminal screen “viewport” is locked and will NOT auto-scroll down to show any newly-outputted lines of text.

§

AtUnit(ScrollbackBufferPoint)

The terminal is scrolled to a specific point, given by the contained ScrollbackBufferPoint that points to the Unit that will be displayed in the upper-left hand corner of the screen viewport.

In this position, the terminal screen “viewport” is locked and will NOT auto-scroll down to show any newly-outputted lines of text.

§

Bottom(ScrollbackBufferPoint)

The terminal position is scrolled all the way down.

In this position, the terminal screen “viewport” is NOT locked and will auto-scroll down to show any newly-outputted lines of text.

For convenience in calculating the screen viewport, the contained fields are the same as in the AtUnit variant.

In this mode, the contained point must be updated whenever the screen is scrolled down by virtue of a new line being displayed at the bottom. the screen viewport is scrolled up or down.

Trait Implementations§

source§

impl Clone for ScrollPosition

source§

fn clone(&self) -> ScrollPosition

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ScrollPosition

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ScrollPosition

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl PartialEq<ScrollPosition> for ScrollPosition

source§

fn eq(&self, other: &ScrollPosition) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for ScrollPosition

source§

impl Eq for ScrollPosition

source§

impl StructuralEq for ScrollPosition

source§

impl StructuralPartialEq for ScrollPosition

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere 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 Twhere 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.