Charset

Struct Charset 

Source
pub struct Charset {
    pub space: char,
    pub down_and_left: char,
    pub down_and_right: char,
    pub up_and_left: char,
    pub up_and_right: char,
    pub horizontal: char,
    pub vertical: char,
    pub down_and_horizontal: char,
    pub up_and_horizontal: char,
    pub vertical_and_left: char,
    pub vertical_and_right: char,
    pub vertical_and_horizontal: char,
}
Expand description

A set of characters to use in the diagram.

In most cases, you would use some combination of box-drawing characters.

The rounded_corners character set often looks the best if there is font support, whereas the sharp_corners tends to have more universal font support.

When used in the Style struct, an IOWriter or a FmtWriter expects that these are characters with width exactly 1 when displayed to the terminal. Other characters, such as control characters or double-width characters (mainly those described in Unicode Annex #11) will corrupt the branch diagram.

Fields§

§space: char

The character.

§down_and_left: char

The character.

§down_and_right: char

The character.

§up_and_left: char

The character.

§up_and_right: char

The character.

§horizontal: char

The character.

§vertical: char

The character.

§down_and_horizontal: char

The character.

§up_and_horizontal: char

The character.

§vertical_and_left: char

The character.

§vertical_and_right: char

The character.

§vertical_and_horizontal: char

The character.

Implementations§

Source§

impl Charset

Source

pub const fn style(self) -> Style

Using this character set in a diagram style.

Source

pub const fn rounded_corners() -> Self

The rounded corners character set.

╯ ┴ ╰
┤ ┼ ├ ─
╮ ┬ ╭ │
Source

pub const fn sharp_corners() -> Self

The sharp corners character set.

┘ ┴ └
┤ ┼ ├ ─
┐ ┬ ┌ │
Source

pub const fn doubled_lines() -> Self

The doubled lines character set.

╝ ╩ ╚
╣ ╬ ╠ ═
╗ ╦ ╔ ║
Source

pub const fn invert(self) -> Self

Flip the orientation of the charset vertically.

This swaps the down_* characters with the up_* characters. This is useful when you want to render the branch diagram with the root at the bottom since it will make the branch diagram lines connect correctly when the lines are written in reverse order.

Also see Config::inverted_annotations to modify the layout algorithm to draw annotations correctly.

Trait Implementations§

Source§

impl Clone for Charset

Source§

fn clone(&self) -> Charset

Returns a duplicate 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 Charset

Source§

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

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

impl PartialEq for Charset

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Charset

Source§

impl StructuralPartialEq for Charset

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