28 декабря, после более чем двухлетнего перерыва, состоялся выпуск 2.5.0 библиотеки для создания TUI termbox2, написанной на языке C и распространяемой по лицензии MIT.
По сравнению с оригинальной termbox, сохранён простой API и отсутствие зависимостей помимо libc, но добавлены:
- более строгая проверка ошибок;
- более эффективный разбор escape-последовательностей;
- опциональная поддержка 32-битного цвета;
- улучшенная поддержка графем Unicode;
- генерирование кода для встроенных escape-последовательностей;
- набор тестов;
- и многое другое.
Библиотека организована как однофайловая библиотека (файл .h всего лишь на 128K), хотя её можно скомпилировать и как отдельную динамическую или статическую библиотеку.
#define TB_IMPL #include "termbox2.h" int main(int argc, char **argv) { struct tb_event ev; int y = 0; tb_init(); tb_printf(0, y++, TB_GREEN, 0, "hello from termbox"); tb_printf(0, y++, 0, 0, "width=%d height=%d", tb_width(), tb_height()); tb_printf(0, y++, 0, 0, "press any key…"); tb_present(); tb_poll_event(&ev); y++; tb_printf(0, y++, 0, 0, "event type=%d key=%d ch=%c", ev.type, ev.key, ev.ch); tb_printf(0, y++, 0, 0, "press any key to quit…"); tb_present(); tb_poll_event(&ev); tb_shutdown(); return 0; }
Источник: linux.org.ru