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<()>
impl TextSpacingMix<()>
sourcepub fn context_vars_set(set: &mut ContextValueSet)
pub fn context_vars_set(set: &mut ContextValueSet)
Insert context variables used by properties in this mix-in.
source§impl<P: WidgetImpl> TextSpacingMix<P>
impl<P: WidgetImpl> TextSpacingMix<P>
sourcepub fn line_height(&self, height: impl IntoVar<LineHeight>)
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>
impl<P: WidgetImpl> TextSpacingMix<P>
sourcepub fn letter_spacing(&self, extra: impl IntoVar<LetterSpacing>)
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>
impl<P: WidgetImpl> TextSpacingMix<P>
sourcepub fn line_spacing(&self, extra: impl IntoVar<LineSpacing>)
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>
impl<P: WidgetImpl> TextSpacingMix<P>
sourcepub fn word_spacing(&self, extra: impl IntoVar<WordSpacing>)
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>
impl<P: WidgetImpl> TextSpacingMix<P>
sourcepub fn tab_length(&self, length: impl IntoVar<TabLength>)
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>
impl<P> Deref for TextSpacingMix<P>
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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