[package]
edition = "2024"
name = "lgui"
version = "0.2.2"
build = false
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A reactive Rust GUI library with native and portable rendering backends"
homepage = "https://github.com/lius-new/lgui"
documentation = "https://docs.rs/lgui"
readme = "README.md"
keywords = [
"gui",
"desktop",
"widgets",
"reactive",
]
categories = [
"gui",
"rendering",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lius-new/lgui"
resolver = "2"
[features]
accessibility = [
"backend-winit",
"lgui-platform-winit/accessibility",
]
async = ["lgui-core/async"]
backend-winit = ["dep:lgui-platform-winit"]
clipboard = [
"lgui-services/clipboard",
"lgui-platform-winit?/clipboard",
]
default = [
"renderer-skia",
"router",
"store",
"widgets",
]
desktop = [
"backend-winit",
"clipboard",
"open-url",
"dialogs",
"accessibility",
]
diagnostics = [
"dep:lgui-diagnostics",
"lgui-platform-winit?/diagnostics",
"lgui-platform-win32?/diagnostics",
]
diagnostics-serde = [
"diagnostics",
"lgui-core/diagnostics-serde",
"lgui-diagnostics/serde",
]
diagnostics-timing = [
"diagnostics",
"lgui-core/diagnostics-timing",
"lgui-platform-win32?/diagnostics-timing",
]
dialogs = [
"lgui-services/dialogs",
"lgui-platform-winit?/dialogs",
]
images = [
"dep:lgui-assets",
"lgui-assets/images",
"lgui-platform-winit?/images",
"lgui-platform-win32?/images",
]
multi-window = ["lgui-platform-winit?/multi-window"]
notifications = [
"lgui-services/notifications",
"lgui-platform-winit?/notifications",
]
notifications-win32 = [
"notifications",
"lgui-platform-winit?/notifications-win32",
"lgui-platform-win32/notifications-win32",
]
open-url = [
"lgui-services/open-url",
"lgui-platform-winit?/open-url",
]
persistent-cache = [
"lgui-core/persistent-cache",
"lgui-assets?/persistent-cache",
"lgui-platform-winit?/persistent-cache",
]
renderer-skia = [
"dep:lgui-render-skia",
"images",
"svg",
"lgui-assets/renderer-skia",
]
renderer-skia-gl = [
"renderer-skia-software",
"lgui-platform-winit/renderer-skia-gl",
"lgui-render-skia/renderer-skia-gl",
]
renderer-skia-metal = [
"renderer-skia-software",
"lgui-platform-winit/renderer-skia-metal",
"lgui-render-skia/renderer-skia-metal",
]
renderer-skia-software = [
"renderer-skia",
"backend-winit",
"lgui-platform-winit/renderer-skia",
]
renderer-skia-vulkan = [
"renderer-skia-software",
"lgui-platform-winit/renderer-skia-vulkan",
"lgui-render-skia/renderer-skia-vulkan",
]
renderer-skia-vulkan-linux = ["renderer-skia-vulkan"]
renderer-skia-vulkan-windows = ["renderer-skia-vulkan"]
router = ["dep:lgui-router"]
store = [
"dep:lgui-store",
"lgui-platform-winit?/store",
"lgui-platform-win32?/store",
]
svg = [
"images",
"lgui-assets/svg",
"lgui-platform-winit?/svg",
"lgui-platform-win32?/svg",
]
system-diagnostics = [
"diagnostics",
"lgui-platform-win32/system-diagnostics",
]
theme = ["dep:lgui-widgets"]
tokio = ["lgui-core/tokio"]
tray = ["lgui-services/tray"]
tray-win32 = [
"tray",
"lgui-platform-winit?/tray-win32",
"lgui-platform-win32/tray-win32",
]
widgets = [
"theme",
"lgui-widgets/widgets",
]
[lib]
name = "lgui"
path = "src/lib.rs"
[[example]]
name = "counter"
path = "examples/counter.rs"
required-features = [
"renderer-skia-software",
"widgets",
]
[dependencies.lgui-assets]
version = "0.2.2"
optional = true
default-features = false
[dependencies.lgui-core]
version = "0.2.2"
default-features = false
[dependencies.lgui-diagnostics]
version = "0.2.2"
optional = true
[dependencies.lgui-platform-winit]
version = "0.2.2"
optional = true
default-features = false
[dependencies.lgui-render-api]
version = "0.2.2"
[dependencies.lgui-render-skia]
version = "0.2.2"
optional = true
default-features = false
[dependencies.lgui-router]
version = "0.2.2"
optional = true
[dependencies.lgui-services]
version = "0.2.2"
default-features = false
[dependencies.lgui-store]
version = "0.2.2"
optional = true
[dependencies.lgui-widgets]
version = "0.2.2"
optional = true
default-features = false
[target."cfg(windows)".dependencies.lgui-platform-win32]
version = "0.2.2"
optional = true
default-features = false