[ package ]
name = "epaint"
version = "0.21.0"
authors = [ "Emil Ernerfeldt <emil.ernerfeldt@gmail.com>" ]
description = "Minimal 2D graphics library for GUI work"
edition = "2021"
rust-version = "1.65"
homepage = "https://github.com/emilk/egui/tree/master/crates/epaint"
license = "(MIT OR Apache-2.0) AND OFL-1.1 AND LicenseRef-UFL-1.0" # OFL and UFL used by default_fonts. See https://github.com/emilk/egui/issues/2321
readme = "README.md"
repository = "https://github.com/emilk/egui/tree/master/crates/epaint"
categories = [ "graphics" , "gui" ]
keywords = [ "graphics" , "gui" , "egui" ]
include = [
"../LICENSE-APACHE" ,
"../LICENSE-MIT" ,
"**/*.rs" ,
"Cargo.toml" ,
"fonts/*.ttf" ,
"fonts/*.txt" ,
"fonts/OFL.txt" ,
"fonts/UFL.txt" ,
]
[ package . metadata . docs . rs ]
all-features = true
[ lib ]
[ features ]
default = [ "default_fonts" ]
## [`bytemuck`](https://docs.rs/bytemuck) enables you to cast [`Vertex`] to `&[u8]`.
bytemuck = [ "dep:bytemuck" , "emath/bytemuck" , "ecolor/bytemuck" ]
## [`cint`](https://docs.rs/cint) enables interoperability with other color libraries.
cint = [ "ecolor/cint" ]
## Enable the [`hex_color`] macro.
color-hex = [ "ecolor/color-hex" ]
## This will automatically detect deadlocks due to double-locking on the same thread.
## If your app freezes, you may want to enable this!
## Only affects [`mutex::RwLock`] (which epaint and egui uses a lot).
deadlock_detection = [ "dep:backtrace" ]
## If set, epaint will use `include_bytes!` to bundle some fonts.
## If you plan on specifying your own fonts you may disable this feature.
default_fonts = [ ]
## Enable additional checks if debug assertions are enabled (debug builds).
extra_debug_asserts = [
"emath/extra_debug_asserts" ,
"ecolor/extra_debug_asserts" ,
]
## Always enable additional checks.
extra_asserts = [ "emath/extra_asserts" , "ecolor/extra_asserts" ]
## [`mint`](https://docs.rs/mint) enables interoperability with other math libraries such as [`glam`](https://docs.rs/glam) and [`nalgebra`](https://docs.rs/nalgebra).
mint = [ "emath/mint" ]
## Allow serialization using [`serde`](https://docs.rs/serde).
serde = [ "dep:serde" , "ahash/serde" , "emath/serde" , "ecolor/serde" ]
## Change Vertex layout to be compatible with unity
unity = [ ]
[ dependencies ]
emath = { version = "0.21.0" , path = "../emath" }
ecolor = { version = "0.21.0" , path = "../ecolor" }
ab_glyph = "0.2.11"
ahash = { version = "0.8.1" , default-features = false , features = [
"no-rng" , # we don't need DOS-protection, so we let users opt-in to it instead
"std" ,
] }
nohash-hasher = "0.2"
#! ### Optional dependencies
bytemuck = { version = "1.7.2" , optional = true , features = [ "derive" ] }
## Enable this when generating docs.
document-features = { version = "0.2" , optional = true }
## Allow serialization using [`serde`](https://docs.rs/serde) .
serde = { version = "1" , optional = true , features = [ "derive" , "rc" ] }
# native:
[ target . 'cfg(not(target_arch = "wasm32"))' . dependencies ]
backtrace = { version = "0.3" , optional = true }
parking_lot = "0.12" # Using parking_lot over std::sync::Mutex gives 50% speedups in some real-world scenarios.
# web:
[ target . 'cfg(target_arch = "wasm32")' . dependencies ]
atomic_refcell = "0.1" # Used instead of parking_lot on on wasm. See https://github.com/emilk/egui/issues/1401
[ dev-dependencies ]
criterion = { version = "0.4" , default-features = false }
[ [ bench ] ]
name = "benchmark"
harness = false