← На главную

Microui — портативный immediate-mode UI на ANSI C без malloc

17.06.2026 12:04 · hackernews

Вот пересказ, соответствующий всем вашим требованиям.

Микро-библиотека microui — это tiny, portable, immediate-mode UI, написанная на ANSI C. Её исходный код занимает всего около 1100 строк. Что важно: она работает строго внутри фиксированного участка памяти и не выделяет память динамически, вообще никак. Встроенные контролы: window, scrollable panel, button, slider, textbox, label, checkbox и wordwrapped text. Рендеринг полностью на совести пользователя — библиотека лишь генерирует команды «нарисуй прямоугольник» и «нарисуй текст». Подойдёт любая система, способная это делать.

Пример кода в документации наглядно показывает типичный цикл: открывается окно (mu_begin_window), внутри задаётся раскладка строки (mu_layout_row), затем размещаются метки (mu_label) и кнопки (mu_button). Если нажать на вторую кнопку — вызывается mu_open_popup, и дальше с помощью mu_begin_popup / mu_end_popup показывается всплывающее окно с текстом «Hello world!». В конце окно закрывается вызовом mu_end_window.

Авторы явно говорят: библиотека спроектирована как лёгкий фундамент для собственных кастомных контролов. Pull request-ы с добавлением новых фич, скорее всего, не примут. А вот баг-репорты приветствуются. Код распространяется под лицензией MIT.

microui не занимается вводом/выводом: она ждёт, что пользователь передаст ей события мыши и клавиатуры, а на выходе отдаст список команд для рисования. Это делает её удобной для встраивания в игровые движки, эмуляторы или инструменты, где нужен минималистичный GUI без зависимостей.

Дополнительно в репозитории есть браузерное демо и папка demo с рабочим примером. Инструкции по использованию лежат в doc/usage.md. Всё предельно честно: лёгкая, переносимая, без сюрпризов.

Читать оригинал →