egui_extras 0.29.1

Extra functionality and widgets for the egui GUI library
Documentation
[package]
name = "egui_extras"
version.workspace = true
authors = [
  "Dominik Rössler <dominik@freshx.de>",
  "Emil Ernerfeldt <emil.ernerfeldt@gmail.com>",
  "René Rössler <rene@freshx.de>",
]
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"]

## Enable profiling with the [`puffin`](https://docs.rs/puffin) crate.
##
## Only enabled on native, because of the low resolution (1ms) of clocks in browsers.
puffin = ["dep:puffin", "egui/puffin"]

## 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

#! ### 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 }

puffin = { workspace = true, optional = true }

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 }