mirror of
https://github.com/ArthurSonzogni/FTXUI.git
synced 2025-06-25 00:52:09 +08:00

Some checks are pending
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (cl, cl, windows-latest) (push) Waiting to run
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (clang, clang++, macos-latest) (push) Waiting to run
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (clang, clang++, ubuntu-latest) (push) Waiting to run
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (gcc, g++, macos-latest) (push) Waiting to run
Build / Bazel, ${{ matrix.cxx }}, ${{ matrix.os }} (gcc, g++, ubuntu-latest) (push) Waiting to run
Build / CMake, ${{ matrix.compiler }}, ${{ matrix.os }} (cl, Windows MSVC, windows-latest) (push) Waiting to run
Build / CMake, ${{ matrix.compiler }}, ${{ matrix.os }} (gcc, Linux GCC, ubuntu-latest) (push) Waiting to run
Build / CMake, ${{ matrix.compiler }}, ${{ matrix.os }} (llvm, llvm-cov gcov, Linux Clang, ubuntu-latest) (push) Waiting to run
Build / CMake, ${{ matrix.compiler }}, ${{ matrix.os }} (llvm, llvm-cov gcov, MacOS clang, macos-latest) (push) Waiting to run
Documentation / documentation (push) Waiting to run
1.5 KiB
1.5 KiB
Modules
FTXUI is organized into three modules, each building upon the previous:
- ftxui/screen - Low-level rendering
- ftxui/dom - Layout and composition
- 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
andDimension
.
Use for direct terminal drawing and styling.
Next |
---|
Documentation |
ftxui/dom
Provides:
ftxui::Element
: a tree structure for layout and UI.- Composable and responsive elements.
Render()
to draw onto aScreen
.
Ideal for structured, styled UIs.
Next |
---|
Documentation |
ftxui/component
Adds:
ftxui::Component
: stateful, interactive widgets.- Built-ins:
Checkbox
,Input
,Menu
,Button
. - Supports keyboard/cursor input and composition.
Use for interactive apps.
Next |
---|
Documentation |
Modules can be used independently, or together: screen → dom → component
.