A complete rewrite of the amazing microui library in nim https://github.com/rxi/microui
See demo
for example usage
- GLFW - see https://www.glfw.org/download.html
- Glad - included in
demo
nim c -r demo/glad+glfw/demo.nim
- Works within a fixed-sized memory region: no additional memory is allocated
- Built-in controls: window, scrollable panel, button, slider, textbox, label, checkbox, wordwrapped text
- Works with any rendering system that can draw rectangles and text
- Designed to allow the user to easily add custom controls
- Simple layout system
if (mu_begin_window(ctx, "My Window", mu_rect(10, 10, 140, 86))) {
mu_layout_row(ctx, 2, (int[]) { 60, -1 }, 0);
mu_label(ctx, "First:");
if (mu_button(ctx, "Button1")) {
printf("Button1 pressed\n");
}
mu_label(ctx, "Second:");
if (mu_button(ctx, "Button2")) {
mu_open_popup(ctx, "My Popup");
}
if (mu_begin_popup(ctx, "My Popup")) {
mu_label(ctx, "Hello world!");
mu_end_popup(ctx);
}
mu_end_window(ctx);
}
- See
doc/usage.md
for usage instructions - See the
demo
directory for a usage example
The library expects the user to provide input and handle the resultant drawing commands, it does not do any drawing itself.