[package]
name = "embedded-gui"
version = "0.2.0"
edition = "2024"
rust-version = "1.87"
authors = ["Gerzain Mata <leftger@gmail.com>"]
license = "MIT OR Apache-2.0"
description = "no_std GUI and HUD primitives for embedded-graphics displays"
keywords = ["embedded-graphics", "gui", "hud", "embedded", "no_std"]
categories = ["embedded", "gui", "no-std"]
repository = "https://github.com/leftger/embedded-gui"
homepage = "https://github.com/leftger/embedded-gui"
documentation = "https://docs.rs/embedded-gui"
readme = "README.md"
exclude = [
"docs/screenshots/*.gif",
"docs/screenshots/*.png",
"assets/",
]
[features]
default = ["std", "rich-widgets"]
std = ["embedded-dsp?/std"]
rich-widgets = []
image-decode = ["std"]
libm = ["dep:libm", "embedded-dsp?/libm"]
micromath = ["dep:micromath"]
embedded-text = ["dep:embedded-text", "dep:embedded-graphics"]
embedded-layout = ["dep:embedded-layout", "dep:embedded-graphics"]
embedded-graphics = ["dep:embedded-graphics"]
embedded-dsp = ["dep:embedded-dsp", "embedded-dsp/filtering", "embedded-dsp/statistics"]
triple-buffering = []
embassy-time = ["dep:embassy-time"]
embassy = ["embassy-time", "dep:embassy-sync"]
[dependencies]
embedded-graphics-core = "0.4.1"
embedded-draw-target = { version = "0.1", default-features = false }
embedded-graphics-framebuf = "0.3"
critical-section = "1.1"
heapless = "0.9"
embassy-time = { version = "0.5", default-features = false, optional = true }
embassy-sync = { version = "0.8", default-features = false, optional = true }
libm = {version = "0.2", optional = true}
micromath = {version = "2.1", optional = true}
embedded-graphics = { version = "0.8", optional = true }
embedded-text = { version = "0.7.3", optional = true }
embedded-layout = { version = "0.4.2", optional = true }
embedded-dsp = { version = "0.2.0", optional = true, default-features = false }
[dev-dependencies]
critical-section = { version = "1.1", features = ["std"] }
criterion = { version = "0.5", features = ["html_reports"] }
embassy-time = { version = "0.5", features = ["std"] }
embassy-sync = { version = "0.8" }
embedded-3dgfx = { version = "0.3.2" }
embedded-graphics = "0.8"
embedded-graphics-framebuf = "0.3"
embedded-graphics-simulator = "0.8"
nalgebra = { version = "0.34", default-features = false, features = ["std"] }
[[bench]]
name = "gui_benchmarks"
harness = false
[[example]]
name = "interop_showcase"
path = "examples/integrations/interop_showcase.rs"
required-features = ["embedded-text", "embedded-layout"]
[[example]]
name = "completion_swapchain_sim"
path = "examples/integrations/completion_swapchain_sim.rs"
required-features = ["std"]
[[example]]
name = "embassy_gui_frame"
path = "examples/integrations/embassy_gui_frame.rs"
required-features = ["embassy", "std"]
[[example]]
name = "custom_font_showcase"
path = "examples/basics/custom_font_showcase.rs"
required-features = ["std"]