FTXUI/ftxui/include/ftxui
Arthur Sonzogni 456ede70fd Add size(direction, constraint, value).
For example:
============

element
  | size(WIDTH, EQUAL 10);

element
  | size(HEIGHT, GREATER_THAN, 10);

element
  | size(WIDTH, EQUAL, 10)
  | size(HEIGHT, EQUAL, 10)
2019-01-20 23:04:10 +01:00
..
component Add "frame" : scrollable area. 2019-01-19 22:06:05 +01:00
dom Add size(direction, constraint, value). 2019-01-20 23:04:10 +01:00
screen Add "frame" : scrollable area. 2019-01-19 22:06:05 +01:00
util Add "frame" : scrollable area. 2019-01-19 22:06:05 +01:00
README.md Flatten the namespaces. 2019-01-12 15:00:08 +01:00

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

Level 0: terminal output.

The terminal you know, you can append text on it. It is represented by std::cout.

Level 1: ftxui::Screen

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

Level 2: ftxui::Node

A hierarchical set of element. They handle layout and Render themself on the screen. See ftxui/dom/elements.hpp

You can make implement your own.

Level 3: ftxui::Component

A hierarchical set of component. A component render itself by producing ftxui::Node in Component::Render().

Some component can handle events: * keyboard * mouse * terminal event

Implement your own!