termbox2 2.5.0

good-penguin.png

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

>>> Исходный код версии 2.5.0 на GitHub

©  Linux.org.ru