FTXUI
5.0.0
C++ functional terminal UI.
|
Go to the source code of this file.
Namespaces | |
ftxui | |
ftxui::Dimension | |
Define how the Screen's dimensions should look like. | |
Typedefs | |
using | Element = std::shared_ptr< Node > |
using | Elements = std::vector< Element > |
using | Decorator = std::function< Element(Element)> |
using | GraphFunction = std::function< std::vector< int >(int, int)> |
Enumerations | |
enum | BorderStyle { LIGHT , DASHED , HEAVY , DOUBLE , ROUNDED , EMPTY } |
enum | WidthOrHeight { WIDTH , HEIGHT } |
enum | Constraint { LESS_THAN , EQUAL , GREATER_THAN } |
Functions | |
Element | operator| (Element element, Decorator decorator) |
From an element, apply a decorator. More... | |
Element & | operator|= (Element &e, Decorator d) |
Apply a decorator to an element. More... | |
Elements | operator| (Elements elements, Decorator decorator) |
From a set of element, apply a decorator to every elements. More... | |
Decorator | operator| (Decorator a, Decorator b) |
Compose two decorator into one. More... | |
Element | text (std::string text) |
Display a piece of UTF8 encoded unicode text. More... | |
Element | vtext (std::string text) |
Display a piece of unicode text vertically. More... | |
Element | separator () |
Draw a vertical or horizontal separation in between two other elements. More... | |
Element | separatorLight () |
Draw a vertical or horizontal separation in between two other elements, using the LIGHT style. More... | |
Element | separatorDashed () |
Draw a vertical or horizontal separation in between two other elements, using the DASHED style. More... | |
Element | separatorHeavy () |
Draw a vertical or horizontal separation in between two other elements, using the HEAVY style. More... | |
Element | separatorDouble () |
Draw a vertical or horizontal separation in between two other elements, using the DOUBLE style. More... | |
Element | separatorEmpty () |
Draw a vertical or horizontal separation in between two other elements, using the EMPTY style. More... | |
Element | separatorStyled (BorderStyle style) |
Draw a vertical or horizontal separation in between two other elements. More... | |
Element | separator (Pixel pixel) |
Draw a separator in between two element filled with a given pixel. More... | |
Element | separatorCharacter (std::string value) |
Draw a vertical or horizontal separation in between two other elements. More... | |
Element | separatorHSelector (float left, float right, Color unselected_color, Color selected_color) |
Draw an horizontal bar, with the area in between left/right colored differently. More... | |
Element | separatorVSelector (float up, float down, Color unselected_color, Color selected_color) |
Draw an vertical bar, with the area in between up/downcolored differently. More... | |
Element | gauge (float progress) |
Draw a high definition progress bar. More... | |
Element | gaugeLeft (float progress) |
Draw a high definition progress bar progressing from right to left. More... | |
Element | gaugeRight (float progress) |
Draw a high definition progress bar progressing from left to right. More... | |
Element | gaugeUp (float progress) |
Draw a high definition progress bar progressing from bottom to top. More... | |
Element | gaugeDown (float progress) |
Draw a high definition progress bar progressing from top to bottom. More... | |
Element | gaugeDirection (float progress, Direction direction) |
Draw a high definition progress bar progressing in specified direction. More... | |
Element | border (Element child) |
Draw a border around the element. More... | |
Element | borderLight (Element child) |
Draw a light border around the element. More... | |
Element | borderDashed (Element child) |
Draw a dashed border around the element. More... | |
Element | borderHeavy (Element child) |
Draw a heavy border around the element. More... | |
Element | borderDouble (Element child) |
Draw a double border around the element. More... | |
Element | borderRounded (Element child) |
Draw a rounded border around the element. More... | |
Element | borderEmpty (Element child) |
Draw an empty border around the element. More... | |
Decorator | borderStyled (BorderStyle style) |
Same as border but with different styles. More... | |
Decorator | borderStyled (BorderStyle style, Color foreground_color) |
Same as border but with a foreground color and a different style. More... | |
Decorator | borderStyled (Color foreground_color) |
Same as border but with a foreground color. More... | |
Decorator | borderWith (const Pixel &pixel) |
Same as border but with a constant Pixel around the element. More... | |
Element | window (Element title, Element content, BorderStyle border) |
Draw window with a title and a border around the element. More... | |
Element | spinner (int charset_index, size_t image_index) |
Useful to represent the effect of time and/or events. This display an ASCII art "video". More... | |
Element | paragraph (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines. More... | |
Element | paragraphAlignLeft (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines, aligned on the left. More... | |
Element | paragraphAlignRight (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines, aligned on the right. More... | |
Element | paragraphAlignCenter (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines, aligned on the center. More... | |
Element | paragraphAlignJustify (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines, aligned using a justified alignment. the center. More... | |
Element | graph (GraphFunction graph_function) |
Draw a graph using a GraphFunction. More... | |
Element | emptyElement () |
Element | canvas (ConstRef< Canvas > canvas) |
Produce an element from a Canvas, or a reference to a Canvas. More... | |
Element | canvas (int width, int height, std::function< void(Canvas &)> fn) |
Produce an element drawing a canvas of requested size. More... | |
Element | canvas (std::function< void(Canvas &)> fn) |
Produce an element drawing a canvas. More... | |
Element | bold (Element child) |
Use a bold font, for elements with more emphasis. More... | |
Element | dim (Element child) |
Use a light font, for elements with less emphasis. More... | |
Element | inverted (Element child) |
Add a filter that will invert the foreground and the background colors. More... | |
Element | underlined (Element child) |
Make the underlined element to be underlined. More... | |
Element | underlinedDouble (Element child) |
Apply a underlinedDouble to text. More... | |
Element | blink (Element child) |
The text drawn alternates in between visible and hidden. More... | |
Element | strikethrough (Element child) |
Apply a strikethrough to text. More... | |
Decorator | color (Color c) |
Decorate using a foreground color. More... | |
Decorator | bgcolor (Color color) |
Decorate using a background color. More... | |
Decorator | color (const LinearGradient &gradient) |
Decorate using a linear-gradient effect on the foreground color. More... | |
Decorator | bgcolor (const LinearGradient &gradient) |
Decorate using a linear-gradient effect on the background color. More... | |
Element | color (Color color, Element child) |
Set the foreground color of an element. More... | |
Element | bgcolor (Color color, Element child) |
Set the background color of an element. More... | |
Element | color (const LinearGradient &gradient, Element child) |
Set the foreground color of an element with linear-gradient effect. More... | |
Element | bgcolor (const LinearGradient &gradient, Element child) |
Set the background color of an element with linear-gradient effect. More... | |
Decorator | focusPosition (int x, int y) |
Used inside a frame , this force the view to be scrolled toward a a given position. The position is expressed in the numbers of cells. More... | |
Decorator | focusPositionRelative (float x, float y) |
Used inside a frame , this force the view to be scrolled toward a a given position. The position is expressed in proportion of the requested size. More... | |
Element | automerge (Element child) |
Enable character to be automatically merged with others nearby. More... | |
Decorator | hyperlink (std::string link) |
Decorate using an hyperlink. The link will be opened when the user click on it. This is supported only on a limited set of terminal emulator. List: https://github.com/Alhadis/OSC8-Adoption/. More... | |
Element | hyperlink (std::string link, Element child) |
Make the rendered area clickable using a web browser. The link will be opened when the user click on it. This is supported only on a limited set of terminal emulator. List: https://github.com/Alhadis/OSC8-Adoption/. More... | |
Element | hbox (Elements children) |
A container displaying elements horizontally one by one. More... | |
Element | vbox (Elements children) |
A container displaying elements vertically one by one. More... | |
Element | dbox (Elements children_) |
Stack several element on top of each other. More... | |
Element | flexbox (Elements, FlexboxConfig config=FlexboxConfig()) |
Element | gridbox (std::vector< Elements > lines) |
A container displaying a grid of elements. More... | |
Element | hflow (Elements) |
Element | vflow (Elements) |
Element | flex (Element child) |
Make a child element to expand proportionally to the space left in a container. More... | |
Element | flex_grow (Element child) |
Expand if possible. More... | |
Element | flex_shrink (Element child) |
Minimize if needed. More... | |
Element | xflex (Element child) |
Expand/Minimize if possible/needed on the X axis. More... | |
Element | xflex_grow (Element child) |
Expand if possible on the X axis. More... | |
Element | xflex_shrink (Element child) |
Minimize if needed on the X axis. More... | |
Element | yflex (Element child) |
Expand/Minimize if possible/needed on the Y axis. More... | |
Element | yflex_grow (Element child) |
Expand if possible on the Y axis. More... | |
Element | yflex_shrink (Element child) |
Minimize if needed on the Y axis. More... | |
Element | notflex (Element child) |
Make the element not flexible. More... | |
Element | filler () |
An element that will take expand proportionally to the space left in a container. More... | |
Decorator | size (WidthOrHeight direction, Constraint constraint, int value) |
Apply a constraint on the size of an element. More... | |
Element | frame (Element child) |
Allow an element to be displayed inside a 'virtual' area. It size can be larger than its container. In this case only a smaller portion is displayed. The view is scrollable to make the focused element visible. More... | |
Element | xframe (Element child) |
Same as frame , but only on the x-axis. More... | |
Element | yframe (Element child) |
Same as frame , but only on the y-axis. More... | |
Element | focus (Element child) |
Set the child to be the one in focus globally. More... | |
Element | select (Element child) |
Set the child to be the one selected among its siblings. More... | |
Element | focusCursorBlock (Element child) |
Same as focus , but set the cursor shape to be a still block. More... | |
Element | focusCursorBlockBlinking (Element child) |
Same as focus , but set the cursor shape to be a blinking block. More... | |
Element | focusCursorBar (Element child) |
Same as focus , but set the cursor shape to be a still block. More... | |
Element | focusCursorBarBlinking (Element child) |
Same as focus , but set the cursor shape to be a blinking bar. More... | |
Element | focusCursorUnderline (Element child) |
Same as focus , but set the cursor shape to be a still underline. More... | |
Element | focusCursorUnderlineBlinking (Element child) |
Same as focus , but set the cursor shape to be a blinking underline. More... | |
Element | vscroll_indicator (Element child) |
Display a vertical scrollbar to the right. colors. More... | |
Element | hscroll_indicator (Element child) |
Display an horizontal scrollbar to the bottom. colors. More... | |
Decorator | reflect (Box &box) |
Element | clear_under (Element element) |
Before drawing |child|, clear the pixels below. This is useful in. More... | |
Element | hcenter (Element child) |
Center an element horizontally. More... | |
Element | vcenter (Element child) |
Center an element vertically. More... | |
Element | center (Element child) |
Center an element horizontally and vertically. More... | |
Element | align_right (Element child) |
Align an element on the right side. More... | |
Element | nothing (Element element) |
A decoration doing absolutely nothing. More... | |
Dimensions | Fit (Element &, bool extend_beyond_screen=false) |