Skip to main content

TextView

Struct TextView 

Source
pub struct TextView { /* private fields */ }
Expand description

A declarative description of a run of text.

Content does not read application state in v0 — the build closure interpolates the string and hands the finished text in. Styling is applied with the TextView::size/TextView::color/TextView::weight/ TextView::family/TextView::italic/TextView::letter_spacing/ TextView::line_height/TextView::align builder methods, or in bulk with TextView::style. TextView::themed_role and TextView::themed_family instead defer the color and the font family to the active theme, resolved at layout.

TextView::align positions each wrapped line within the layout’s width (centre/right-aligned paragraphs, not just the block’s own position within its parent). It applies to this static leaf only; a live-edited TextInput’s text is always start-aligned — see frust_text::TextEditor’s docs.

Implementations§

Source§

impl TextView

Source

pub fn size(self, size: f32) -> TextView

Set the font size, in logical pixels.

Source

pub fn color(self, color: AlphaColor<Srgb>) -> TextView

Set the glyph fill color. Marks the color as explicitly set, so it wins over any themed default (explicit > theme > fallback).

Source

pub fn weight(self, weight: FontWeight) -> TextView

Set the font weight.

Source

pub fn family(self, family: FontFamily) -> TextView

Set the font family (or fallback stack). Marks the family as explicitly set, so it wins over any Self::themed_family role.

Source

pub fn italic(self) -> TextView

Set the font style to italic.

Source

pub fn letter_spacing(self, letter_spacing: f32) -> TextView

Set the extra spacing between letters, in logical pixels.

Source

pub fn line_height(self, line_height: LineHeight) -> TextView

Set the line height.

Source

pub fn align(self, align: TextAlign) -> TextView

Set the paragraph alignment (start/center/end/left/right/justify).

Only visible once the text wraps to more than one line under a bounded width — a single-line layout’s width already equals the line’s own content width, so every alignment renders identically to the default (TextAlign::Start).

Source

pub fn style(self, style: TextStyle) -> TextView

Replace the whole style in one call. Treated as an explicit color and family choice (the supplied style carries its own of both), so it wins over the themed color default and any Self::themed_family role.

Source

pub fn max_lines(self, max_lines: usize) -> TextView

Cap the rendered line count. Content past the limit is handled per Self::overflow (default TextOverflow::Clip: extra lines are dropped, nothing else changes). 0 renders nothing.

Source

pub fn overflow(self, overflow: TextOverflow) -> TextView

Set how content past Self::max_lines is handled. A no-op without max_lines set — there is nothing to overflow past.

Source

pub fn themed_role(self, role: ThemeTextColor) -> TextView

Set the themed default color role used when no explicit color was set (e.g. crate::Button labels its text ThemeTextColor::OnPrimary so it reads against the primary-filled button).

Part of the widget-authoring toolkit (see crate::authoring): it stays an inherent method here — an inherent impl cannot be added from another crate — while the role enum itself is re-exported from authoring.

Source

pub fn themed_family(self, role: ThemeTextType) -> TextView

Resolve the font family from the active theme’s type_scale slot role at layout — the family only; size, weight, line height and tracking stay as this view sets them (see ThemeTextType).

Opt-in: a text without it keeps its style’s own family. An explicit Self::family/Self::style wins regardless of call order, and an explicit Self::color does not affect it — color and family resolve independently. With no theme threaded in, the style’s own family is used unchanged.

Part of the widget-authoring toolkit (see crate::authoring), alongside Self::themed_role.

Trait Implementations§

Source§

impl<State> View<State> for TextView
where State: 'static,

Source§

type Element = TextWidget

The retained widget this view produces.
Source§

fn build(&self, _ctx: &mut BuildCtx<'_>) -> TextWidget

Materialise a fresh widget for this view.
Source§

fn rebuild( &self, prev: &TextView, element: &mut TextWidget, _ctx: &mut BuildCtx<'_>, ) -> ChangeFlags

Reconcile prev (the previous view of the same type) against the live element, mutating it in place and reporting what changed.
Source§

fn teardown(&self, _element: &mut Self::Element, _ctx: &mut BuildCtx<'_>)

Tear down element when this view is being removed. Read more
Source§

fn message(&self, _element: &mut Self::Element, _state: &mut State)

Deliver an event message to this view, mutating application state. Read more

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

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

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send> ⓘ

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

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

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T> StorageAccess<T> for T

Source§

fn as_borrowed(&self) -> &T

Borrows the value.
Source§

fn into_taken(self) -> T

Takes the value.
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.
Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,

Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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