11 апреля 2016 года состоялся релиз Nuklear — небольшой библиотеки для построения GUI, написанной на ANSI C.
Это минималистичный тулкит, построенный на принципах immediate mode и переданный в общественное достояние. Библиотека была спроектирована как простой встраиваемый интерфейс и не имеет никаких дополнительных зависимостей. Для рендеринга и обработки пользовательского ввода используются платформозависимые бэкенды, поверх которых построена модульная система, позволяющая спроектировать интерфейс основываясь на концепциях ввода/вывода.
Особенности
- immediate mode
- header only (можно использовать и как обычную библиотеку, с разделением на реализацию и заголовки)
- написан на C89 (ANSI C)
- небольшая кодовая база (~15kLOC)
- ориентирован на портабельность, эффективность и простоту
- нет зависимостей (не требуется даже стандартная библиотека)
- настраиваемый внешний вид
- занимает мало места в памяти, предоставляет полный контроль за потребляемыми ресурсами
- поддержка UTF-8
- не имеет глобального или скрытого состояния
- модульность: вы можете скомпилировать и использовать только ту часть библиотеки, которую собираетесь использовать
Несколько примеров пользовательского интерфейса, реализованного с помощью nuklear: раз, два, три.
>>> Подробности