FTXUI/include/ftxui
ArthurSonzogni 09a1b16613 Add a Producer/Consumer system.
It allow you to create the two end of a pipe: A producer and consumer.
The producer can be moved into another thread.
Several producer can be created if necessary.

This will ease merging:
https://github.com/ArthurSonzogni/FTXUI/pull/11
2020-03-24 23:42:17 +01:00
..
component Add a Producer/Consumer system. 2020-03-24 23:42:17 +01:00
dom Set clang-format macro indent. 2020-03-23 21:26:00 +01:00
screen Set clang-format macro indent. 2020-03-23 21:26:00 +01:00
util Set clang-format macro indent. 2020-03-23 21:26:00 +01:00
README.md Update README.md 2020-02-04 11:48:01 +01:00

Level of abstractions:

  • Level 0: terminal output.
  • Level 1: ftxui::Screen
  • Level 2: ftxui::Node
  • Level 3: ftxui::Component

Level 0: terminal output.

This is std::cout. You can send text to it.

Level 1: ftxui::Screen

A rectangular grid of characters. Use Terminal::ToString() to append its content to the console (level 0).

Level 2: ftxui::Node

A hierarchial set of element. They handle layout and render themself on the screen (level 1) See elements.hpp

You can make implement your own.

Level 3: ftxui::Component

A hierarchical set of components. Components store some state and react to events:

  • keyboard
  • mouse
  • terminal event

Components renders themself by producing ftxui::Node (Level 2)

Implement your own!