[package] name = "epaint" version = "0.21.0" authors = ["Emil Ernerfeldt "] 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 interopability 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 interopability 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