[package] name = "egui_extras" version.workspace = true authors = [ "Dominik Rössler ", "Emil Ernerfeldt ", "René Rössler ", ] description = "Extra functionality and widgets for the egui GUI library" edition.workspace = true rust-version.workspace = true homepage = "https://github.com/emilk/egui" license.workspace = true readme = "README.md" repository = "https://github.com/emilk/egui" categories = ["gui", "game-development"] keywords = ["gui", "imgui", "immediate", "portable", "gamedev"] include = ["../LICENSE-APACHE", "../LICENSE-MIT", "**/*.rs", "Cargo.toml"] [lints] workspace = true [package.metadata.docs.rs] all-features = true rustdoc-args = ["--generate-link-to-definition"] [lib] [features] default = ["dep:mime_guess2"] ## Shorthand for enabling the different types of image loaders (`file`, `http`, `image`, `svg`). all_loaders = ["file", "http", "image", "svg", "gif"] ## Enable [`DatePickerButton`] widget. datepicker = ["chrono"] ## Add support for loading images from `file://` URIs. file = ["dep:mime_guess2"] ## Support loading gif images. gif = ["image", "image/gif"] ## Add support for loading images via HTTP. http = ["dep:ehttp"] ## Add support for loading images with the [`image`](https://docs.rs/image) crate. ## ## You also need to ALSO opt-in to the image formats you want to support, like so: ## ```toml ## image = { version = "0.25", features = ["jpeg", "png"] } # Add the types you want support for ## ``` image = ["dep:image"] ## Derive serde Serialize/Deserialize on stateful structs serde = ["egui/serde", "dep:serde"] ## Support loading svg images. svg = ["resvg"] ## Enable better syntax highlighting using [`syntect`](https://docs.rs/syntect). syntect = ["dep:syntect"] [dependencies] egui = { workspace = true, default-features = false } ahash.workspace = true enum-map = { version = "2", features = ["serde"] } log.workspace = true profiling.workspace = true #! ### Optional dependencies # Serde for serializing state serde = { workspace = true, optional = true } # Date operations needed for datepicker widget chrono = { version = "0.4", optional = true, default-features = false, features = [ "clock", "js-sys", "std", "wasmbind", ] } ## Enable this when generating docs. document-features = { workspace = true, optional = true } image = { workspace = true, optional = true } # file feature mime_guess2 = { version = "2", optional = true, default-features = false } syntect = { version = "5", optional = true, default-features = false, features = [ "default-fancy", ] } # svg feature resvg = { version = "0.37", optional = true, default-features = false } # http feature ehttp = { version = "0.5", optional = true, default-features = false }