Skip to main content

ViewWidget

Struct ViewWidget 

Source
pub struct ViewWidget<'a> { /* private fields */ }
Expand description

A stateless Ratatui widget that draws an Urushi View.

The widget draws into the buffer passed to [Widget::render]. It does not initialize a terminal, read events, or own terminal I/O. Text in the view is plain; ANSI escape sequences are not interpreted inside a Ratatui buffer.

The target Rect supplies the width and height constraints for layout: the view is resolved under those constraints before its cells are written. Its flexible dimensions and overflow therefore follow the layout rules for the target area instead of resolving at the intrinsic size and being cropped afterward. Any part of the target outside the caller’s buffer is masked separately during cell writing.

The widget keeps the cells and discards the anchors, so an anchor in the view draws as the blanks it resolved to. A caller that needs them resolves the view itself and reads ResolvedView::anchors: they belong to one resolution, and resolving again here to hand them back would be a second one.

Implementations§

Source§

impl<'a> ViewWidget<'a>

Source

pub const fn new(view: &'a View) -> Self

Creates a widget that draws view.

Source

pub const fn cell_write_mode(self, mode: CellWriteMode) -> Self

Selects how drawn cells combine with content already in the buffer.

Trait Implementations§

Source§

impl<'a> Clone for ViewWidget<'a>

Source§

fn clone(&self) -> ViewWidget<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for ViewWidget<'a>

Source§

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

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

impl Widget for &ViewWidget<'_>

Source§

fn render(self, area: Rect, buffer: &mut Buffer)

Draws the current state of the widget in the given buffer. That is the only method required to implement a custom widget.
Source§

impl Widget for ViewWidget<'_>

Source§

fn render(self, area: Rect, buffer: &mut Buffer)

Draws the current state of the widget in the given buffer. That is the only method required to implement a custom widget.
Source§

impl<'a> Copy for ViewWidget<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for ViewWidget<'a>

§

impl<'a> !RefUnwindSafe for ViewWidget<'a>

§

impl<'a> Send for ViewWidget<'a>

§

impl<'a> Sync for ViewWidget<'a>

§

impl<'a> Unpin for ViewWidget<'a>

§

impl<'a> UnsafeUnpin for ViewWidget<'a>

§

impl<'a> !UnwindSafe for ViewWidget<'a>

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 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<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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