irox-egui-extras 0.5.5

Extras & tweaks for the egui framework
irox Extras for egui
=================================

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


Features
---------

### Widgets:

#### EGUI/Serde Serializer for Debugging Objects visually:

<img src="doc/serde_test.png" width="254" height="610"/>

Use:

```rust
    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.

![](doc/prog1.gif)

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