[package]
edition = "2024"
rust-version = "1.92.0"
name = "kas"
version = "0.17.0"
authors = ["Diggory Hardy <git@dhardy.name>"]
build = false
exclude = ["/examples"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A pure-Rust GUI toolkit with stateful widgets"
documentation = "https://docs.rs/kas/"
readme = "README.md"
keywords = ["gui"]
categories = ["gui"]
license = "Apache-2.0"
repository = "https://github.com/kas-gui/kas"
resolver = "2"
[package.metadata.docs.rs]
features = ["stable"]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
accesskit = ["kas-core/accesskit"]
avif = [
"image",
"kas-image/avif",
]
canvas = [
"dep:kas-image",
"kas-image/canvas",
"kas-dylib?/image",
]
clipboard = ["kas-core/clipboard"]
default = [
"wayland",
"vulkan",
"dx12",
"metal",
"clipboard",
"shaping",
]
dx12 = [
"wgpu",
"kas-wgpu/dx12",
]
dynamic = ["dep:kas-dylib"]
experimental = ["unsafe_node"]
gles = [
"wgpu",
"kas-wgpu/gles",
]
image = [
"dep:kas-image",
"kas-image/image",
"kas-dylib?/image",
]
image-default-formats = [
"image",
"kas-image/image-default-formats",
]
internal_doc = ["kas-core/internal_doc"]
jpeg = [
"image",
"kas-image/jpeg",
]
json = [
"serde",
"kas-core/json",
]
macros_log = ["kas-core/macros_log"]
markdown = ["kas-core/markdown"]
metal = [
"wgpu",
"kas-wgpu/metal",
]
minimal = [
"wayland",
"soft",
]
nightly = [
"stable",
"nightly-diagnostics",
"kas-core/nightly",
]
nightly-diagnostics = ["kas-core/nightly-diagnostics"]
nightly-diagnostics-pedantic = [
"nightly-diagnostics",
"kas-core/nightly-diagnostics-pedantic",
]
png = [
"image",
"kas-image/png",
]
ron = [
"serde",
"kas-core/ron",
]
serde = ["kas-core/serde"]
shaping = ["kas-core/shaping"]
soft = [
"dep:kas-soft",
"kas-dylib?/soft",
]
spawn = ["kas-core/spawn"]
spec = ["kas-core/spec"]
stable = [
"default",
"view",
"image-default-formats",
"canvas",
"svg",
"markdown",
"spawn",
"x11",
"toml",
"yaml",
"json",
"ron",
"macros_log",
]
svg = [
"dep:kas-image",
"kas-image/svg",
"kas-dylib?/image",
]
toml = [
"serde",
"kas-core/toml",
]
unsafe_node = ["kas-core/unsafe_node"]
view = [
"dep:kas-view",
"kas-dylib?/view",
]
vulkan = [
"wgpu",
"kas-wgpu/vulkan",
]
wayland = [
"kas-core/wayland",
"kas-soft?/wayland",
]
webp = [
"image",
"kas-image/webp",
]
wgpu = [
"dep:kas-wgpu",
"kas-dylib?/wgpu",
]
x11 = [
"kas-core/x11",
"kas-soft?/wayland",
]
yaml = [
"serde",
"kas-core/yaml",
]
[lib]
name = "kas"
path = "src/lib.rs"
[[test]]
name = "layout_macros"
path = "tests/layout_macros.rs"
[dependencies.kas-core]
version = "0.17.0"
[dependencies.kas-dylib]
version = "0.17.0"
optional = true
[dependencies.kas-image]
version = "0.17.0"
optional = true
[dependencies.kas-soft]
version = "0.17.0"
optional = true
[dependencies.kas-view]
version = "0.17.0"
optional = true
[dependencies.kas-wgpu]
version = "0.17.0"
optional = true
default-features = false
[dependencies.kas-widgets]
version = "0.17.0"
[dev-dependencies.chrono]
version = "0.4"
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.log]
version = "0.4"