FTXUI/doc/module.md
Miko b65bbce9bb
Add modules support (#1015)
Add experimental C++20 module suppport.
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
2025-06-04 15:02:20 +02:00

1.5 KiB

ftxui

title-img

FTXUI is organized into three modules, each building upon the previous:

  1. ftxui/screen - Low-level rendering
  2. ftxui/dom - Layout and composition
  3. ftxui/component - User interaction

ftxui/screen

Defines:

  • ftxui::Screen: a 2D grid of styled characters.
  • ftxui::Pixel: the unit of rendering.
  • Helpers like ftxui::Color and Dimension.

Use for direct terminal drawing and styling.


ftxui/dom

Provides:

  • ftxui::Element: a tree structure for layout and UI.
  • Composable and responsive elements.
  • Render() to draw onto a Screen.

Ideal for structured, styled UIs.


ftxui/component

Adds:

  • ftxui::Component: stateful, interactive widgets.
  • Built-ins: Checkbox, Input, Menu, Button.
  • Supports keyboard/cursor input and composition.

Use for interactive apps.


Modules can be used independently, or together: screen → dom → component.