Struct egui::widget_text::RichText
source · pub struct RichText { /* private fields */ }
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();
Implementations§
source§impl RichText
impl RichText
pub fn new(text: impl Into<String>) -> Self
pub fn is_empty(&self) -> bool
pub fn text(&self) -> &str
sourcepub fn size(self, size: f32) -> Self
pub fn size(self, size: f32) -> Self
Select the font size (in points).
This overrides the value from Self::text_style
.
sourcepub fn extra_letter_spacing(self, extra_letter_spacing: f32) -> Self
pub fn extra_letter_spacing(self, extra_letter_spacing: f32) -> Self
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
.
sourcepub fn line_height(self, line_height: Option<f32>) -> Self
pub fn line_height(self, line_height: Option<f32>) -> Self
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
.
sourcepub fn family(self, family: FontFamily) -> Self
pub fn family(self, family: FontFamily) -> Self
Select the font family.
This overrides the value from Self::text_style
.
Only the families available in crate::FontDefinitions::families
may be used.
sourcepub fn font(self, font_id: FontId) -> Self
pub fn font(self, font_id: FontId) -> Self
Select the font and size.
This overrides the value from Self::text_style
.
sourcepub fn text_style(self, text_style: TextStyle) -> Self
pub fn text_style(self, text_style: TextStyle) -> Self
Override the TextStyle
.
sourcepub fn fallback_text_style(self, text_style: TextStyle) -> Self
pub fn fallback_text_style(self, text_style: TextStyle) -> Self
Set the TextStyle
unless it has already been set
sourcepub fn heading(self) -> Self
pub fn heading(self) -> Self
Use TextStyle::Heading
.
sourcepub fn monospace(self) -> Self
pub fn monospace(self) -> Self
Use TextStyle::Monospace
.
sourcepub fn underline(self) -> Self
pub fn underline(self) -> Self
Draw a line under the text.
If you want to control the line color, use LayoutJob
instead.
sourcepub fn strikethrough(self) -> Self
pub fn strikethrough(self) -> Self
Draw a line through the text, crossing it out.
If you want to control the strikethrough line color, use LayoutJob
instead.
sourcepub fn small_raised(self) -> Self
pub fn small_raised(self) -> Self
For e.g. exponents.
sourcepub fn raised(self) -> Self
pub fn raised(self) -> Self
Align text to top. Only applicable together with Self::small()
.
sourcepub fn background_color(self, background_color: impl Into<Color32>) -> Self
pub fn background_color(self, background_color: impl Into<Color32>) -> Self
Fill-color behind the text.
sourcepub fn color(self, color: impl Into<Color32>) -> Self
pub fn color(self, color: impl Into<Color32>) -> Self
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.
sourcepub 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.
sourcepub 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,
);