pub struct Options {Show 13 fields
pub dark_style: Arc<Style>,
pub light_style: Arc<Style>,
pub theme_preference: ThemePreference,
pub fallback_theme: Theme,
pub zoom_factor: f32,
pub zoom_with_keyboard: bool,
pub tessellation_options: TessellationOptions,
pub repaint_on_widget_change: bool,
pub max_passes: NonZeroUsize,
pub screen_reader: bool,
pub warn_on_id_clash: bool,
pub input_options: InputOptions,
pub reduce_texture_memory: bool,
/* private fields */
}Expand description
Some global options that you can read and write.
See also crate::style::DebugOptions.
Fields§
§dark_style: Arc<Style>The default style for new Ui:s in dark mode.
light_style: Arc<Style>The default style for new Ui:s in light mode.
theme_preference: ThemePreferencePreference for selection between dark and light crate::Context::style
as the active style used by all subsequent windows, panels, etc.
Default: ThemePreference::System.
fallback_theme: ThemeWhich theme to use in case Self::theme_preference is ThemePreference::System
and egui fails to detect the system theme.
Default: crate::Theme::Dark.
zoom_factor: f32Global zoom factor of the UI.
This is used to calculate the pixels_per_point
for the UI as pixels_per_point = zoom_fator * native_pixels_per_point.
The default is 1.0. Increase it to make all UI elements larger.
You should call crate::Context::set_zoom_factor
instead of modifying this directly!
zoom_with_keyboard: boolIf true, egui will change the scale of the ui (crate::Context::zoom_factor) when the user
presses Cmd+Plus, Cmd+Minus or Cmd+0, just like in a browser.
This is true by default.
On the web-backend of eframe this is set to false by default,
so that the zoom shortcuts are handled exclusively by the browser,
which will change the native_pixels_per_point (devicePixelRatio).
You can still zoom egui independently by calling crate::Context::set_zoom_factor,
which will be applied on top of the browsers global zoom.
tessellation_options: TessellationOptionsControls the tessellator.
repaint_on_widget_change: boolIf any widget moves or changes id, repaint everything.
It is recommended you keep this OFF, as it may lead to endless repaints for an unknown reason. See (https://github.com/rerun-io/rerun/issues/5018).
max_passes: NonZeroUsizeMaximum number of passes to run in one frame.
Set to 1 for pure single-pass immediate mode.
Set to something larger than 1 to allow multi-pass when needed.
Default is 2. This means sometimes a frame will cost twice as much,
but usually only rarely (e.g. when showing a new panel for the first time).
egui will usually only ever run one pass, even if max_passes is large.
If this is 1, crate::Context::request_discard will be ignored.
Multi-pass is supported by crate::Context::run.
See crate::Context::request_discard for more.
screen_reader: boolThis is a signal to any backend that we want the crate::PlatformOutput::events read out loud.
The only change to egui is that labels can be focused by pressing tab.
Screen readers are an experimental feature of egui, and not supported on all platforms.
eframe only supports it on web.
Consider using AccessKit instead,
which is supported by eframe.
warn_on_id_clash: boolCheck reusing of Ids, and show a visual warning on screen when one is found.
By default this is true in debug builds.
input_options: InputOptionsOptions related to input state handling.
reduce_texture_memory: boolIf true, egui will discard the loaded image data after
the texture is loaded onto the GPU to reduce memory usage.
In modern GPU rendering, the texture data is not required after the texture is loaded.
This is beneficial when using a large number or resolution of images and there is no need to retain the image data, potentially saving a significant amount of memory.
The drawback is that it becomes impossible to serialize the loaded images or render in non-GPU systems.
Default is false.