This a port of Rxi's MicroUI to Rust language. We tried to keep the usage pattern as close to the original as possible, but also as idiomatic to Rust as possible. In contrast with , this version uses the standard library to give us more flexibity and switch to closures for all container related operations (Window, Panel, Columns, ...).
Originally, we used C2Rust to create the initial code and iterated > 60 times to make microui-rs. This builds on top of that by much more!
Clone and build the demo (SDL2 & glow) / Tested on linux:
$ cargo run --example demo-sdl2-glow-full
- Use
std
(Vec
,parse
, ...) - Containers contain clip stack and command list
- Move
begin_*
,end_*
functions to closures - Move to AtlasRenderer Trait
- Remove/Refactor
Pool
- Change layout code
- Treenode as tree
- Manage windows lifetime & ownership outside of context (use root windows)
- Manage containers lifetime & ownership outside of contaienrs
- Software based textured rectangle clipping
- Add Atlasser to the code
- Runtime atlasser
- Icon
- Font (Hash Table)
- Separate Atlas Builder from the Atlas
- Builder feature
- Save Atlas to rust
- Atlas loader from const rust
- Runtime atlasser
- Image widget
- Png Atlas source
- Pass-Through rendering command (for 3D viewports)
- API/Examples loop/iterations
- Documentation