pub struct Style {Show 15 fields
pub override_text_style: Option<TextStyle>,
pub override_font_id: Option<FontId>,
pub text_styles: BTreeMap<TextStyle, FontId>,
pub drag_value_text_style: TextStyle,
pub number_formatter: NumberFormatter,
pub wrap: Option<bool>,
pub wrap_mode: Option<TextWrapMode>,
pub spacing: Spacing,
pub interaction: Interaction,
pub visuals: Visuals,
pub animation_time: f32,
pub debug: DebugOptions,
pub explanation_tooltips: bool,
pub url_in_tooltip: bool,
pub always_scroll_the_only_direction: bool,
}
Expand description
Specifies the look and feel of egui.
You can change the visuals of a Ui
with Ui::style_mut
and of everything with crate::Context::set_style
.
If you want to change fonts, use crate::Context::set_fonts
instead.
Fields§
§override_text_style: Option<TextStyle>
If set this will change the default TextStyle
for all widgets.
On most widgets you can also set an explicit text style, which will take precedence over this.
override_font_id: Option<FontId>
If set this will change the font family and size for all widgets.
On most widgets you can also set an explicit text style, which will take precedence over this.
text_styles: BTreeMap<TextStyle, FontId>
The FontFamily
and size you want to use for a specific TextStyle
.
The most convenient way to look something up in this is to use TextStyle::resolve
.
If you would like to overwrite app text_styles
use egui::FontFamily::Proportional;
use egui::FontId;
use egui::TextStyle::*;
// Get current context style
let mut style = (*ctx.style()).clone();
// Redefine text_styles
style.text_styles = [
(Heading, FontId::new(30.0, Proportional)),
(Name("Heading2".into()), FontId::new(25.0, Proportional)),
(Name("Context".into()), FontId::new(23.0, Proportional)),
(Body, FontId::new(18.0, Proportional)),
(Monospace, FontId::new(14.0, Proportional)),
(Button, FontId::new(14.0, Proportional)),
(Small, FontId::new(10.0, Proportional)),
].into();
// Mutate global style with above changes
ctx.set_style(style);
drag_value_text_style: TextStyle
The style to use for DragValue
text.
number_formatter: NumberFormatter
How to format numbers as strings, e.g. in a crate::DragValue
.
You can override this to e.g. add thousands separators.
wrap: Option<bool>
If set, labels, buttons, etc. will use this to determine whether to wrap the text at the
right edge of the Ui
they are in. By default, this is None
.
Note: this API is deprecated, use wrap_mode
instead.
None
: usewrap_mode
insteadSome(true)
: wrap mode defaults tocrate::TextWrapMode::Wrap
Some(false)
: wrap mode defaults tocrate::TextWrapMode::Extend
wrap_mode: Option<TextWrapMode>
If set, labels, buttons, etc. will use this to determine whether to wrap or truncate the
text at the right edge of the Ui
they are in, or to extend it. By default, this is
None
.
None
: follow layout (with may wrap)Some(mode)
: use the specified mode as default
spacing: Spacing
Sizes and distances between widgets
interaction: Interaction
How and when interaction happens.
visuals: Visuals
Colors etc.
animation_time: f32
How many seconds a typical animation should last.
debug: DebugOptions
Options to help debug why egui behaves strangely.
Only available in debug builds.
explanation_tooltips: bool
Show tooltips explaining DragValue
:s etc when hovered.
This only affects a few egui widgets.
url_in_tooltip: bool
Show the URL of hyperlinks in a tooltip when hovered.
always_scroll_the_only_direction: bool
If true and scrolling is enabled for only one direction, allow horizontal scrolling without pressing shift
Implementations§
source§impl Style
impl Style
sourcepub fn interact(&self, response: &Response) -> &WidgetVisuals
pub fn interact(&self, response: &Response) -> &WidgetVisuals
Use this style for interactive things. Note that you must already have a response, i.e. you must allocate space and interact BEFORE painting the widget!
pub fn interact_selectable( &self, response: &Response, selected: bool, ) -> WidgetVisuals
sourcepub fn noninteractive(&self) -> &WidgetVisuals
pub fn noninteractive(&self) -> &WidgetVisuals
Style to use for non-interactive widgets.
sourcepub fn text_styles(&self) -> Vec<TextStyle>
pub fn text_styles(&self) -> Vec<TextStyle>
All known text styles.