[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.60" 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 = ["default_fonts", "glow"] # detect dark mode system preference 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"] 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 crate: https://github.com/EmbarkStudios/puffin # 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 as the backend instead of glow wgpu = ["dep:wgpu", "egui-wgpu"] [dependencies] egui = { version = "0.18.0", path = "../egui", default-features = false, features = [ "bytemuck", "tracing", ] } tracing = "0.1" # optional: 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.12", 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.28.0" } winit = "0.26.1" # optional: 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 } # stuck on old version due to compilation problems on linux