Skip to content
HN On Hacker News ↗

GitHub - rxi/microui: A tiny immediate-mode UI library

▲ 257 points 87 comments by peter_d_sherman 1w ago HN discussion ↗

Pangram verdict · v3.3

We believe that this document is fully human-written

0 %

AI likelihood · overall

Human
100% human-written 0% AI-generated
SEGMENTS · HUMAN 1 of 1
SEGMENTS · AI 0 of 1
WORD COUNT 213
PEAK AI % 0% · §1
Analyzed
Jun 17
backend: pangram/v3.3
Segments scanned
1 windows
avg 213 words each
Distribution
100 / 0%
human / AI fraction
Verdict
Human
Pangram v3.3

Article text · 213 words · 1 segments analyzed

Human AI-generated
§1 Human · 0%

A tiny, portable, immediate-mode UI library written in ANSI C Features

Tiny: around 1100 sloc of ANSI C 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

Example

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); } Screenshot

Browser Demo Usage

See doc/usage.md for usage instructions See the demo directory for a usage example

Notes The library expects the user to provide input and handle the resultant drawing commands, it does not do any drawing itself. Contributing The library is designed to be lightweight, providing a foundation to which you can easily add custom controls and UI elements; pull requests adding additional features will likely not be merged. Bug reports are welcome. License This library is free software; you can redistribute it and/or modify it under the terms of the MIT license. See LICENSE for details.