Skip to main content

TextSpan

Struct TextSpan 

Source
pub struct TextSpan {
    pub start: u32,
    pub length: u32,
    pub type_role: Option<TypeRole>,
    pub color: Option<Paint>,
    pub background: Option<Paint>,
    pub bold: bool,
    pub italic: bool,
    pub underline: bool,
    pub strikethrough: bool,
    pub on_click: Option<u64>,
}
Expand description

One run, given in bytes into the string rather than characters.

Bytes because that is what the string is measured in on both sides, and a character count would have to be recomputed against a UTF-8 buffer at every use.

Fields§

§start: u32§length: u32§type_role: Option<TypeRole>§color: Option<Paint>§background: Option<Paint>

What is painted behind this run’s letters, and only behind them.

The word that actually changed inside a changed line is what this is for: the line is the node’s own background, and this marks the part of it that differs. A run that wraps is painted on each line it reaches. There is no shape and no inset, because nothing yet needs one, and when something does it is the design system’s to say.

§bold: bool§italic: bool§underline: bool§strikethrough: bool§on_click: Option<u64>

The handler a press on this run reports to, if it is a link.

Implementations§

Source§

impl TextSpan

Source

pub const fn new(start: u32, length: u32) -> Self

A run of the given bytes with nothing said about it yet.

Source

pub const fn bold(self) -> Self

Source

pub const fn italic(self) -> Self

Source

pub const fn underline(self) -> Self

Source

pub const fn strikethrough(self) -> Self

Source

pub const fn with_role(self, role: TypeRole) -> Self

Source

pub const fn with_color(self, color: Paint) -> Self

Source

pub const fn with_background(self, background: Paint) -> Self

Paints behind this run. A role first, as everywhere else a colour is taken: the diff’s word backgrounds are roles, so they follow the scheme and the system.

Trait Implementations§

Source§

impl Clone for TextSpan

Source§

fn clone(&self) -> Self

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 Copy for TextSpan

Source§

impl Debug for TextSpan

Source§

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

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

impl Default for TextSpan

Source§

fn default() -> Self

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

impl PartialEq for TextSpan

Source§

fn eq(&self, other: &Self) -> 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 TextSpan

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 = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.