pub struct Visuals {Show 30 fields
pub dark_mode: bool,
pub override_text_color: Option<Color32>,
pub widgets: Widgets,
pub selection: Selection,
pub hyperlink_color: Color32,
pub faint_bg_color: Color32,
pub extreme_bg_color: Color32,
pub code_bg_color: Color32,
pub warn_fg_color: Color32,
pub error_fg_color: Color32,
pub window_rounding: Rounding,
pub window_shadow: Shadow,
pub window_fill: Color32,
pub window_stroke: Stroke,
pub window_highlight_topmost: bool,
pub menu_rounding: Rounding,
pub panel_fill: Color32,
pub popup_shadow: Shadow,
pub resize_corner_size: f32,
pub text_cursor: TextCursorStyle,
pub clip_rect_margin: f32,
pub button_frame: bool,
pub collapsing_header_frame: bool,
pub indent_has_left_vline: bool,
pub striped: bool,
pub slider_trailing_fill: bool,
pub handle_shape: HandleShape,
pub interact_cursor: Option<CursorIcon>,
pub image_loading_spinners: bool,
pub numeric_color_space: NumericColorSpace,
}
Expand description
Controls the visual style (colors etc) of egui.
You can change the visuals of a Ui
with Ui::visuals_mut
and of everything with crate::Context::set_visuals_of
.
If you want to change fonts, use crate::Context::set_fonts
instead.
Fields§
§dark_mode: bool
If true, the visuals are overall dark with light text. If false, the visuals are overall light with dark text.
NOTE: setting this does very little by itself, this is more to provide a convenient summary of the rest of the settings.
override_text_color: Option<Color32>
Override default text color for all text.
This is great for setting the color of text for any widget.
If text_color
is None
(default), then the text color will be the same as the
foreground stroke color (WidgetVisuals::fg_stroke
)
and will depend on whether or not the widget is being interacted with.
In the future we may instead modulate
the text_color
based on whether or not it is interacted with
so that visuals.text_color
is always used,
but its alpha may be different based on whether or not
it is disabled, non-interactive, hovered etc.
widgets: Widgets
Visual styles of widgets
selection: Selection
§hyperlink_color: Color32
The color used for crate::Hyperlink
,
faint_bg_color: Color32
Something just barely different from the background color.
Used for crate::Grid::striped
.
extreme_bg_color: Color32
Very dark or light color (for corresponding theme). Used as the background of text edits, scroll bars and others things that needs to look different from other interactive stuff.
code_bg_color: Color32
Background color behind code-styled monospaced labels.
warn_fg_color: Color32
A good color for warning text (e.g. orange).
error_fg_color: Color32
A good color for error text (e.g. red).
window_rounding: Rounding
§window_shadow: Shadow
§window_fill: Color32
§window_stroke: Stroke
§window_highlight_topmost: bool
Highlight the topmost window.
panel_fill: Color32
Panel background color
popup_shadow: Shadow
§resize_corner_size: f32
§text_cursor: TextCursorStyle
How the text cursor acts.
clip_rect_margin: f32
Allow child widgets to be just on the border and still have a stroke with some thickness
Show a background behind buttons.
collapsing_header_frame: bool
Show a background behind collapsing headers.
indent_has_left_vline: bool
Draw a vertical lien left of indented region, in e.g. crate::CollapsingHeader
.
striped: bool
Whether or not Grids and Tables should be striped by default (have alternating rows differently colored).
slider_trailing_fill: bool
Show trailing color behind the circle of a Slider
. Default is OFF.
Enabling this will affect ALL sliders, and can be enabled/disabled per slider with Slider::trailing_fill
.
handle_shape: HandleShape
Shape of the handle for sliders and similar widgets.
Changing this will affect ALL sliders, and can be enabled/disabled per slider with Slider::handle_shape
.
interact_cursor: Option<CursorIcon>
Should the cursor change when the user hovers over an interactive/clickable item?
This is consistent with a lot of browser-based applications (vscode, github
all turn your cursor into CursorIcon::PointingHand
when a button is
hovered) but it is inconsistent with native UI toolkits.
image_loading_spinners: bool
Show a spinner when loading an image.
numeric_color_space: NumericColorSpace
How to display numeric color values.
Implementations§
§impl Visuals
impl Visuals
pub fn noninteractive(&self) -> &WidgetVisuals
pub fn text_color(&self) -> Color32
pub fn weak_text_color(&self) -> Color32
pub fn strong_text_color(&self) -> Color32
pub fn window_fill(&self) -> Color32
pub fn window_fill(&self) -> Color32
Window background color.
pub fn window_stroke(&self) -> Stroke
pub fn fade_out_to_color(&self) -> Color32
pub fn fade_out_to_color(&self) -> Color32
When fading out things, we fade the colors towards this.
Trait Implementations§
§impl<'de> Deserialize<'de> for Visuals
impl<'de> Deserialize<'de> for Visuals
§fn deserialize<__D>(
__deserializer: __D
) -> Result<Visuals, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Visuals, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
§impl Serialize for Visuals
impl Serialize for Visuals
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for Visuals
Auto Trait Implementations§
impl Freeze for Visuals
impl RefUnwindSafe for Visuals
impl Send for Visuals
impl Sync for Visuals
impl Unpin for Visuals
impl UnwindSafe for Visuals
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