mirror of
https://github.com/emilk/egui.git
synced 2026-08-30 13:20:05 -04:00
* add types from proposal * add load methods on `egui::Context` * implement loaders from proposal in `egui_extras` * impl `From<Vec2>` for `SizeHint` * re-export `SizeHint` from `egui` root * rework `svg` example to use new managed `Image` * split loaders into separate files + add logging * add `log_trace` * clean up `RetainedImage` from `svg` example * refactor ehttp loader response to bytes mapping * remove spammy trace * load images even without extension * fix lints * remove unused imports * use `Image2` in `download_image` * use `visuals.error_fg_color` in `Image2` error state * update lockfile * use `Arc<ColorImage>` in `ImageData` + add `forget` API * add `ui.image2` * add byte size query api * use iterators to sum loader byte sizes * add static image loading * use static image in `svg` example * small refactor of `Image2::ui` texture loading code * add `ImageFit` to size images properly * remove println calls * add bad image load to `download_image` example * add loader file extension support tests * fix lint errors in `loaders` * remove unused `poll-promise` dependency * add some docs to `Image2` * add some docs to `egui_extras::loaders::install` * explain `loaders::install` in examples * fix lint * upgrade `ehttp` to `0.3` for some crates * Remove some unused dependencies * Remove unnecessary context clone * Turn on the `log` create feature of egui_extras in all examples * rename `forget` and document it * derive `Debug` on `SizeHint` Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com> * round when converting SizeHint from vec2 Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com> * add `load` module docs * docstring `add_loader` methods * expose + document `load_include_bytes` * cache texture handles in `DefaultTextureLoader` * add `image2` doctest + further document `Image2` * use `Default` for default `Image2` options * update `image2` doc comment * mention immediate-mode safety * more fit calculation into inherent impl * add hover text on spinner * add `all-loaders` feature * clarify `egui_extras::loaders::install` behavior * explain how to enable image formats * properly format `uri` * use `thread::Builder` instead of `spawn` * use eq op instead of `matches` * inline `From<Arc<ColorImage>>` for `ImageData` * allow non-`'static` bytes + `forget` in `DefaultTextureLoader` * sort features * change `ehttp` feature to `http` * update `Image2` docs * refactor loader cache type --------- Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
87 lines
2.5 KiB
TOML
87 lines
2.5 KiB
TOML
[package]
|
|
name = "egui_extras"
|
|
version = "0.22.0"
|
|
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 = "2021"
|
|
rust-version = "1.70"
|
|
homepage = "https://github.com/emilk/egui"
|
|
license = "MIT OR Apache-2.0"
|
|
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"]
|
|
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
|
|
[lib]
|
|
|
|
|
|
[features]
|
|
default = []
|
|
|
|
## Shorthand for enabling `svg`, `image`, and `ehttp`.
|
|
all-loaders = ["svg", "image", "http"]
|
|
|
|
## Enable [`DatePickerButton`] widget.
|
|
datepicker = ["chrono"]
|
|
|
|
## Log warnings using [`log`](https://docs.rs/log) crate.
|
|
log = ["dep:log", "egui/log"]
|
|
|
|
## Add support for loading images via HTTP.
|
|
http = ["dep:ehttp"]
|
|
|
|
## 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"]
|
|
|
|
## Support loading svg images.
|
|
svg = ["resvg", "tiny-skia", "usvg"]
|
|
|
|
[dependencies]
|
|
egui = { version = "0.22.0", path = "../egui", default-features = false }
|
|
|
|
serde = { version = "1", features = ["derive"] }
|
|
|
|
#! ### Optional dependencies
|
|
|
|
# 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 = { version = "0.2", optional = true }
|
|
|
|
## 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.24", features = ["jpeg", "png"] }
|
|
## ```
|
|
image = { version = "0.24", optional = true, default-features = false }
|
|
|
|
# feature "log"
|
|
log = { version = "0.4", optional = true, features = ["std"] }
|
|
|
|
puffin = { version = "0.16", optional = true }
|
|
|
|
# svg feature
|
|
resvg = { version = "0.28", optional = true, default-features = false }
|
|
tiny-skia = { version = "0.8", optional = true, default-features = false } # must be updated in lock-step with resvg
|
|
usvg = { version = "0.28", optional = true, default-features = false }
|
|
|
|
# http feature
|
|
ehttp = { version = "0.3.0", optional = true, default-features = false }
|