Cargo Features
[dependencies]
luminol-eframe = { version = "0.4.0", default-features = false, features = ["glow", "accesskit", "android-game-activity", "android-native-activity", "default_fonts", "persistence", "puffin", "wayland", "web_screen_reader", "wgpu", "x11", "rwh_05", "glutin", "glutin-winit"] }
- default = accesskit, default_fonts, wayland, web_screen_reader, wgpu, x11
-
These default features are set whenever
luminol-eframe
is added without
somewhere in the dependency tree.default-features = false Enables winit ^0.29.4
- glow
-
Dummy features so we don't run into compiler warnings
Affects
epi::CreationContext.gl
,epi::CreationContext.get_proc_address
,epi::App.on_exit
,epi::NativeOptions.shader_version
,epi::WebOptions.webgl_context_option
,run::run_glow
,epi::EventLoopBuilderHook
,epi::WindowBuilderHook
,epi::NativeOptions.renderer
,epi::NativeOptions.event_loop_builder
,epi::NativeOptions.window_builder
,epi::Renderer
,luminol-eframe::run_native
,luminol-eframe::run_simple_native
… - accesskit default
-
Enable platform accessibility API implementations through AccessKit.
Enables accesskit of egui ^0.28.1 and egui-winit ^0.28.1
- android-game-activity
-
Allow crates to choose an android-activity backend via Winit
- It's important that most applications should not have to depend on android-activity directly, and can rely on Winit to pull in a suitable version (unlike most Rust crates, any version conflicts won't link)
- It's also important that we don't impose an android-activity backend by taking this choice away from applications.
Enable the
game-activity
backend viaegui-winit
on AndroidEnables android-game-activity of egui-winit ^0.28.1
- android-native-activity
-
Enable the
native-activity
backend viaegui-winit
on AndroidEnables android-native-activity of egui-winit ^0.28.1
- default_fonts default
-
If set, egui will use
include_bytes!
to bundle some fonts. If you plan on specifying your own fonts you may disable this feature.Enables default_fonts of egui ^0.28.1
- persistence = directories, ron, serde
-
Use
glow
for painting, viaegui_glow
. glow = [ "dep:egui_glow", "dep:glow", "dep:glutin-winit", "dep:glutin", "dep:rwh_05", "winit/rwh_05", ]Enable saving app state to disk.
Enables persistence of egui ^0.28.1, serde of egui-winit ^0.28.1
Affects
native::file_storage
… - puffin
-
Enable profiling with the
puffin
crate.eframe
will callpuffin::GlobalProfiler::lock().new_frame()
for youOnly enabled on native, because of the low resolution (1ms) of clocks in browsers.
Enables puffin, puffin of egui ^0.28.1, egui-winit ^0.28.1, and optional luminol-egui-wgpu
- wayland default
-
Enables wayland support and fixes clipboard issue.
Enables wayland of egui-winit ^0.28.1 and optional luminol-egui-wgpu
- web_screen_reader default
-
Enable screen reader support (requires
ctx.options_mut(|o| o.screen_reader = true);
) on web.For other platforms, use the
accesskit
feature instead.Enables SpeechSynthesis and SpeechSynthesisUtterance of web-sys
Affects
web::screen_reader
… - wgpu default
-
Use
wgpu
for painting (viaegui-wgpu
).This overrides the
glow
feature.By default, only WebGPU is enabled on web. If you want to enable WebGL, you need to turn on the
webgl
feature of cratewgpu
:wgpu = { version = "*", features = ["webgpu", "webgl"] }
By default, eframe will prefer WebGPU over WebGL, but you can configure this at run-time with
NativeOptions::wgpu_options
.Enables luminol-egui-wgpu, pollster ^0.3, and wgpu ^0.20.0
Affects
epi::CreationContext.wgpu_render_state
,epi::NativeOptions.wgpu_options
,epi::WebOptions.wgpu_options
,run::run_wgpu
,epi::EventLoopBuilderHook
,epi::WindowBuilderHook
,epi::NativeOptions.renderer
,epi::NativeOptions.event_loop_builder
,epi::NativeOptions.window_builder
,epi::Renderer
,luminol-eframe::run_native
,luminol-eframe::run_simple_native
… - x11 default
-
Enables compiling for x11.
Enables x11 of egui-winit ^0.28.1 and optional luminol-egui-wgpu
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- rwh_05 implicit feature
-
Enables raw-window-handle ^0.5.2
glutin stuck on old version of raw-window-handle:
- ron persistence?
-
Affects
epi::get_value
,epi::set_value
… - serde persistence?
- glutin not wasm32 implicit feature
-
Enables glutin ^0.31
glutin:
Cross-platform OpenGL context provider
- glutin-winit not wasm32 implicit feature
-
Enables glutin-winit ^0.4
glutin-winit:
Glutin bootstrapping helpers with winit
- directories not wasm32 persistence?