termbox2 2.5.0

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