Expand description
§Hello Egui!
This project contains a collection of egui tools I’ve created during development of the native app for https://hellopaint.io (still unreleased, stay tuned!).
The crates have varying levels of maturity, some are ready for use in production while others are highly experimental. If you’re interested in using one of the experimental crates, open an issue, and I’ll try to release it on crates.io.
§Example app
An example using most of the crates is available here. Source code in fancy-example.
§hello_egui, this crate
A collection of reexports for the other crates, if you want to use all or most of them. You can toggle individual features to only include the crates you need. By default, all crates are included. Only includes crates that have been released on crates.io.
§Mature Crates
-
- Drag & drop sorting library for egui
- released on crates.io
-
- Flexbox layout for egui
- released on crates.io
-
- Simple utility for sending messages to egui uis from other threads / async functions
- released on crates.io
-
- Infinite scroll based on egui_virtual_list
- released on crates.io
-
- A SPA router for egui with support for transitions
- released on crates.io
-
- Form validation for egui
- released on crates.io
-
- Adds pull to refresh functionality to egui.
- released on crates.io
-
- A helper to display loading, error and retry uis when waiting for asynchronous data.
- released on crates.io
-
- Easily use thumbhashes in egui.
- For a showcase, check the gallery example.
- released on crates.io
§Experimental Crates
-
- Adds flexbox layout to egui using taffy
- Highly experimental, unreleased
-
- WebView widget for egui, based on wry
- Experimental, unreleased
- Warning: Currently uses some unsafe to get around Send / Sync limitations, so it probably has some safety issues.
-
- A port of steve ruiz’s perfect cursors to rust
- independent of egui, but there is a egui example
-
- Collection of utilities used by the other crates
Re-exports§
pub use egui_animation as animation;
pub use egui_dnd as dnd;
pub use egui_flex as flex;
pub use egui_form as form;
pub use egui_inbox as inbox;
pub use egui_infinite_scroll as infinite_scroll;
pub use egui_material_icons as material_icons;
pub use egui_pull_to_refresh as pull_to_refresh;
pub use egui_router as router;
pub use egui_suspense as suspense;
pub use egui_thumbhash as thumbhash;
pub use egui_virtual_list as virtual_list;