eframe 0.18.0

egui framework - write GUI apps that compiles to web and/or natively
Documentation
[package]
name = "eframe"
version = "0.18.0"
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
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"]

# 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"]

# 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",
]


[dependencies]
egui = { version = "0.18.0", path = "../egui", default-features = false, features = [
  "bytemuck",
  "tracing",
] }
egui_glow = { version = "0.18.0", path = "../egui_glow", default-features = false }
glow = "0.11"
tracing = "0.1"

# optional:
ron = { version = "0.7", optional = true }
serde = { version = "1", 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