92 lines
3.5 KiB
TOML
92 lines
3.5 KiB
TOML
[package]
|
|
name = "egui-winit"
|
|
version.workspace = true
|
|
authors = ["Emil Ernerfeldt <emil.ernerfeldt@gmail.com>"]
|
|
description = "Bindings for using egui with winit"
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
homepage = "https://github.com/emilk/egui/tree/main/crates/egui-winit"
|
|
license.workspace = true
|
|
readme = "README.md"
|
|
repository = "https://github.com/emilk/egui/tree/main/crates/egui-winit"
|
|
categories = ["gui", "game-development"]
|
|
keywords = ["winit", "egui", "gui", "gamedev"]
|
|
include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "Cargo.toml"]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--generate-link-to-definition"]
|
|
|
|
[features]
|
|
default = ["clipboard", "links", "wayland", "winit/default", "x11"]
|
|
|
|
## Enable platform accessibility API implementations through [AccessKit](https://accesskit.dev/).
|
|
accesskit = ["dep:accesskit_winit", "egui/accesskit"]
|
|
|
|
# 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 via Winit on Android
|
|
android-game-activity = ["winit/android-game-activity"]
|
|
## Enable the `native-activity` backend via Winit on Android
|
|
android-native-activity = ["winit/android-native-activity"]
|
|
|
|
## [`bytemuck`](https://docs.rs/bytemuck) enables you to cast [`egui::epaint::Vertex`], [`egui::Vec2`] etc to `&[u8]`.
|
|
bytemuck = ["egui/bytemuck", "dep:bytemuck"]
|
|
|
|
## Enable cut/copy/paste to OS clipboard.
|
|
## If disabled a clipboard will be simulated so you can still copy/paste within the egui app.
|
|
clipboard = ["arboard", "bytemuck", "smithay-clipboard"]
|
|
|
|
## Enable opening links in a browser when an egui hyperlink is clicked.
|
|
links = ["webbrowser"]
|
|
|
|
## Allow serialization of [`WindowSettings`] using [`serde`](https://docs.rs/serde).
|
|
serde = ["egui/serde", "dep:serde"]
|
|
|
|
## Enables Wayland support.
|
|
wayland = ["winit/wayland", "bytemuck"]
|
|
|
|
## Enables compiling for x11.
|
|
x11 = ["winit/x11", "bytemuck"]
|
|
|
|
[dependencies]
|
|
egui = { workspace = true, default-features = false, features = ["log"] }
|
|
|
|
ahash.workspace = true
|
|
log.workspace = true
|
|
profiling.workspace = true
|
|
raw-window-handle.workspace = true
|
|
web-time.workspace = true
|
|
winit = { workspace = true, default-features = false }
|
|
|
|
#! ### Optional dependencies
|
|
|
|
# feature accesskit
|
|
accesskit_winit = { workspace = true, optional = true }
|
|
|
|
bytemuck = { workspace = true, optional = true }
|
|
|
|
## Enable this when generating docs.
|
|
document-features = { workspace = true, optional = true }
|
|
|
|
serde = { workspace = true, optional = true }
|
|
webbrowser = { version = "1.0.0", optional = true }
|
|
|
|
[target.'cfg(any(target_os="linux", target_os="dragonfly", target_os="freebsd", target_os="netbsd", target_os="openbsd"))'.dependencies]
|
|
smithay-clipboard = { version = "0.7.2", optional = true }
|
|
|
|
# The wayland-cursor normally selected doesn't properly enable all the features it uses
|
|
# and thus doesn't compile as it is used in egui-winit. This is fixed upstream, so force
|
|
# a slightly newer version. Remove this when winit upgrades past this version.
|
|
wayland-cursor = { version = "0.31.1", default-features = false, optional = true }
|
|
|
|
[target.'cfg(not(target_os = "android"))'.dependencies]
|
|
arboard = { version = "3.3", optional = true, default-features = false, features = [
|
|
"image-data",
|
|
] }
|