pub struct Style {
    pub override_text_style: Option<TextStyle>,
    pub override_font_id: Option<FontId>,
    pub text_styles: BTreeMap<TextStyle, FontId>,
    pub wrap: Option<bool>,
    pub spacing: Spacing,
    pub interaction: Interaction,
    pub visuals: Visuals,
    pub animation_time: f32,
    pub debug: DebugOptions,
    pub explanation_tooltips: 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);
wrap: Option<bool>

If set, labels buttons wtc will use this to determine whether or not to wrap the text at the right edge of the Ui they are in. By default this is None.

  • None: follow layout
  • Some(true): default on
  • Some(false): default off
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.

explanation_tooltips: bool

Show tooltips explaining DragValue:s etc when hovered.

This only affects a few egui widgets.

Implementations

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!

Style to use for non-interactive widgets.

All known text styles.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

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

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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

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