2019-09-14 19:16:06 +02:00
|
|
|
[package]
|
|
|
|
|
name = "iced"
|
2019-09-20 19:15:31 +02:00
|
|
|
description = "A cross-platform GUI library inspired by Elm"
|
2023-09-04 12:58:41 +02:00
|
|
|
version.workspace = true
|
|
|
|
|
edition.workspace = true
|
|
|
|
|
authors.workspace = true
|
|
|
|
|
license.workspace = true
|
|
|
|
|
repository.workspace = true
|
|
|
|
|
homepage.workspace = true
|
|
|
|
|
categories.workspace = true
|
|
|
|
|
keywords.workspace = true
|
2024-09-18 20:45:56 +02:00
|
|
|
rust-version.workspace = true
|
2023-09-04 12:58:41 +02:00
|
|
|
|
2024-04-07 12:42:12 +02:00
|
|
|
[lints]
|
|
|
|
|
workspace = true
|
|
|
|
|
|
2023-09-04 12:58:41 +02:00
|
|
|
[package.metadata.docs.rs]
|
|
|
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
|
|
|
all-features = true
|
|
|
|
|
|
|
|
|
|
[badges]
|
|
|
|
|
maintenance = { status = "actively-developed" }
|
2019-09-14 19:16:06 +02:00
|
|
|
|
2019-11-03 04:39:11 +01:00
|
|
|
[features]
|
2025-09-08 09:49:11 +02:00
|
|
|
default = ["wgpu", "tiny-skia", "crisp", "web-colors", "thread-pool", "linux-theme-detection"]
|
2024-10-22 00:13:42 +02:00
|
|
|
# Enables the `wgpu` GPU-accelerated renderer backend
|
2023-09-14 13:58:36 -07:00
|
|
|
wgpu = ["iced_renderer/wgpu", "iced_widget/wgpu"]
|
2024-10-22 00:13:42 +02:00
|
|
|
# Enables the `tiny-skia` software renderer backend
|
2024-03-22 05:27:31 +01:00
|
|
|
tiny-skia = ["iced_renderer/tiny-skia"]
|
2024-10-22 00:13:42 +02:00
|
|
|
# Enables the `image` widget
|
2024-09-02 11:47:55 +02:00
|
|
|
image = ["image-without-codecs", "image/default"]
|
2024-10-22 00:13:42 +02:00
|
|
|
# Enables the `image` widget, without any built-in codecs of the `image` crate
|
2024-09-02 11:47:55 +02:00
|
|
|
image-without-codecs = ["iced_widget/image", "dep:image"]
|
2024-10-22 00:13:42 +02:00
|
|
|
# Enables the `svg` widget
|
2023-03-04 05:37:11 +01:00
|
|
|
svg = ["iced_widget/svg"]
|
2024-10-22 00:13:42 +02:00
|
|
|
# Enables the `canvas` widget
|
2023-03-04 05:37:11 +01:00
|
|
|
canvas = ["iced_widget/canvas"]
|
2024-10-22 00:13:42 +02:00
|
|
|
# Enables the `qr_code` widget
|
2023-03-04 05:37:11 +01:00
|
|
|
qr_code = ["iced_widget/qr_code"]
|
2024-07-18 14:34:00 +02:00
|
|
|
# Enables the `markdown` widget
|
|
|
|
|
markdown = ["iced_widget/markdown"]
|
2023-03-04 05:37:11 +01:00
|
|
|
# Enables lazy widgets
|
|
|
|
|
lazy = ["iced_widget/lazy"]
|
2025-06-24 17:37:08 +02:00
|
|
|
# Enables debug metrics in native platforms (press F12)
|
2025-08-29 08:39:44 +02:00
|
|
|
debug = ["iced_winit/debug", "dep:iced_devtools"]
|
2025-04-17 03:24:17 +02:00
|
|
|
# Enables time-travel debugging (very experimental!)
|
|
|
|
|
time-travel = ["debug", "iced_devtools/time-travel"]
|
2025-06-24 17:37:08 +02:00
|
|
|
# Enables hot reloading (very experimental!)
|
|
|
|
|
hot = ["debug", "iced_debug/hot"]
|
2025-06-03 07:23:56 +02:00
|
|
|
# Enables the tester developer tool for recording and playing tests (press F12)
|
2025-08-29 08:39:44 +02:00
|
|
|
tester = ["dep:iced_tester"]
|
2025-04-02 10:39:27 +02:00
|
|
|
# Enables the `thread-pool` futures executor as the `executor::Default` on native platforms
|
|
|
|
|
thread-pool = ["iced_futures/thread-pool"]
|
2020-02-06 03:56:21 +01:00
|
|
|
# Enables `tokio` as the `executor::Default` on native platforms
|
|
|
|
|
tokio = ["iced_futures/tokio"]
|
2021-01-13 01:48:35 +01:00
|
|
|
# Enables `smol` as the `executor::Default` on native platforms
|
|
|
|
|
smol = ["iced_futures/smol"]
|
2022-04-30 13:37:57 +02:00
|
|
|
# Enables querying system information
|
2025-09-08 14:32:24 +02:00
|
|
|
sysinfo = ["iced_winit/sysinfo"]
|
2023-05-31 21:31:58 +02:00
|
|
|
# Enables broken "sRGB linear" blending to reproduce color management of the Web
|
|
|
|
|
web-colors = ["iced_renderer/web-colors"]
|
2025-05-30 00:30:23 +02:00
|
|
|
# Enables pixel snapping for crisp edges by default (can cause jitter!)
|
|
|
|
|
crisp = ["iced_core/crisp", "iced_widget/crisp"]
|
2024-12-12 03:14:40 +01:00
|
|
|
# Enables the WebGL backend
|
2023-09-04 03:28:45 +02:00
|
|
|
webgl = ["iced_renderer/webgl"]
|
2025-09-08 09:49:11 +02:00
|
|
|
# Enables syntax highlighting
|
2024-07-18 14:34:00 +02:00
|
|
|
highlighter = ["iced_highlighter", "iced_widget/highlighter"]
|
2025-08-23 05:15:57 +02:00
|
|
|
# Enables the `widget::selector` module
|
|
|
|
|
selector = ["iced_runtime/selector"]
|
2023-11-29 22:33:20 +01:00
|
|
|
# Enables the advanced module
|
2024-03-26 04:21:02 +01:00
|
|
|
advanced = ["iced_core/advanced", "iced_widget/advanced"]
|
2024-12-12 03:14:40 +01:00
|
|
|
# Embeds Fira Sans into the final application; useful for testing and Wasm builds
|
2024-02-20 03:20:58 +01:00
|
|
|
fira-sans = ["iced_renderer/fira-sans"]
|
2025-08-30 18:15:12 +02:00
|
|
|
# Enables basic text shaping by default
|
|
|
|
|
basic-shaping = ["iced_core/basic-shaping"]
|
|
|
|
|
# Enables advanced text shaping by default
|
|
|
|
|
advanced-shaping = ["iced_core/advanced-shaping"]
|
2024-09-20 00:39:21 +02:00
|
|
|
# Enables strict assertions for debugging purposes at the expense of performance
|
|
|
|
|
strict-assertions = ["iced_renderer/strict-assertions"]
|
2024-11-04 18:08:12 +01:00
|
|
|
# Redraws on every runtime event, and not only when a widget requests it
|
|
|
|
|
unconditional-rendering = ["iced_winit/unconditional-rendering"]
|
2025-04-02 10:58:09 +02:00
|
|
|
# Enables support for the `sipper` library
|
|
|
|
|
sipper = ["iced_runtime/sipper"]
|
2025-09-08 09:49:11 +02:00
|
|
|
# Enables Linux system theme detection
|
|
|
|
|
linux-theme-detection = ["iced_winit/linux-theme-detection"]
|
2019-11-03 04:39:11 +01:00
|
|
|
|
2023-09-04 12:58:41 +02:00
|
|
|
[dependencies]
|
2024-02-26 07:00:51 +01:00
|
|
|
iced_debug.workspace = true
|
2024-05-11 12:25:44 +02:00
|
|
|
iced_core.workspace = true
|
2023-09-04 12:58:41 +02:00
|
|
|
iced_futures.workspace = true
|
|
|
|
|
iced_renderer.workspace = true
|
2025-04-02 10:58:09 +02:00
|
|
|
iced_runtime.workspace = true
|
2023-09-04 12:58:41 +02:00
|
|
|
iced_widget.workspace = true
|
|
|
|
|
iced_winit.workspace = true
|
|
|
|
|
|
2025-04-05 19:27:15 +02:00
|
|
|
iced_devtools.workspace = true
|
|
|
|
|
iced_devtools.optional = true
|
|
|
|
|
|
2025-08-29 08:39:44 +02:00
|
|
|
iced_tester.workspace = true
|
|
|
|
|
iced_tester.optional = true
|
|
|
|
|
|
2023-09-19 20:48:50 +02:00
|
|
|
iced_highlighter.workspace = true
|
|
|
|
|
iced_highlighter.optional = true
|
|
|
|
|
|
2023-09-04 12:58:41 +02:00
|
|
|
thiserror.workspace = true
|
|
|
|
|
|
|
|
|
|
image.workspace = true
|
|
|
|
|
image.optional = true
|
|
|
|
|
|
2024-04-07 12:42:12 +02:00
|
|
|
[dev-dependencies]
|
|
|
|
|
criterion = "0.5"
|
|
|
|
|
iced_wgpu.workspace = true
|
|
|
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
|
name = "wgpu"
|
|
|
|
|
harness = false
|
|
|
|
|
required-features = ["canvas"]
|
|
|
|
|
|
2023-09-04 12:58:41 +02:00
|
|
|
[profile.release-opt]
|
|
|
|
|
inherits = "release"
|
|
|
|
|
codegen-units = 1
|
|
|
|
|
debug = false
|
|
|
|
|
lto = true
|
|
|
|
|
incremental = false
|
|
|
|
|
opt-level = 3
|
|
|
|
|
overflow-checks = false
|
|
|
|
|
strip = "debuginfo"
|
2019-09-14 19:16:06 +02:00
|
|
|
|
2019-09-10 19:41:49 +02:00
|
|
|
[workspace]
|
|
|
|
|
members = [
|
2025-03-04 19:11:37 +01:00
|
|
|
"beacon",
|
2019-09-20 19:15:31 +02:00
|
|
|
"core",
|
2024-02-26 07:00:51 +01:00
|
|
|
"debug",
|
2025-04-05 19:27:15 +02:00
|
|
|
"devtools",
|
2020-01-19 10:17:08 +01:00
|
|
|
"futures",
|
2020-05-19 17:15:44 +02:00
|
|
|
"graphics",
|
2023-09-19 20:48:50 +02:00
|
|
|
"highlighter",
|
2025-03-12 02:10:42 +01:00
|
|
|
"program",
|
2023-02-24 23:24:48 +01:00
|
|
|
"renderer",
|
2023-09-19 20:48:50 +02:00
|
|
|
"runtime",
|
2025-08-23 01:44:17 +02:00
|
|
|
"selector",
|
2024-12-03 22:03:06 +01:00
|
|
|
"test",
|
2025-08-29 08:39:44 +02:00
|
|
|
"tester",
|
2023-02-25 15:38:25 +01:00
|
|
|
"tiny_skia",
|
2019-10-08 03:13:41 +02:00
|
|
|
"wgpu",
|
2023-03-04 05:37:11 +01:00
|
|
|
"widget",
|
2019-10-08 03:13:41 +02:00
|
|
|
"winit",
|
2022-11-18 14:16:02 -08:00
|
|
|
"examples/*",
|
2019-09-10 19:41:49 +02:00
|
|
|
]
|
2019-10-03 00:01:45 +02:00
|
|
|
|
2023-09-04 12:58:41 +02:00
|
|
|
[workspace.package]
|
2024-09-19 23:36:05 +02:00
|
|
|
version = "0.14.0-dev"
|
2023-09-04 12:58:41 +02:00
|
|
|
authors = ["Héctor Ramón Jiménez <hector@hecrj.dev>"]
|
2025-02-21 01:19:53 +01:00
|
|
|
edition = "2024"
|
2023-09-04 12:58:41 +02:00
|
|
|
license = "MIT"
|
|
|
|
|
repository = "https://github.com/iced-rs/iced"
|
|
|
|
|
homepage = "https://iced.rs"
|
|
|
|
|
categories = ["gui"]
|
|
|
|
|
keywords = ["gui", "ui", "graphics", "interface", "widgets"]
|
2025-08-07 22:36:02 +02:00
|
|
|
rust-version = "1.88"
|
2020-02-06 03:56:21 +01:00
|
|
|
|
2023-09-04 12:58:41 +02:00
|
|
|
[workspace.dependencies]
|
2024-09-19 23:36:05 +02:00
|
|
|
iced = { version = "0.14.0-dev", path = "." }
|
2025-03-04 19:11:37 +01:00
|
|
|
iced_beacon = { version = "0.14.0-dev", path = "beacon" }
|
2024-09-19 23:36:05 +02:00
|
|
|
iced_core = { version = "0.14.0-dev", path = "core" }
|
2025-03-04 19:11:37 +01:00
|
|
|
iced_debug = { version = "0.14.0-dev", path = "debug" }
|
2025-04-05 19:27:15 +02:00
|
|
|
iced_devtools = { version = "0.14.0-dev", path = "devtools" }
|
2024-09-19 23:36:05 +02:00
|
|
|
iced_futures = { version = "0.14.0-dev", path = "futures" }
|
|
|
|
|
iced_graphics = { version = "0.14.0-dev", path = "graphics" }
|
|
|
|
|
iced_highlighter = { version = "0.14.0-dev", path = "highlighter" }
|
2025-03-12 02:10:42 +01:00
|
|
|
iced_program = { version = "0.14.0-dev", path = "program" }
|
2024-09-19 23:36:05 +02:00
|
|
|
iced_renderer = { version = "0.14.0-dev", path = "renderer" }
|
|
|
|
|
iced_runtime = { version = "0.14.0-dev", path = "runtime" }
|
2025-08-23 01:44:17 +02:00
|
|
|
iced_selector = { version = "0.14.0-dev", path = "selector" }
|
2024-12-03 22:03:06 +01:00
|
|
|
iced_test = { version = "0.14.0-dev", path = "test" }
|
2025-08-29 08:39:44 +02:00
|
|
|
iced_tester = { version = "0.14.0-dev", path = "tester" }
|
2024-09-19 23:36:05 +02:00
|
|
|
iced_tiny_skia = { version = "0.14.0-dev", path = "tiny_skia" }
|
|
|
|
|
iced_wgpu = { version = "0.14.0-dev", path = "wgpu" }
|
|
|
|
|
iced_widget = { version = "0.14.0-dev", path = "widget" }
|
|
|
|
|
iced_winit = { version = "0.14.0-dev", path = "winit" }
|
2021-12-29 00:15:18 +01:00
|
|
|
|
2024-02-27 16:16:52 +01:00
|
|
|
bincode = "1.3"
|
2024-02-01 07:15:59 -05:00
|
|
|
bitflags = "2.0"
|
2023-09-04 12:58:41 +02:00
|
|
|
bytemuck = { version = "1.0", features = ["derive"] }
|
2024-05-01 00:55:49 +02:00
|
|
|
bytes = "1.6"
|
2025-06-07 04:50:52 +02:00
|
|
|
cargo-hot = { package = "cargo-hot-protocol", git = "https://github.com/hecrj/cargo-hot.git", rev = "b8dc518b8640928178a501257e353b73bc06cf47" }
|
2025-04-09 18:40:38 +02:00
|
|
|
cosmic-text = "0.14"
|
2025-09-08 01:24:22 +02:00
|
|
|
cryoglyph = { git = "https://github.com/iced-rs/cryoglyph.git", rev = "453cedec0d2ec563bd7fa87e84a2319bcebb1ba3" }
|
2025-04-02 10:39:27 +02:00
|
|
|
futures = { version = "0.3", default-features = false }
|
2024-02-01 07:15:59 -05:00
|
|
|
glam = "0.25"
|
2023-09-04 12:58:41 +02:00
|
|
|
guillotiere = "0.6"
|
|
|
|
|
half = "2.2"
|
2025-01-02 19:44:08 +01:00
|
|
|
image = { version = "0.25", default-features = false }
|
2023-09-04 12:58:41 +02:00
|
|
|
kamadak-exif = "0.5"
|
2024-02-01 07:15:59 -05:00
|
|
|
kurbo = "0.10"
|
2025-01-29 04:55:04 +01:00
|
|
|
lilt = "0.8"
|
2023-09-04 12:58:41 +02:00
|
|
|
log = "0.4"
|
|
|
|
|
lyon = "1.0"
|
|
|
|
|
lyon_path = "1.0"
|
2025-09-08 09:49:11 +02:00
|
|
|
mundy = { version = "0.2", default-features = false }
|
2025-05-29 16:34:44 +02:00
|
|
|
nom = "8"
|
2023-09-04 12:58:41 +02:00
|
|
|
num-traits = "0.2"
|
2024-02-01 07:15:59 -05:00
|
|
|
ouroboros = "0.18"
|
2025-09-08 05:40:31 +02:00
|
|
|
png = "0.18"
|
2025-02-02 04:01:57 +01:00
|
|
|
pulldown-cmark = "0.12"
|
2024-02-01 07:15:59 -05:00
|
|
|
qrcode = { version = "0.13", default-features = false }
|
2024-01-09 07:19:15 -08:00
|
|
|
raw-window-handle = "0.6"
|
2024-07-17 13:00:00 +02:00
|
|
|
resvg = "0.42"
|
2025-06-05 00:23:36 +02:00
|
|
|
rfd = "0.15"
|
2024-07-17 13:00:00 +02:00
|
|
|
rustc-hash = "2.0"
|
2024-02-26 07:00:51 +01:00
|
|
|
semver = "1.0"
|
2025-09-08 01:24:22 +02:00
|
|
|
serde = "1.0"
|
2024-12-06 04:06:41 +01:00
|
|
|
sha2 = "0.10"
|
2025-02-11 23:18:16 +01:00
|
|
|
sipper = "0.1"
|
2025-04-02 09:03:02 +02:00
|
|
|
smol = "2"
|
2024-01-16 13:28:00 +01:00
|
|
|
smol_str = "0.2"
|
2024-01-18 09:59:36 +01:00
|
|
|
softbuffer = "0.4"
|
2023-09-19 20:48:50 +02:00
|
|
|
syntect = "5.1"
|
2025-02-15 14:00:36 +01:00
|
|
|
sysinfo = "0.33"
|
2025-06-05 00:52:22 +02:00
|
|
|
thiserror = "2"
|
2023-11-11 04:03:25 +01:00
|
|
|
tiny-skia = "0.11"
|
2023-09-04 12:58:41 +02:00
|
|
|
tokio = "1.0"
|
|
|
|
|
tracing = "0.1"
|
|
|
|
|
unicode-segmentation = "1.0"
|
2024-07-21 18:16:32 +02:00
|
|
|
url = "2.5"
|
2023-09-04 12:58:41 +02:00
|
|
|
wasm-bindgen-futures = "0.4"
|
2025-02-02 22:44:05 -03:00
|
|
|
wasmtimer = "0.4.1"
|
2024-07-16 17:19:58 +09:00
|
|
|
web-sys = "0.3.69"
|
2024-05-07 15:50:18 +02:00
|
|
|
web-time = "1.1"
|
2025-07-22 02:50:42 +02:00
|
|
|
wgpu = "26.0"
|
2024-02-13 03:14:08 +01:00
|
|
|
window_clipboard = "0.4.1"
|
2025-09-15 23:54:24 +02:00
|
|
|
winit = { git = "https://github.com/iced-rs/winit.git", rev = "05b8ff17a06562f0a10bb46e6eaacbe2a95cb5ed" }
|
2024-04-07 08:11:42 +02:00
|
|
|
|
2024-04-07 12:42:12 +02:00
|
|
|
[workspace.lints.rust]
|
2025-01-27 05:01:43 +01:00
|
|
|
rust_2018_idioms = { level = "deny", priority = -1 }
|
2024-04-07 12:42:12 +02:00
|
|
|
missing_docs = "deny"
|
|
|
|
|
unsafe_code = "deny"
|
|
|
|
|
unused_results = "deny"
|
2024-04-07 08:11:42 +02:00
|
|
|
|
2024-04-07 12:42:12 +02:00
|
|
|
[workspace.lints.clippy]
|
|
|
|
|
type-complexity = "allow"
|
2025-02-09 08:12:04 +01:00
|
|
|
map-entry = "allow"
|
2025-05-15 20:52:27 +02:00
|
|
|
large-enum-variant = "allow"
|
|
|
|
|
result_large_err = "allow"
|
2024-04-07 12:42:12 +02:00
|
|
|
semicolon_if_nothing_returned = "deny"
|
|
|
|
|
trivially-copy-pass-by-ref = "deny"
|
|
|
|
|
default_trait_access = "deny"
|
|
|
|
|
match-wildcard-for-single-variants = "deny"
|
|
|
|
|
redundant-closure-for-method-calls = "deny"
|
|
|
|
|
filter_map_next = "deny"
|
|
|
|
|
manual_let_else = "deny"
|
|
|
|
|
unused_async = "deny"
|
|
|
|
|
from_over_into = "deny"
|
|
|
|
|
needless_borrow = "deny"
|
|
|
|
|
new_without_default = "deny"
|
|
|
|
|
useless_conversion = "deny"
|
|
|
|
|
|
|
|
|
|
[workspace.lints.rustdoc]
|
|
|
|
|
broken_intra_doc_links = "forbid"
|