Skip to main content

Splash

Struct Splash 

Source
pub struct Splash {
    pub art: Vec<String>,
    pub tagline: String,
    pub entries: Vec<SplashEntry>,
    pub facts: Vec<String>,
}
Expand description

The start screen, as data.

Fields§

§art: Vec<String>

Wordmark rows, top to bottom. Dropped wholesale when the canvas is too small for them (see Splash::rows).

§tagline: String

The line under the wordmark.

§entries: Vec<SplashEntry>

The menu, in display order.

§facts: Vec<String>

Footer facts — joined with · at render time. Filled by the binary with live values (version, plugin count, theme), so the strip states what this build actually is rather than what a static string once claimed.

Implementations§

Source§

impl Splash

Source

pub fn is_empty(&self) -> bool

Nothing to paint — no art, no tagline, no entries, no facts.

Source

pub fn entry_for(&self, key: char) -> Option<&SplashEntry>

The entry key selects, if any.

Source

pub fn rows(&self, width: u16, height: u16) -> Vec<SplashRow>

Lay the splash out on a width × height canvas.

Degrades rather than overflowing, in a fixed order: the art drops to a one-line wordmark when it does not fit the width, the whole art block drops when it does not fit the height, and the menu truncates from the bottom last. An empty result means the canvas is too small for even the wordmark — the caller paints nothing, never a mangled frame.

Rows are guaranteed to sit inside the canvas: row < height and col + row_width <= width for every row returned.

Source

pub fn screen_chunks(&self, width: u16, height: u16) -> Vec<SplashSpan>

The same layout, flattened into one screen-shaped stream of (text, role) chunks whose concatenation IS the screen — padding and newlines included.

Self::rows suits a face that positions widgets (ratatui); this suits the two that emit a character stream (the ANSI dump and the GPU’s rich-text buffer, which requires a coverage-complete partition). Both derive from rows, so a face can pick the shape it wants without a second layout ever existing.

Trailing blank lines are not emitted — nothing is gained by painting empty rows to the bottom of the canvas.

Trait Implementations§

Source§

impl Clone for Splash

Source§

fn clone(&self) -> Splash

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 Debug for Splash

Source§

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

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

impl Default for Splash

Source§

fn default() -> Splash

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

impl Eq for Splash

Source§

impl PartialEq for Splash

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Splash

Auto Trait Implementations§

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

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

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,