[package] name = "eframe" version = "0.18.0" authors = ["Emil Ernerfeldt "] description = "egui framework - write GUI apps that compiles to web and/or natively" edition = "2021" rust-version = "1.61" homepage = "https://github.com/emilk/egui/tree/master/eframe" license = "MIT OR Apache-2.0" readme = "README.md" repository = "https://github.com/emilk/egui/tree/master/eframe" categories = ["gui", "game-development"] keywords = ["egui", "gui", "gamedev"] include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "Cargo.toml"] [package.metadata.docs.rs] all-features = true [lib] [features] default = ["dark-light", "default_fonts", "glow"] ## Detect dark mode system preference using [`dark-light`](https://docs.rs/dark-light). ## ## See also [`NativeOptions::follow_system_theme`] and [`NativeOptions::default_theme`]. dark-light = ["dep:dark-light"] ## If set, egui will use `include_bytes!` to bundle some fonts. ## If you plan on specifying your own fonts you may disable this feature. default_fonts = ["egui/default_fonts"] ## Use [`glow`](https://github.com/grovesNL/glow) for painting, via [`egui_glow`](https://github.com/emilk/egui/tree/master/egui_glow). glow = ["dep:glow", "egui_glow"] ## Enable saving app state to disk. persistence = [ "directories-next", "egui-winit/serde", "egui/persistence", "ron", "serde", ] ## Enable profiling with the [`puffin`](https://docs.rs/puffin) crate. ## ## Only enabled on native, because of the low resolution (1ms) of time keeping in browsers. ## `eframe` will call `puffin::GlobalProfiler::lock().new_frame()` for you puffin = ["dep:puffin", "egui_glow?/puffin"] ## Enable screen reader support (requires `ctx.options().screen_reader = true;`) screen_reader = [ "egui-winit/screen_reader", "tts", ] ## Use [`wgpu`](https://docs.rs/wgpu) for painting (via [`egui_wgpu`](https://github.com/emilk/egui/tree/master/egui_wgpu)). ## This overrides the `glow` feature. wgpu = ["dep:wgpu", "egui-wgpu"] [dependencies] egui = { version = "0.18.0", path = "../egui", default-features = false, features = [ "bytemuck", "tracing", ] } tracing = { version = "0.1", default-features = false, features = ["std"] } #! ### Optional dependencies ## Enable this when generating docs. document-features = { version = "0.2", optional = true } egui_glow = { version = "0.18.0", path = "../egui_glow", optional = true, default-features = false } egui-wgpu = { version = "0.18.0", path = "../egui-wgpu", optional = true, features = ["winit"] } glow = { version = "0.11", optional = true } ron = { version = "0.7", optional = true } serde = { version = "1", optional = true, features = ["derive"] } wgpu = { version = "0.13", optional = true } # ------------------------------------------- # native: [target.'cfg(not(target_arch = "wasm32"))'.dependencies] dark-light = { version = "0.2.1", optional = true } egui-winit = { version = "0.18.0", path = "../egui-winit", default-features = false, features = ["clipboard", "links"] } glutin = { version = "0.29.0" } winit = "0.27.2" # optional native: puffin = { version = "0.13", optional = true } directories-next = { version = "2", optional = true } # ------------------------------------------- # web: [target.'cfg(target_arch = "wasm32")'.dependencies] bytemuck = "1.7" js-sys = "0.3" percent-encoding = "2.1" wasm-bindgen = "0.2" wasm-bindgen-futures = "0.4" web-sys = { version = "0.3.52", features = [ "BinaryType", "Blob", "Clipboard", "ClipboardEvent", "CompositionEvent", "console", "CssStyleDeclaration", "DataTransfer", "DataTransferItem", "DataTransferItemList", "Document", "DomRect", "DragEvent", "Element", "Event", "EventListener", "EventTarget", "ExtSRgb", "File", "FileList", "FocusEvent", "HtmlCanvasElement", "HtmlElement", "HtmlInputElement", "InputEvent", "KeyboardEvent", "Location", "MediaQueryList", "MouseEvent", "Navigator", "Performance", "Storage", "Touch", "TouchEvent", "TouchList", "WebGl2RenderingContext", "WebglDebugRendererInfo", "WebGlRenderingContext", "WheelEvent", "Window", ] } # optional # feature screen_reader tts = { version = "0.20", optional = true } # Can't use 0.22 due to compilation problems on linux: https://github.com/emilk/egui/runs/7170127089?check_suite_focus=true#step:5:713