clay/examples/termbox2-demo/readme.md
mivirl 16407ee028
Add image support
Added initial image support. Renders using characters with several
options (ascii, foreground, background, unicode, etc).

Note that each image object should only be used once (or at least with
only one size), otherwise the cached results will conflict for each
size and rendering will take longer and reduce responsiveness.
2025-06-24 17:52:15 +00:00

1.4 KiB

Termbox2 renderer demo

Terminal-based renderer using termbox2

This demo shows a color palette and a few different components. It allows changing configuration settings for colors, border size rounding mode, characters used for borders, and transparency.

Keybinds:
c/C - Cycle through color modes
b/B - Cycle through border modes
h/H - Cycle through border characters
i/I - Cycle through image modes
t/T - Toggle transparency
d/D - Toggle debug mode
q/Q - Quit

Configuration can be also be overriden by environment variables:

  • CLAY_TB_COLOR_MODE
    • NORMAL
    • 256
    • 216
    • GRAYSCALE
    • TRUECOLOR
    • NOCOLOR
  • CLAY_TB_BORDER_CHARS
    • DEFAULT
    • ASCII
    • UNICODE
    • NONE
  • CLAY_TB_IMAGE_MODE
    • DEFAULT
    • PLACEHOLDER
    • BG
    • ASCII_FG
    • ASCII
    • UNICODE
    • ASCII_FG_FAST
    • ASCII_FAST
    • UNICODE_FAST
  • CLAY_TB_TRANSPARENCY
    • 1
    • 0
  • CLAY_TB_CELL_PIXELS
    • widthxheight

Building

Build the binary with cmake

mkdir build
cd build
cmake ..
make

Then run the executable:

./clay_examples_termbox2_demo

Attributions

Resources used: