Struct termimad::FmtComposite[][src]

pub struct FmtComposite<'s> {
    pub composite: Composite<'s>,
    pub visible_length: usize,
    pub spacing: Option<Spacing>,
}
Expand description

Wrap a Minimad Composite, which is a list of Compounds (which are strings with an homogeneous style)

Fields

composite: Composite<'s>visible_length: usizespacing: Option<Spacing>

Implementations

impl<'s> FmtComposite<'s>[src]

pub fn new() -> Self[src]

pub fn from(composite: Composite<'s>, skin: &MadSkin) -> Self[src]

pub fn completions(&self) -> (usize, usize)[src]

Return the number of characters (usually spaces) to insert both sides of the composite

pub fn add_compound(&mut self, compound: Compound<'s>)[src]

Add a compound and modifies visible_length accordingly

pub fn recompute_width(&mut self, skin: &MadSkin)[src]

Ensure the cached visible_length is correct.

It’s normally not necessary to call it, but this must be called if compounds are added, removed or modified without using the FmtComposite API

pub fn fit_width(&mut self, width: usize, align: Alignment, skin: &MadSkin)[src]

try to ensure the composite’s width doesn’t exceed the given width.

The alignment can be used, if necessary, to know which side it’s better to remove content (for example if the alignment is left then we remove at right). The fitter may remove a part in the core of the composite if it looks good enough. In this specific case an ellipsis will replace the removed part.

pub fn extend_width(&mut self, width: usize, align: Alignment)[src]

if the composite is smaller than the given width, pad it according to the alignment.

pub fn fill_width(&mut self, width: usize, align: Alignment, skin: &MadSkin)[src]

try to make it so that the composite has exactly the given width, either by shortening it or by adding space.

This calls the fit_width and extend_width methods.

Trait Implementations

impl<'s> Clone for FmtComposite<'s>[src]

fn clone(&self) -> FmtComposite<'s>[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<'s> Debug for FmtComposite<'s>[src]

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

Formats the value using the given formatter. Read more

impl Default for FmtComposite<'_>[src]

fn default() -> Self[src]

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

Auto Trait Implementations

impl<'s> RefUnwindSafe for FmtComposite<'s>

impl<'s> Send for FmtComposite<'s>

impl<'s> Sync for FmtComposite<'s>

impl<'s> Unpin for FmtComposite<'s>

impl<'s> UnwindSafe for FmtComposite<'s>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.