
I hope we can get rid of the `tts` crate very soon, now that AcessKit has landed. It is only used for web atm. Should probably be removed from all native libraries.
172 lines
5.4 KiB
TOML
172 lines
5.4 KiB
TOML
[package]
|
|
name = "eframe"
|
|
version = "0.20.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.65"
|
|
homepage = "https://github.com/emilk/egui/tree/master/crates/eframe"
|
|
license = "MIT OR Apache-2.0"
|
|
readme = "README.md"
|
|
repository = "https://github.com/emilk/egui/tree/master/crates/eframe"
|
|
categories = ["gui", "game-development"]
|
|
keywords = ["egui", "gui", "gamedev"]
|
|
include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "Cargo.toml"]
|
|
|
|
[package.metadata.docs.rs]
|
|
# Avoid speech-dispatcher dependencies - see https://docs.rs/crate/eframe/0.20.0/builds/695200
|
|
no-default-features = true
|
|
features = ["document-features", "glow", "wgpu", "persistence", "wgpu"]
|
|
|
|
[lib]
|
|
|
|
|
|
[features]
|
|
default = ["accesskit", "default_fonts", "glow"]
|
|
|
|
## Enable platform accessibility API implementations through [AccessKit](https://accesskit.dev/).
|
|
accesskit = ["egui/accesskit", "egui-winit/accesskit"]
|
|
|
|
## 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/crates/egui_glow).
|
|
glow = ["dep:glow", "dep:egui_glow", "dep:glutin"]
|
|
|
|
## 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", "egui-wgpu?/puffin"]
|
|
|
|
## Enable screen reader support (requires `ctx.options().screen_reader = true;`)
|
|
screen_reader = ["egui-winit/screen_reader", "tts"]
|
|
|
|
## If set, eframe will look for the env-var `EFRAME_SCREENSHOT_TO` and write a screenshot to that location, and then quit.
|
|
## This is used to generate images for the examples.
|
|
__screenshot = ["dep:image"]
|
|
|
|
## Use [`wgpu`](https://docs.rs/wgpu) for painting (via [`egui-wgpu`](https://github.com/emilk/egui/tree/master/crates/egui-wgpu)).
|
|
## This overrides the `glow` feature.
|
|
wgpu = ["dep:wgpu", "dep:egui-wgpu"]
|
|
|
|
|
|
[dependencies]
|
|
egui = { version = "0.20.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.20.0", path = "../egui_glow", optional = true, default-features = false }
|
|
glow = { version = "0.11", optional = true }
|
|
ron = { version = "0.8", optional = true, features = ["integer128"] }
|
|
serde = { version = "1", optional = true, features = ["derive"] }
|
|
|
|
# -------------------------------------------
|
|
# native:
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
egui-winit = { version = "0.20.0", path = "../egui-winit", default-features = false, features = [
|
|
"clipboard",
|
|
"links",
|
|
] }
|
|
raw-window-handle = { version = "0.5.0" }
|
|
winit = "0.27.2"
|
|
|
|
# optional native:
|
|
dark-light = { version = "0.2.1", optional = true }
|
|
directories-next = { version = "2", optional = true }
|
|
egui-wgpu = { version = "0.20.0", path = "../egui-wgpu", optional = true, features = [
|
|
"winit",
|
|
] } # if wgpu is used, use it with winit
|
|
|
|
# we can expose these to user so that they can select which backends they want to enable to avoid compiling useless deps.
|
|
# this can be done at the same time we expose x11/wayland features of winit crate.
|
|
glutin = { version = "0.30.0", optional = true, es = [
|
|
"egl",
|
|
"glx",
|
|
"x11",
|
|
"wayland",
|
|
"wgl",
|
|
] }
|
|
|
|
image = { version = "0.24", optional = true, default-features = false, features = [
|
|
"png",
|
|
] }
|
|
puffin = { version = "0.14", optional = true }
|
|
wgpu = { version = "0.14", 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.58", 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 web:
|
|
egui-wgpu = { version = "0.20.0", path = "../egui-wgpu", optional = true } # if wgpu is used, use it without (!) winit
|
|
tts = { version = "0.24", optional = true }
|
|
wgpu = { version = "0.14", optional = true, features = ["webgl"] }
|