3 unstable releases
0.2.2 | Jun 12, 2024 |
---|---|
0.2.1 | Apr 17, 2024 |
0.2.0 |
|
0.1.0 | Jan 2, 2024 |
#237 in Rendering
1MB
2.5K
SLoC
Rxi's Microui Port to Idiomatic Rust
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!
Demo
Clone and build the demo (SDL2 & glow) / Tested on linux:
$ cargo run --example demo-sdl2-glow-full
Roadmap
Version 1.0
- 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
Dependencies
~0.4–1.3MB
~24K SLoC