microui-redux

Crates.iomicroui-redux
lib.rsmicroui-redux
version0.2.2
sourcesrc
created_at2024-01-02 04:27:44.67446
updated_at2024-06-12 01:36:54.320038
descriptionIdiomatic Rust MicroUI (immediate mode GUI) library port
homepage
repositoryhttps://github.com/NeoCogi/microui-redux
max_upload_size
id1085785
size1,061,827
Wael El Oraiby (eloraiby)

documentation

README

Rxi's Microui Port to Idiomatic Rust

Crate

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 microui-rs, 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

random

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
  • Image widget
  • Png Atlas source
  • Pass-Through rendering command (for 3D viewports)
  • API/Examples loop/iterations
  • Documentation
Commit count: 175

cargo fmt