#egui #gui-framework #irox #serialization

irox-egui-extras

Extras & tweaks for the egui framework

24 releases

0.5.0 Oct 30, 2024
0.4.3 Aug 5, 2024
0.3.12 Jul 9, 2024
0.3.7 Mar 3, 2024
0.3.3 Nov 29, 2023

#279 in GUI

Download history 145/week @ 2024-07-29 316/week @ 2024-08-05 6/week @ 2024-08-12 103/week @ 2024-09-09 455/week @ 2024-09-16 39/week @ 2024-09-23 28/week @ 2024-09-30 3/week @ 2024-10-14 137/week @ 2024-10-28 15/week @ 2024-11-04

155 downloads per month
Used in 2 crates

MIT/Apache

365KB
9K SLoC

irox Extras for egui

Stuff that should have been in egui, but isn't.

Features

Widgets:

EGUI/Serde Serializer for Debugging Objects visually:

Use:

    let object = (); // your object that impls Serialize
let mut ser = EguiSerializer::new();
if let Ok(()) = obj.serialize( & mut ser) {
ser.show(ui);
}

In the above screenshot, ui is a Window

ProgressBar

Drop-in replacement of egui's ProgressBar widget with some tweaks:

  • Removes the animated spinner for performance
  • Adds the ability to mark the bar as 'indeterminate' and show a bouncing bar back and forth
  • Adds the ability to right align, center, and left align text in the bar. These are not mutually exclusive, and you can have text in all three positions simultaneously.

Frames, Apps, & Infrastructure

ToolFrame & ToolApp

Boilerplate bootstraps to make writing tools in egui easier. See the screenshot above for an example of the ToolFrame.

You must impl ToolApp to use ToolFrame

StylePersistingApp

Wraps your App impl to automatically persist your App state to disk. Requires features serde

CompositeApp

Allows you to compose multiple Apps together. The update method will be called sequentially, in the order the apps are provided.

Dependencies

~10–52MB
~1M SLoC