Enum TextRole
pub enum TextRole {
Display,
LargeTitle,
Title,
Heading,
Subheading,
Body,
Label,
Caption,
Reading,
Code,
}Expand description
What a piece of text is. Pick the role; never a pixel size.
| Role | Size / weight / leading at 1× | Use |
|---|---|---|
Display | 34 / 600 / 1.15 | One hero number or name per screen at most |
LargeTitle | 26 / 600 / 1.2 | Top of a content page |
Title | 20 / 600 / 1.25 | Detail title (a message subject, a contact name) |
Heading | 16 / 600 / 1.3 | Section heading |
Subheading | 14 / 600 / 1.35 | Group label inside a section, list section header |
Body | 14 / 400 / 1.45 | Default text |
Label | 13 / 500 / 1.3 | Control labels, row titles in dense lists |
Caption | 12 / 400 / 1.35 | Secondary line, timestamps, metadata |
Reading | 16 / 400 / 1.6, serif | Long-form documents and books |
Code | 13 / 400 / 1.5, mono | Code and terminal |
Hierarchy comes from size and weight plus ink tier. There is no all-caps
or letter-spaced role: a section header is sentence case in
TextRole::Subheading or TextRole::Heading.
Variants§
Implementations§
§impl TextRole
impl TextRole
pub const fn weight(self) -> TextWeight
pub const fn weight(self) -> TextWeight
The role’s own weight, before any .strong() or override.
pub const fn heading_level(self) -> Option<u8>
pub const fn heading_level(self) -> Option<u8>
The screen-reader heading level a role implies: LargeTitle and
Title are level 1, Heading level 2 and Subheading level 3.
Display is a hero value, not a heading.
Trait Implementations§
§impl From<UiTextRole> for TextRole
impl From<UiTextRole> for TextRole
§fn from(value: UiTextRole) -> TextRole
fn from(value: UiTextRole) -> TextRole
Converts to this type from the input type.
impl Copy for TextRole
impl Eq for TextRole
impl StructuralPartialEq for TextRole
Auto Trait Implementations§
impl Freeze for TextRole
impl RefUnwindSafe for TextRole
impl Send for TextRole
impl Sync for TextRole
impl Unpin for TextRole
impl UnsafeUnpin for TextRole
impl UnwindSafe for TextRole
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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.§fn as_any(&self) -> &(dyn Any + 'static)
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.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§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>
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 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>
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> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.