pub struct Text {
pub content: String,
pub size: Length,
pub color: Color,
pub align: TextAlign,
pub wrap: bool,
pub truncate: bool,
pub font: Option<(String, u16, FontStyle)>,
}Fields§
§content: String§size: LengthFont size as a Length. Resolved against the surface’s logical
viewport at layout time, so a Length::Vmin( 5.0 ) heading scales
with the screen instead of being frozen at a px constant.
color: Color§align: TextAlign§wrap: bool§truncate: boolWhen true (default), overflowing single-line text is truncated
with an ellipsis. When false, the full string is painted even
if it extends past the layout rect — useful for very short
labels (calendar day numbers, day-of-week stubs) where a couple
of pixels of overflow is invisible but “…” is noisy.
font: Option<(String, u16, FontStyle)>Optional (family, weight, style) override resolved through
the active theme’s font registry on every draw. None keeps
the canvas default font (Sora Regular in ltk-theme-default).
Implementations§
Source§impl Text
impl Text
pub fn new(content: impl Into<String>) -> Self
pub fn no_truncate(self) -> Self
Sourcepub fn font(
self,
family: impl Into<String>,
weight: u16,
style: FontStyle,
) -> Self
pub fn font( self, family: impl Into<String>, weight: u16, style: FontStyle, ) -> Self
Set a (family, weight, style) override for this text node.
The triple is resolved through Canvas::font_for at draw
time, so missing weights fall through the registry’s nearest-
match precedence.
Sourcepub fn weight(self, weight: u16) -> Self
pub fn weight(self, weight: u16) -> Self
Shorthand for Self::font when the desired override is just
a weight on the default Sora family (the family ltk-theme- default declares).
pub fn size(self, s: impl Into<Length>) -> Self
pub fn color(self, c: Color) -> Self
pub fn align(self, a: TextAlign) -> Self
pub fn align_center(self) -> Self
Sourcepub fn wrap(self, w: bool) -> Self
pub fn wrap(self, w: bool) -> Self
Enable word-wrapping. With wrap = true the text breaks on
whitespace at max_width and the widget reports the natural
height of all the resulting lines. With wrap = false (the
default) the text stays on one line and is truncated with an
ellipsis when it overflows.
pub fn preferred_size(&self, max_width: f32, canvas: &Canvas) -> (f32, f32)
pub fn draw(&self, canvas: &mut Canvas, rect: Rect, _focused: bool)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Text
impl RefUnwindSafe for Text
impl Send for Text
impl Sync for Text
impl Unpin for Text
impl UnwindSafe for Text
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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.§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.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for 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