[package]
edition = "2024"
name = "winio"
version = "0.11.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Single-threaded async GUI runtime based on compio."
readme = "README.md"
keywords = [
"async",
"gui",
]
categories = [
"asynchronous",
"gui",
]
license = "MIT"
repository = "https://github.com/compio-rs/winio"
[features]
all = [
"media",
"webview",
"plotters",
]
default = [
"qt",
"win32",
]
enable_log = [
"compio/enable_log",
"compio-log/enable_log",
]
gen_blocks = ["winio-elm/gen_blocks"]
gtk = ["dep:winio-ui-gtk"]
media = [
"winio-ui-app-kit/media",
"winio-ui-win32?/media",
"winio-ui-winui?/media",
"winio-ui-gtk?/media",
"winio-ui-qt?/media",
]
nightly = [
"gen_blocks",
"once_cell_try",
"winio-elm/nightly",
"winio-ui-windows-common/nightly",
"winio-ui-win32?/nightly",
"winio-ui-winui?/nightly",
"compio/nightly",
"cyper/nightly",
"cyper-axum/nightly",
]
objc-static = ["winio-ui-app-kit/objc-static"]
once_cell_try = [
"winio-ui-windows-common/once_cell_try",
"winio-ui-win32?/once_cell_try",
"winio-ui-winui?/once_cell_try",
]
plotters = ["dep:plotters-backend"]
qt = ["dep:winio-ui-qt"]
qt-opengl = ["winio-ui-qt?/opengl"]
raw-window-handle = ["winio-handle/raw-window-handle"]
webview = [
"winio-ui-app-kit/webview",
"winio-ui-win32?/webview",
"winio-ui-winui?/webview",
"winio-ui-gtk?/webview",
"winio-ui-qt?/webview",
]
win32 = ["dep:winio-ui-win32"]
win32-dark-mode = [
"winio-ui-win32?/dark-mode",
"winio-ui-winui?/win32-dark-mode",
]
winui = ["dep:winio-ui-winui"]
winui-enable-cbs = ["winio-ui-winui?/enable-cbs"]
winui-webview-system = ["winio-ui-winui?/webview-system"]
[lib]
name = "winio"
path = "src/lib.rs"
[[example]]
name = "widgets"
path = "examples/widgets.rs"
[dependencies.cfg-if]
version = "1"
[dependencies.compio]
version = "0.18.0"
default-features = false
[dependencies.compio-log]
version = "0.1.0"
[dependencies.futures-util]
version = "0.3"
[dependencies.image]
version = "0.25"
default-features = false
[dependencies.inherit-methods-macro]
version = "0.1"
[dependencies.plotters-backend]
version = "0.3"
optional = true
[dependencies.thiserror]
version = "2.0"
[dependencies.winio-elm]
version = "0.5.0"
features = [
"handle",
"primitive",
]
[dependencies.winio-handle]
version = "0.6.0"
[dependencies.winio-layout]
version = "0.2.0"
[dependencies.winio-primitive]
version = "0.2.0"
[dev-dependencies.axum]
version = "0.8"
default-features = false
[dev-dependencies.compio]
version = "0.18.0"
features = [
"time",
"rustls",
"ring",
]
default-features = true
[dev-dependencies.cyper]
version = "0.8.0"
features = [
"rustls",
"http2",
"http3-altsvc",
]
default-features = false
[dev-dependencies.cyper-axum]
version = "0.8.0"
[dev-dependencies.dirs]
version = "6.0"
[dev-dependencies.futures-util]
version = "0.3"
[dev-dependencies.image]
version = "0.25"
features = ["default-formats"]
default-features = false
[dev-dependencies.itertools]
version = "0.14"
[dev-dependencies.local-sync]
version = "0.1"
[dev-dependencies.plotters]
version = "0.3"
features = ["line_series"]
default-features = false
[dev-dependencies.pulldown-cmark]
version = "0.13"
[dev-dependencies.send_wrapper]
version = "0.6"
features = ["futures"]
[dev-dependencies.tracing-subscriber]
version = "0.3"
[dev-dependencies.url]
version = "2"
[build-dependencies.cfg_aliases]
version = "0.2"
[target.'cfg(not(any(windows, target_os = "macos")))'.dependencies.winio-ui-gtk]
version = "0.5.0"
optional = true
[target.'cfg(not(any(windows, target_os = "macos")))'.dependencies.winio-ui-qt]
version = "0.5.0"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.winio-ui-app-kit]
version = "0.5.0"
[target."cfg(windows)".dependencies.winio-ui-win32]
version = "0.5.0"
optional = true
[target."cfg(windows)".dependencies.winio-ui-windows-common]
version = "0.6.0"
[target."cfg(windows)".dependencies.winio-ui-winui]
version = "0.5.0"
optional = true