pub struct RichText {Show 15 fields
text: String,
size: Option<f32>,
extra_letter_spacing: f32,
line_height: Option<f32>,
family: Option<FontFamily>,
text_style: Option<TextStyle>,
background_color: Color32,
text_color: Option<Color32>,
code: bool,
strong: bool,
weak: bool,
strikethrough: bool,
underline: bool,
italics: bool,
raised: bool,
}
Expand description
Text and optional style choices for it.
The style choices (font, color) are applied to the entire text.
For more detailed control, use crate::text::LayoutJob
instead.
A RichText
can be used in most widgets and helper functions, e.g. Ui::label
and Ui::button
.
§Example
use egui::{RichText, Color32};
RichText::new("Plain");
RichText::new("colored").color(Color32::RED);
RichText::new("Large and underlined").size(20.0).underline();
Fields§
§text: String
§size: Option<f32>
§extra_letter_spacing: f32
§line_height: Option<f32>
§family: Option<FontFamily>
§text_style: Option<TextStyle>
§background_color: Color32
§text_color: Option<Color32>
§code: bool
§strong: bool
§weak: bool
§strikethrough: bool
§underline: bool
§italics: bool
§raised: bool
Implementations§
§impl RichText
impl RichText
pub fn new(text: impl Into<String>) -> RichText
pub fn is_empty(&self) -> bool
pub fn text(&self) -> &str
pub fn size(self, size: f32) -> RichText
pub fn size(self, size: f32) -> RichText
Select the font size (in points).
This overrides the value from Self::text_style
.
pub fn extra_letter_spacing(self, extra_letter_spacing: f32) -> RichText
pub fn extra_letter_spacing(self, extra_letter_spacing: f32) -> RichText
Extra spacing between letters, in points.
Default: 0.0.
For even text it is recommended you round this to an even number of pixels,
e.g. using crate::Painter::round_to_pixel
.
pub fn line_height(self, line_height: Option<f32>) -> RichText
pub fn line_height(self, line_height: Option<f32>) -> RichText
Explicit line height of the text in points.
This is the distance between the bottom row of two subsequent lines of text.
If None
(the default), the line height is determined by the font.
For even text it is recommended you round this to an even number of pixels,
e.g. using crate::Painter::round_to_pixel
.
pub fn family(self, family: FontFamily) -> RichText
pub fn family(self, family: FontFamily) -> RichText
Select the font family.
This overrides the value from Self::text_style
.
Only the families available in crate::FontDefinitions::families
may be used.
pub fn font(self, font_id: FontId) -> RichText
pub fn font(self, font_id: FontId) -> RichText
Select the font and size.
This overrides the value from Self::text_style
.
pub fn text_style(self, text_style: TextStyle) -> RichText
pub fn text_style(self, text_style: TextStyle) -> RichText
Override the TextStyle
.
pub fn fallback_text_style(self, text_style: TextStyle) -> RichText
pub fn fallback_text_style(self, text_style: TextStyle) -> RichText
Set the TextStyle
unless it has already been set
pub fn heading(self) -> RichText
pub fn heading(self) -> RichText
Use TextStyle::Heading
.
pub fn monospace(self) -> RichText
pub fn monospace(self) -> RichText
Use TextStyle::Monospace
.
pub fn underline(self) -> RichText
pub fn underline(self) -> RichText
Draw a line under the text.
If you want to control the line color, use LayoutJob
instead.
pub fn strikethrough(self) -> RichText
pub fn strikethrough(self) -> RichText
Draw a line through the text, crossing it out.
If you want to control the strikethrough line color, use LayoutJob
instead.
pub fn small_raised(self) -> RichText
pub fn small_raised(self) -> RichText
For e.g. exponents.
pub fn raised(self) -> RichText
pub fn raised(self) -> RichText
Align text to top. Only applicable together with Self::small()
.
pub fn background_color(self, background_color: impl Into<Color32>) -> RichText
pub fn background_color(self, background_color: impl Into<Color32>) -> RichText
Fill-color behind the text.
pub fn color(self, color: impl Into<Color32>) -> RichText
pub fn color(self, color: impl Into<Color32>) -> RichText
Override text color.
If not set, Color32::PLACEHOLDER
will be used,
which will be replaced with a color chosen by the widget that paints the text.
pub fn font_height(&self, fonts: &Fonts, style: &Style) -> f32
pub fn font_height(&self, fonts: &Fonts, style: &Style) -> f32
Read the font height of the selected text style.
pub fn append_to(
self,
layout_job: &mut LayoutJob,
style: &Style,
fallback_font: FontSelection,
default_valign: Align
)
pub fn append_to( self, layout_job: &mut LayoutJob, style: &Style, fallback_font: FontSelection, default_valign: Align )
Append to an existing LayoutJob
Note that the color of the RichText
must be set, or may default to an undesirable color.
§Example
use egui::{Style, RichText, text::LayoutJob, Color32, FontSelection, Align};
let style = Style::default();
let mut layout_job = LayoutJob::default();
RichText::new("Normal")
.color(style.visuals.text_color())
.append_to(
&mut layout_job,
&style,
FontSelection::Default,
Align::Center,
);
RichText::new("Large and underlined")
.color(style.visuals.text_color())
.size(20.0)
.underline()
.append_to(
&mut layout_job,
&style,
FontSelection::Default,
Align::Center,
);
Trait Implementations§
§impl From<RichText> for WidgetText
impl From<RichText> for WidgetText
§fn from(rich_text: RichText) -> WidgetText
fn from(rich_text: RichText) -> WidgetText
impl StructuralPartialEq for RichText
Auto Trait Implementations§
impl Freeze for RichText
impl RefUnwindSafe for RichText
impl Send for RichText
impl Sync for RichText
impl Unpin for RichText
impl UnwindSafe for RichText
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
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request