Struct zng_wgt_text::TextSpacingMix

source ·
pub struct TextSpacingMix<P>(/* private fields */);
Expand description

m Text spacing properties.

All properties in this mixin affects Text! nodes inside the widget where they are set.

See also ParagraphMix<P> for paragraph spacing.

Implementations§

source§

impl TextSpacingMix<()>

source

pub fn context_vars_set(set: &mut ContextValueSet)

Insert context variables used by properties in this mix-in.

source§

impl<P: WidgetImpl> TextSpacingMix<P>

source

pub fn line_height(&self, height: impl IntoVar<LineHeight>)

P Height of each text line. If not set inherits the line_height from the parent widget.

The Default value is computed from the font metrics, ascent - descent + line_gap, this is usually similar to 1.2.em(). Relative values are computed from the default value, so 200.pct() is double the default line height.

The text is vertically centered inside the height.

Sets the LINE_HEIGHT_VAR.

source§

impl<P: WidgetImpl> TextSpacingMix<P>

source

pub fn letter_spacing(&self, extra: impl IntoVar<LetterSpacing>)

P Extra spacing added in between text letters. If not set inherits the letter_spacing from the parent widget.

Letter spacing is computed using the font data, this unit represents extra space added to the computed spacing.

A “letter” is a character glyph cluster, e.g.: a, â, 1, -, .

The Default value signals that letter spacing can be tweaked when text justification is enabled, all other values disable automatic adjustments for justification inside words.

Relative values are computed from the length of the space ' ' character.

This property sets the LETTER_SPACING_VAR context var that affects all inner texts.

source§

impl<P: WidgetImpl> TextSpacingMix<P>

source

pub fn line_spacing(&self, extra: impl IntoVar<LineSpacing>)

P Extra spacing in-between text lines. If not set inherits the line_spacing from the parent widget.

The Default value is zero. Relative values are calculated from the LineHeight, so 50.pct() is half the computed line height. If the text only has one line this property is not used.

Sets the LINE_SPACING_VAR.

source§

impl<P: WidgetImpl> TextSpacingMix<P>

source

pub fn word_spacing(&self, extra: impl IntoVar<WordSpacing>)

P Extra spacing added to the Unicode U+0020 SPACE character. If not set inherits the word_spacing from the parent widget.

Word spacing is done using the space character “advance” as defined in the font, this unit represents extra spacing added to that default spacing.

A “word” is the sequence of characters in-between space characters. This extra spacing is applied per space character not per word, if there are three spaces between words the extra spacing is applied thrice. Usually the number of spaces between words is collapsed to one, see WhiteSpace, resulting in only one extra spacing.

The Default value signals that word spacing can be tweaked when text justification is enabled, all other values disable automatic adjustments for justification. Relative values are computed from the length of the space ' ' character, so a word spacing of 100.pct() visually adds another space in between words.

This property sets the WORD_SPACING_VAR context var that affects all inner widgets.

source§

impl<P: WidgetImpl> TextSpacingMix<P>

source

pub fn tab_length(&self, length: impl IntoVar<TabLength>)

P Length of the TAB character space, relative to the normal space advance.

Is set to 400.pct() by default, so 4 times a space.

Sets the TAB_LENGTH_VAR.

Trait Implementations§

source§

impl<P> Deref for TextSpacingMix<P>

source§

type Target = P

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<P> DerefMut for TextSpacingMix<P>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

§

impl<P> Freeze for TextSpacingMix<P>
where P: Freeze,

§

impl<P> RefUnwindSafe for TextSpacingMix<P>
where P: RefUnwindSafe,

§

impl<P> Send for TextSpacingMix<P>
where P: Send,

§

impl<P> Sync for TextSpacingMix<P>
where P: Sync,

§

impl<P> Unpin for TextSpacingMix<P>
where P: Unpin,

§

impl<P> UnwindSafe for TextSpacingMix<P>
where P: UnwindSafe,

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

impl<T> Same for T

source§

type Output = T

Should always be Self
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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> MaybeSendSync for T

source§

impl<T> StateValue for T
where T: Any + Send + Sync,