forked from lapce/floem
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Cargo.toml
117 lines (105 loc) · 3.93 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
[workspace]
resolver = "2"
members = ["renderer", "vello", "vger", "tiny_skia", "reactive", "macros", "editor-core", "examples/*"]
[workspace.package]
license = "MIT"
version = "0.1.1"
[package]
name = "floem"
version.workspace = true
authors = ["The Floem contributors"]
readme = "README.md"
repository = "https://github.com/lapce/floem"
description = "A native Rust UI library with fine-grained reactivity"
edition = "2021"
rust-version = "1.80"
license.workspace = true
[workspace.dependencies]
peniko = { version = "0.2.0", features = ["serde"] }
serde = "1.0"
lapce-xi-rope = { version = "0.3.2", features = ["serde"] }
strum = { version = "0.26.2" }
strum_macros = { version = "0.26.2" }
# Image format features are defined via new features
image = { version = "0.25", default-features = false }
im = { version = "15.1.0" }
resvg = { version = "0.43.0" }
raw-window-handle = "0.6.0"
wgpu = { version = "22.0.0" }
parking_lot = { version = "0.12.1" }
swash = { version = "0.1.17" }
[dependencies]
macros = {path = "macros", version = "0.1.0"}
slotmap = "1.0.7"
sha2 = "0.10.6"
bitflags = "2.6.0"
indexmap = "2"
rustc-hash = "1.1.0"
smallvec = "1.10.0"
educe = "0.5.11"
taffy = { version = "0.4", features = ["grid"] }
rfd = { version = "0.14.0", default-features = false, features = [
"xdg-portal",
], optional = true }
tokio = { version = "1", features = ["sync", "rt"], optional = true }
raw-window-handle = { workspace = true }
unicode-segmentation = "1.10.0"
peniko = { workspace = true }
crossbeam-channel = "0.5.6"
im-rc = "15.1.0"
serde = { workspace = true, optional = true }
lapce-xi-rope = { workspace = true, optional = true }
strum = { workspace = true, optional = true }
strum_macros = { workspace = true, optional = true }
# TODO: once https://github.com/rust-lang/rust/issues/65991 is stabilized we don't need this
downcast-rs = { version = "1.2.0", optional = true }
floem_renderer = { path = "renderer", version = "0.1.0" }
floem_vello_renderer ={ path = "vello", version = "0.1.0", optional = true}
floem_vger_renderer ={ path = "vger", version = "0.1.0", optional = true}
floem_tiny_skia_renderer = { path = "tiny_skia", version = "0.1.0" }
floem_reactive = { path = "reactive", version = "0.1.0" }
floem-winit = { git = "https://github.com/lapce/winit", rev = "c8d3b8fd6fa4ffd5e0f99be78aacddcf6de57bcd", features = ["rwh_05"] }
floem-editor-core = { path = "editor-core", version = "0.1.0", optional = true }
copypasta = { version = "0.10.0", default-features = false, features = ["wayland", "x11"] }
parking_lot = { workspace = true }
image = { workspace = true }
im = { workspace = true }
wgpu = { workspace = true }
futures = { version = "0.3.30", optional = true }
crossbeam = "0.8"
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen-futures = { version = "0.4" }
web-time = "1"
[target.'cfg(target_os = "windows")'.dependencies]
clipboard-win = "3.1.1"
[features]
default = ["editor", "default-image-formats", "vger"]
vello = ["dep:floem_vello_renderer"]
vger = ["dep:floem_vger_renderer"]
# TODO: this is only winit and the editor serde, there are other dependencies that still depend on
# serde
serde = ["floem-winit/serde", "dep:serde"]
editor = ["floem-editor-core", "dep:lapce-xi-rope", "dep:strum", "dep:strum_macros", "dep:downcast-rs"]
# Image support
# From: https://github.com/image-rs/image/blob/main/Cargo.toml
default-image-formats = ["image-jpeg", "image-ico", "image-png", "image-webp"]
image-avif = ["image/avif"]
image-bmp = ["image/bmp"]
image-dds = ["image/dds"]
image-exr = ["image/exr"]
image-ff = ["image/ff"]
image-gif = ["image/gif"]
image-hdr = ["image/hdr"]
image-ico = ["image/ico"]
image-jpeg = ["image/jpeg"]
image-png = ["image/png"]
image-pnm = ["image/pnm"]
image-qoi = ["image/qoi"]
image-tga = ["image/tga"]
image-tiff = ["image/tiff"]
image-webp = ["image/webp"]
tokio = ["dep:tokio"]
# rfd (file dialog) async runtime
rfd-async-std = ["dep:rfd", "rfd/async-std"]
rfd-tokio = ["dep:rfd", "rfd/tokio"]
futures = ["dep:futures"]