[package] name = "iced" description = "A cross-platform GUI library inspired by Elm" version.workspace = true edition.workspace = true authors.workspace = true license.workspace = true repository.workspace = true homepage.workspace = true categories.workspace = true keywords.workspace = true rust-version.workspace = true [lints] workspace = true [package.metadata.docs.rs] rustdoc-args = ["--cfg", "docsrs"] all-features = true [badges] maintenance = { status = "actively-developed" } [features] default = ["wgpu", "tiny-skia", "fira-sans", "auto-detect-theme"] # Enable the `wgpu` GPU-accelerated renderer backend wgpu = ["iced_renderer/wgpu", "iced_widget/wgpu"] # Enable the `tiny-skia` software renderer backend tiny-skia = ["iced_renderer/tiny-skia"] # Enables the `Image` widget image = ["image-without-codecs", "image/default"] # Enables the `Image` widget, without any built-in codecs of the `image` crate image-without-codecs = ["iced_widget/image", "dep:image"] # Enables the `Svg` widget svg = ["iced_widget/svg"] # Enables the `Canvas` widget canvas = ["iced_widget/canvas"] # Enables the `QRCode` widget qr_code = ["iced_widget/qr_code"] # Enables the `markdown` widget markdown = ["iced_widget/markdown"] # Enables lazy widgets lazy = ["iced_widget/lazy"] # Enables a debug view in native platforms (press F12) debug = ["iced_winit/debug"] # Enables `tokio` as the `executor::Default` on native platforms tokio = ["iced_futures/tokio"] # Enables `async-std` as the `executor::Default` on native platforms async-std = ["iced_futures/async-std"] # Enables `smol` as the `executor::Default` on native platforms smol = ["iced_futures/smol"] # Enables querying system information system = ["iced_winit/system"] # Enables broken "sRGB linear" blending to reproduce color management of the Web web-colors = ["iced_renderer/web-colors"] # Enables the WebGL backend, replacing WebGPU webgl = ["iced_renderer/webgl"] # Enables the syntax `highlighter` module highlighter = ["iced_highlighter", "iced_widget/highlighter"] # Enables experimental multi-window support. multi-window = ["iced_winit/multi-window"] # Enables the advanced module advanced = ["iced_core/advanced", "iced_widget/advanced"] # Enables embedding Fira Sans as the default font on Wasm builds fira-sans = ["iced_renderer/fira-sans"] # Enables auto-detecting light/dark mode for the built-in theme auto-detect-theme = ["iced_core/auto-detect-theme"] # Enables strict assertions for debugging purposes at the expense of performance strict-assertions = ["iced_renderer/strict-assertions"] [dependencies] iced_core.workspace = true iced_futures.workspace = true iced_renderer.workspace = true iced_widget.workspace = true iced_winit.features = ["program"] iced_winit.workspace = true iced_highlighter.workspace = true iced_highlighter.optional = true thiserror.workspace = true image.workspace = true image.optional = true [dev-dependencies] criterion = "0.5" iced_wgpu.workspace = true [[bench]] name = "wgpu" harness = false required-features = ["canvas"] [profile.release-opt] inherits = "release" codegen-units = 1 debug = false lto = true incremental = false opt-level = 3 overflow-checks = false strip = "debuginfo" [workspace] members = [ "core", "futures", "graphics", "highlighter", "renderer", "runtime", "tiny_skia", "wgpu", "widget", "winit", "examples/*", ] [workspace.package] version = "0.14.0-dev" authors = ["Héctor Ramón Jiménez "] edition = "2021" license = "MIT" repository = "https://github.com/iced-rs/iced" homepage = "https://iced.rs" categories = ["gui"] keywords = ["gui", "ui", "graphics", "interface", "widgets"] rust-version = "1.80" [workspace.dependencies] iced = { version = "0.14.0-dev", path = "." } iced_core = { version = "0.14.0-dev", path = "core" } 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" } iced_renderer = { version = "0.14.0-dev", path = "renderer" } iced_runtime = { version = "0.14.0-dev", path = "runtime" } 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" } async-std = "1.0" bitflags = "2.0" bytemuck = { version = "1.0", features = ["derive"] } bytes = "1.6" cosmic-text = "0.12" dark-light = "1.0" futures = "0.3" glam = "0.25" glyphon = { git = "https://github.com/hecrj/glyphon.git", rev = "0d7ba1bba4dd71eb88d2cface5ce649db2413cb7" } guillotiere = "0.6" half = "2.2" image = { version = "0.24", default-features = false } kamadak-exif = "0.5" kurbo = "0.10" log = "0.4" lyon = "1.0" lyon_path = "1.0" num-traits = "0.2" once_cell = "1.0" ouroboros = "0.18" palette = "0.7" pulldown-cmark = "0.11" qrcode = { version = "0.13", default-features = false } raw-window-handle = "0.6" resvg = "0.42" rustc-hash = "2.0" smol = "1.0" smol_str = "0.2" softbuffer = "0.4" syntect = "5.1" sysinfo = "0.30" thiserror = "1.0" tiny-skia = "0.11" tokio = "1.0" tracing = "0.1" unicode-segmentation = "1.0" url = "2.5" wasm-bindgen-futures = "0.4" wasm-timer = "0.2" web-sys = "0.3.69" web-time = "1.1" wgpu = "22.0" winapi = "0.3" window_clipboard = "0.4.1" winit = { git = "https://github.com/iced-rs/winit.git", rev = "254d6b3420ce4e674f516f7a2bd440665e05484d" } [workspace.lints.rust] rust_2018_idioms = { level = "forbid", priority = -1 } missing_debug_implementations = "deny" missing_docs = "deny" unsafe_code = "deny" unused_results = "deny" [workspace.lints.clippy] type-complexity = "allow" 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"