forked from fschutt/azul
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
129 lines (117 loc) · 5.54 KB
/
Cargo.toml
File metadata and controls
129 lines (117 loc) · 5.54 KB
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
118
119
120
121
122
123
124
125
126
127
128
129
[package]
name = "azul"
version = "0.1.0"
authors = ["Felix Schütt <felix.schuett@maps4print.com>"]
description = '''
Azul GUI is a free, functional, MVVM-oriented GUI framework
for rapid development of desktop applications written in Rust,
supported by the Mozilla WebRender rendering engine
'''
documentation = "https://docs.rs/azul"
homepage = "https://azul.rs/"
keywords = ["gui", "GUI", "user interface", "svg", "graphics" ]
categories = ["gui"]
license = "MIT"
repository = "https://github.com/maps4print/azul"
readme = "README.md"
exclude = ["assets/*", "doc/*", "examples/*"]
autoexamples = false
[dependencies]
simplecss = { version = "0.1.0", default-features = false }
glium = { version = "0.22.0", default-features = false, features = ["glutin"] }
gleam = { version = "0.6", default-features = false }
euclid = { version = "0.19", default-features = false }
rusttype = { version = "0.6.4", default-features = false }
app_units = { version = "0.7", default-features = false } # TODO: Remove once webrender PR is merged
unicode-normalization = { version = "0.1.5", default-features = false }
lazy_static = { version = "1", default-features = false }
tinyfiledialogs = { version = "3.3.5", default-features = false }
clipboard2 = { version = "0.1.0", default-features = false }
font-loader = { version = "0.7.0", default-features = false }
log = { version = "0.4.1", default-features = false, optional = true }
stb_truetype = { version = "0.2.2", default-features = false, optional = true }
fern = { version = "0.5.5", default-features = false, optional = true }
backtrace = { version = "0.3.9", default-features = false, optional = true }
lyon = { version = "0.11.0", default-features = false, optional = true }
serde = { version = "1", default-features = false, optional = true }
twox-hash = { version = "1.1.0", default-features = false, optional = true }
usvg = { version = "0.3.0", default-features = false, optional = true }
image = { version = "0.19.0", default-features = false, optional = true, features = ["gif_codec", "jpeg", "png_codec", "pnm", "tiff", "bmp"] }
# Windows: Use nativefiledialog because of better Unicode support for file browsers
[target.'cfg(not(target_os = "linux"))'.dependencies]
nfd = { version = "0.0.4", default-features = false }
webrender = { git = "https://github.com/servo/webrender", rev = "f8213800c600c8058556e962dd4f28dbc88a5931", default-features = false }
# Linux: Use webrender with freetype feature enabled
[target.'cfg(target_os = "linux")'.dependencies]
webrender = { git = "https://github.com/servo/webrender", rev = "f8213800c600c8058556e962dd4f28dbc88a5931" }
[features]
# The "SVG" feature only enables the creation of shapes / polygons, etc. not the actual parsing
# (which needs the `svg_parsing` feature).
default = ["logging", "svg", "image_loading"]
# The reason we do this is because doctests don't get cfg(test)
# See: https://github.com/rust-lang/cargo/issues/4669
doc-test = []
# Some test have to be disabled for Travis, since Travis does not
# use OpenGL 3.2, so the tests will fail.
#
# To actually test the library, run `cargo --test --features=doc-test`
no-opengl-tests = []
# Enable this feature to enable crash logging & reporting.
# Azul will insert custom panic handlers to pop up a message and log
# crashes to an "error.log" file, see AppConfig for more details
logging = ["fern", "backtrace", "log"]
# The SVG rendering module is pretty huge since it needs lyon - if you don't use
# SVG rendering in your app, you can turn this off to increase compilation
# speed and decrease your binary size
svg = ["lyon", "stb_truetype"]
# This is for activating **parsing** of SVG files. If you, for example, just
# want to draw shapes on the screen, you do not need to activate this feature,
# this is just for parsing the SVG from a file.
svg_parsing = ["svg", "usvg"]
# If you want an application icon, you can either load it via the raw
# RGBA bytes or use the icon_loading feature to decode it from a PNG / JPG /
# whatever image format on startup. Note that this will import the image
# dependency and use a bit of extra runtime.
icon_loading = ["glium/icon_loading"]
# For serializing / deserializing CSS colors using serde
serde_serialization = ["serde"]
# twox-hash imports the rand crate, which takes a long time to compile
# If azul isn't using XXHash, it uses the std-library provided hash algorithm
#
# The performance hit should be negligible, so this feature is turned off by
# default. Maybe turn it on in release builds.
faster-hashing = ["twox-hash"]
# On some applications you might not want to load any images. For these purposes
# the image crate can be disabled, to speed up compile times
image_loading = ["image"]
# Features to load extra image formats
ico = ["image/ico"]
tga = ["image/tga"]
hdr = ["image/hdr"]
jpeg_rayon = ["image/jpeg_rayon"]
dxt = ["image/dxt"]
webp = ["image/webp"]
[[example]]
name = "debug"
required-features = ["svg_parsing"]
[[example]]
name = "async"
required-features = []
[[example]]
name = "hot_reload"
required-features = ["image_loading"]
[[example]]
name = "table"
required-features = []
[[example]]
name = "text_input"
required-features = []
[[example]]
name = "list"
required-features = []
[[example]]
name = "calculator"
required-features = []
[[example]]
name = "dragger"
required-features = []