From 2e31cbeb70d93bb0f5512064f181990db189d1f6 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 4 Oct 2026 20:02:15 +0200 Subject: Initial commit --- termbox2/README | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 termbox2/README (limited to 'termbox2/README') diff --git a/termbox2/README b/termbox2/README new file mode 100644 index 0000000..e28c58c --- /dev/null +++ b/termbox2/README @@ -0,0 +1,41 @@ +This module provides bindings for termbox2. + +Some changes to the API have been made to enable using this library in a +more Hare-idiomatic style. In particular: +- The tb_ and TB_ prefixes have been removed, as the namespace termbox2:: +is used instead. We recommend importing this library as tb, so that one +can write e.g. tb::init(), keeping it similar to the original tb_init(). +- Functions return a value that can be either a valid result (e.g. int, +void, str...) or an int-backed error [[termbox2::err]]. The error codes +are consistent with the original library and can be interpreted with +[[termbox2::strerror]]. Some additional codes for binding-related errors +are provided. +- Similarly to the previous point, some functions that use to return +multiple values by taking pointer parameters now simply return a tuple, +see for example [[termbox2::get_fds]]. +- The tb_event type has changed into a tagged union of 3 types, +see [[termbox2::event]]. +- The four tb_print* functions have been replaced by a single +[[termbox2::print]] function that uses Hare-style string formatting. +Similarly, tb_send and tb_sendf have replaced by only one function +[[termbox2::send]]. +- The constants provided by ther termbox2 API, such as those for key codes, +colors and attributes, have been split into various structures, such as +[[termbox2::KEY]], [[termbox2::COLOR]] and [[termbox2::ATTRIBUTE]]. + +Some functionality has been outright removed. If you are interested in +having any of the following available in these bindings, don't hesitate +to send a patch or a feature request to sebastiano@tronto.net: +- The tb_get_cell function is not available. This function makes it +possible to navigate through cells via pointer arithmetic, but since +the Hare [[termbox2::cell]] type does not have the same size as the +original tb_cell, this would not translate cleanly. +- The tb_iswprint, tb_wcwidth and tb_utf8_* have functions have been +removed. Use the Hare standard libary functions [[encoding::utf8::]] +and [[strings::]] instead. +- The tb_last_errno function has been removed. +- The TB_CAP_* code constants have been removed. + +Links: +- Main repository: https://git.tronto.net/hare-termbox2 +- termbox2: https://github.com/termbox/termbox2 -- cgit v1.3