pub struct TextStyle {
pub size: f32,
pub line_height: f32,
pub color: Option<Color>,
pub family: FontFamily,
pub wrap: TextWrap,
pub max_lines: u32,
pub ellipsis: bool,
pub features: FontFeatures,
pub underline: bool,
pub underline_color: Option<Color>,
pub underline_style: UnderlineStyle,
pub strikethrough: bool,
}Fields§
§size: f32§line_height: f32§color: Option<Color>None is “the theme’s foreground” — which is what the schema has
always said this row means (“default foreground when omitted”) and,
since ADR 0019, what it does. Filled in as the text enters the
tree, so nothing downstream of that ever sees a None.
family: FontFamily§wrap: TextWrap§max_lines: u32At most this many lines are laid out; 0 = unlimited.
ellipsis: boolEnd the last line with “…” when the text was cut off. Alone it
means a single line (max_lines 1); with max_lines it clamps.
features: FontFeaturesOpenType features for the shaper; none by default, which is the font’s own defaults (ligatures on, where it has them).
underline: boolA line under every glyph, where the face puts its underline (backlog C22). Paint only: not part of what the text is shaped as.
underline_color: Option<Color>The underline’s own colour; None is the text’s (backlog K4).
underline_style: UnderlineStyleThe underline’s shape: a line, a wave, dots (backlog K4).
strikethrough: boolA line through every glyph, where the face puts its strikeout.
Implementations§
Source§impl TextStyle
impl TextStyle
pub fn new(size: f32) -> TextStyle
pub fn underline(self) -> TextStyle
Sourcepub fn underline_color(self, c: Color) -> TextStyle
pub fn underline_color(self, c: Color) -> TextStyle
An underline in its own colour rather than the text’s — a diagnostic’s red under keyword-coloured text (backlog K4). Turns the underline on.
Sourcepub fn underline_style(self, s: UnderlineStyle) -> TextStyle
pub fn underline_style(self, s: UnderlineStyle) -> TextStyle
An underline of this shape (backlog K4). Turns the underline on.
pub fn strikethrough(self) -> TextStyle
Sourcepub fn features(self, f: FontFeatures) -> TextStyle
pub fn features(self, f: FontFeatures) -> TextStyle
OpenType features for the shaper; see FontFeatures.
pub fn family(self, f: FontFamily) -> TextStyle
pub fn mono(self) -> TextStyle
Sourcepub fn font(self, id: FontId) -> TextStyle
pub fn font(self, id: FontId) -> TextStyle
Shape with a registered font (see FontFamily::Custom).
pub fn line_height(self, lh: f32) -> TextStyle
pub fn wrap(self, wrap: TextWrap) -> TextStyle
Sourcepub fn ellipsis(self) -> TextStyle
pub fn ellipsis(self) -> TextStyle
Truncate with “…” instead of overflowing: a single line unless
max_lines says otherwise.
pub fn color(self, c: Color) -> TextStyle
Sourcepub fn or_fg(self, fg: Color) -> TextStyle
pub fn or_fg(self, fg: Color) -> TextStyle
This style with fg where it named no colour of its own: what the
core stamps on as the text enters the tree, so the shaping caches,
the display list and every binding see a resolved colour and never
the question mark (ADR 0019).
Sourcepub fn color_or_default(&self) -> Color
pub fn color_or_default(&self) -> Color
The colour this style paints in, falling back to what kui painted before there were themes. For the handful of places that hold a style the core never stamped.
Trait Implementations§
impl Copy for TextStyle
impl StructuralPartialEq for TextStyle
Auto Trait Implementations§
impl Freeze for TextStyle
impl RefUnwindSafe for TextStyle
impl Send for TextStyle
impl Sync for TextStyle
impl Unpin for TextStyle
impl UnsafeUnpin for TextStyle
impl UnwindSafe for TextStyle
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.