[workspace]
members = [".", "guido-macros"]

[workspace.package]
version = "0.2.0"
edition = "2024"
authors = ["Simone Camito"]
categories = ["gui", "reactive", "wayland", "leyershell", "wgpu"]
keywords = ["gui", "reactive", "wayland", "leyershell", "wgpu", "guido"]
readme = "README.md"
documentation = "https://docs.rs/guido"
repository = "https://github.com/MalpenZibo/guido"
homepage = "https://malpenzibo.github.io/guido"
license = "MIT"

[workspace.dependencies]
guido-macros = { path = "guido-macros", version = "0.2.0" }

[package]
name = "guido"
description = "A reactive Rust GUI library using wgpu for Wayland layer shell widgets"
version.workspace = true
edition.workspace = true
authors.workspace = true
repository.workspace = true
documentation.workspace = true
homepage.workspace = true
license.workspace = true

[features]
default = []
layout-stats = []

[dependencies]
guido-macros = { workspace = true }
wgpu = { version = "28.0", features = ["fragile-send-sync-non-atomic-wasm"] }
bytemuck = { version = "1.24", features = ["derive"] }
glyphon = "0.10"
cosmic-text = "0.17"
smithay-client-toolkit = { version = "0.20", default-features = false, features = ["calloop", "xkbcommon"] }
wayland-backend = { version = "0.3", features = ["client_system"] }
raw-window-handle = "0.6"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "gif", "webp"] }
resvg = "0.46"
pollster = "0.4"
log = "0.4"
env_logger = "0.11"
bitflags = "2.4"
libc = "0.2"

[dev-dependencies]
env_logger = "0.11"

[[example]]
name = "status_bar"
path = "examples/status_bar.rs"

[[example]]
name = "reactive_example"
path = "examples/reactive_example.rs"

[[example]]
name = "showcase"
path = "examples/showcase.rs"

[[example]]
name = "image_example"
path = "examples/image_example.rs"

[[example]]
name = "text_input_example"
path = "examples/text_input_example.rs"

[[example]]
name = "layout_stats_test"
path = "examples/layout_stats_test.rs"

[[example]]
name = "renderer_v2_test"
path = "examples/renderer_v2_test.rs"

[[example]]
name = "perf_stress_test"
path = "examples/perf_stress_test.rs"
