FTXUI
5.0.0
C++ functional terminal UI.
|
Functions | |
template<class T , class... Args> | |
std::shared_ptr< T > | Make (Args &&... args) |
Component | operator| (Component component, ComponentDecorator decorator) |
Component | operator| (Component component, ElementDecorator decorator) |
Component & | operator|= (Component &component, ComponentDecorator decorator) |
Component & | operator|= (Component &component, ElementDecorator decorator) |
Component | Button (ButtonOption option) |
Draw a button. Execute a function when clicked. | |
Component | Button (ConstStringRef label, std::function< void()> on_click, ButtonOption option) |
Draw a button. Execute a function when clicked. | |
Component | Checkbox (CheckboxOption option) |
Draw checkable element. | |
Component | Checkbox (ConstStringRef label, bool *checked, CheckboxOption option) |
Draw checkable element. | |
Component | Input (InputOption option) |
An input box for editing text. | |
Component | Input (StringRef content, InputOption option) |
An input box for editing text. | |
Component | Input (StringRef content, StringRef placeholder, InputOption option) |
An input box for editing text. | |
Component | Menu (MenuOption option) |
A list of text. The focused element is selected. | |
Component | Menu (ConstStringListRef entries, int *selected, MenuOption option) |
A list of text. The focused element is selected. | |
Component | MenuEntry (MenuEntryOption option) |
A specific menu entry. They can be put into a Container::Vertical to form a menu. | |
Component | MenuEntry (ConstStringRef label, MenuEntryOption option) |
A specific menu entry. They can be put into a Container::Vertical to form a menu. | |
Component | Radiobox (RadioboxOption option) |
A list of element, where only one can be selected. | |
Component | Radiobox (ConstStringListRef entries, int *selected, RadioboxOption option) |
A list of element, where only one can be selected. | |
Component | Dropdown (ConstStringListRef entries, int *selected) |
A dropdown menu. | |
Component | Dropdown (DropdownOption option) |
A dropdown menu. | |
Component | Toggle (ConstStringListRef entries, int *selected) |
An horizontal list of elements. The user can navigate through them. | |
template<typename T > | |
Component | Slider (SliderOption< T > options) |
A slider in any direction. | |
Component | Slider (ConstStringRef label, Ref< int > value, ConstRef< int > min, ConstRef< int > max, ConstRef< int > increment) |
An horizontal slider. | |
Component | Slider (ConstStringRef label, Ref< float > value, ConstRef< float > min=0.f, ConstRef< float > max=100.f, ConstRef< float > increment=5.f) |
Component | Slider (ConstStringRef label, Ref< long > value, ConstRef< long > min=0L, ConstRef< long > max=100L, ConstRef< long > increment=5L) |
Component | ResizableSplit (ResizableSplitOption options) |
A split in between two components. | |
Component | ResizableSplitLeft (Component main, Component back, int *main_size) |
An horizontal split in between two components, configurable using the mouse. | |
Component | ResizableSplitRight (Component main, Component back, int *main_size) |
An horizontal split in between two components, configurable using the mouse. | |
Component | ResizableSplitTop (Component main, Component back, int *main_size) |
An vertical split in between two components, configurable using the mouse. | |
Component | ResizableSplitBottom (Component main, Component back, int *main_size) |
An vertical split in between two components, configurable using the mouse. | |
Component | Renderer (Component child, std::function< Element()> render) |
Return a new Component, similar to |child|, but using |render| as the Component::Render() event. | |
Component | Renderer (std::function< Element()> render) |
Return a component, using |render| to render its interface. | |
Component | Renderer (std::function< Element(bool)> render) |
Return a focusable component, using |render| to render its interface. | |
ComponentDecorator | Renderer (ElementDecorator decorator) |
Decorate a component, by decorating what it renders. | |
Component | CatchEvent (Component child, std::function< bool(Event)>) |
ComponentDecorator | CatchEvent (std::function< bool(Event)> on_event) |
Decorate a component, using |on_event| to catch events. This function must returns true when the event has been handled, false otherwise. | |
Component | Maybe (Component child, const bool *show) |
Decorate a component |child|. It is shown only when |show| is true. | |
Component | Maybe (Component child, std::function< bool()> show) |
Decorate a component |child|. It is shown only when |show| returns true. | |
ComponentDecorator | Maybe (const bool *show) |
Decorate a component. It is shown only when |show| is true. | |
ComponentDecorator | Maybe (std::function< bool()> show) |
Decorate a component. It is shown only when the |show| function returns true. | |
Component | Modal (Component main, Component modal, const bool *show_modal) |
ComponentDecorator | Modal (Component modal, const bool *show_modal) |
Component | Collapsible (ConstStringRef label, Component child, Ref< bool > show=false) |
Component | Hoverable (Component component, bool *hover) |
Wrap a component. Gives the ability to know if it is hovered by the mouse. | |
Component | Hoverable (Component component, std::function< void()> on_enter, std::function< void()> on_leave) |
Wrap a component. Uses callbacks. | |
Component | Hoverable (Component component, std::function< void(bool)> on_change) |
Wrap a component. Gives the ability to know if it is hovered by the mouse. | |
ComponentDecorator | Hoverable (bool *hover) |
Wrap a component. Gives the ability to know if it is hovered by the mouse. | |
ComponentDecorator | Hoverable (std::function< void()> on_enter, std::function< void()> on_leave) |
ComponentDecorator | Hoverable (std::function< void(bool)> on_change) |
Wrap a component. Gives the ability to know if it is hovered by the mouse. | |
Component | Window (WindowOptions option) |
A draggeable / resizeable window. To use multiple of them, they must be stacked using Container::Stacked({...}) component;. | |
template<class T > | |
Receiver< T > | MakeReceiver () |
Element | text (std::wstring text) |
Display a piece of unicode text. | |
Element | vtext (std::wstring text) |
Display a piece unicode text vertically. | |
Elements | paragraph (std::wstring text) |
Element | operator| (Element element, Decorator decorator) |
From an element, apply a decorator. | |
Element & | operator|= (Element &e, Decorator d) |
Apply a decorator to an element. | |
Elements | operator| (Elements elements, Decorator decorator) |
From a set of element, apply a decorator to every elements. | |
Decorator | operator| (Decorator a, Decorator b) |
Compose two decorator into one. | |
Element | text (std::string text) |
Display a piece of UTF8 encoded unicode text. | |
Element | vtext (std::string text) |
Display a piece of unicode text vertically. | |
Element | separator () |
Draw a vertical or horizontal separation in between two other elements. | |
Element | separatorLight () |
Draw a vertical or horizontal separation in between two other elements, using the LIGHT style. | |
Element | separatorDashed () |
Draw a vertical or horizontal separation in between two other elements, using the DASHED style. | |
Element | separatorHeavy () |
Draw a vertical or horizontal separation in between two other elements, using the HEAVY style. | |
Element | separatorDouble () |
Draw a vertical or horizontal separation in between two other elements, using the DOUBLE style. | |
Element | separatorEmpty () |
Draw a vertical or horizontal separation in between two other elements, using the EMPTY style. | |
Element | separatorStyled (BorderStyle style) |
Draw a vertical or horizontal separation in between two other elements. | |
Element | separator (Pixel pixel) |
Draw a separator in between two element filled with a given pixel. | |
Element | separatorCharacter (std::string value) |
Draw a vertical or horizontal separation in between two other elements. | |
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. | |
Element | separatorVSelector (float up, float down, Color unselected_color, Color selected_color) |
Draw an vertical bar, with the area in between up/downcolored differently. | |
Element | gauge (float progress) |
Draw a high definition progress bar. | |
Element | gaugeLeft (float progress) |
Draw a high definition progress bar progressing from right to left. | |
Element | gaugeRight (float progress) |
Draw a high definition progress bar progressing from left to right. | |
Element | gaugeUp (float progress) |
Draw a high definition progress bar progressing from bottom to top. | |
Element | gaugeDown (float progress) |
Draw a high definition progress bar progressing from top to bottom. | |
Element | gaugeDirection (float progress, Direction direction) |
Draw a high definition progress bar progressing in specified direction. | |
Element | border (Element child) |
Draw a border around the element. | |
Element | borderLight (Element child) |
Draw a light border around the element. | |
Element | borderDashed (Element child) |
Draw a dashed border around the element. | |
Element | borderHeavy (Element child) |
Draw a heavy border around the element. | |
Element | borderDouble (Element child) |
Draw a double border around the element. | |
Element | borderRounded (Element child) |
Draw a rounded border around the element. | |
Element | borderEmpty (Element child) |
Draw an empty border around the element. | |
Decorator | borderStyled (BorderStyle style) |
Same as border but with different styles. | |
Decorator | borderStyled (BorderStyle style, Color foreground_color) |
Same as border but with a foreground color and a different style. | |
Decorator | borderStyled (Color foreground_color) |
Same as border but with a foreground color. | |
Decorator | borderWith (const Pixel &pixel) |
Same as border but with a constant Pixel around the element. | |
Element | window (Element title, Element content, BorderStyle border) |
Draw window with a title and a border around the element. | |
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". | |
Element | paragraph (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines. | |
Element | paragraphAlignLeft (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines, aligned on the left. | |
Element | paragraphAlignRight (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines, aligned on the right. | |
Element | paragraphAlignCenter (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines, aligned on the center. | |
Element | paragraphAlignJustify (const std::string &the_text) |
Return an element drawing the paragraph on multiple lines, aligned using a justified alignment. the center. | |
Element | graph (GraphFunction graph_function) |
Draw a graph using a GraphFunction. | |
Element | emptyElement () |
Element | canvas (ConstRef< Canvas > canvas) |
Produce an element from a Canvas, or a reference to a Canvas. | |
Element | canvas (int width, int height, std::function< void(Canvas &)> fn) |
Produce an element drawing a canvas of requested size. | |
Element | canvas (std::function< void(Canvas &)> fn) |
Produce an element drawing a canvas. | |
Element | bold (Element child) |
Use a bold font, for elements with more emphasis. | |
Element | dim (Element child) |
Use a light font, for elements with less emphasis. | |
Element | inverted (Element child) |
Add a filter that will invert the foreground and the background colors. | |
Element | underlined (Element child) |
Make the underlined element to be underlined. | |
Element | underlinedDouble (Element child) |
Apply a underlinedDouble to text. | |
Element | blink (Element child) |
The text drawn alternates in between visible and hidden. | |
Element | strikethrough (Element child) |
Apply a strikethrough to text. | |
Decorator | color (Color c) |
Decorate using a foreground color. | |
Decorator | bgcolor (Color color) |
Decorate using a background color. | |
Decorator | color (const LinearGradient &gradient) |
Decorate using a linear-gradient effect on the foreground color. | |
Decorator | bgcolor (const LinearGradient &gradient) |
Decorate using a linear-gradient effect on the background color. | |
Element | color (Color color, Element child) |
Set the foreground color of an element. | |
Element | bgcolor (Color color, Element child) |
Set the background color of an element. | |
Element | color (const LinearGradient &gradient, Element child) |
Set the foreground color of an element with linear-gradient effect. | |
Element | bgcolor (const LinearGradient &gradient, Element child) |
Set the background color of an element with linear-gradient effect. | |
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. | |
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. | |
Element | automerge (Element child) |
Enable character to be automatically merged with others nearby. | |
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/. | |
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/. | |
Element | hbox (Elements children) |
A container displaying elements horizontally one by one. | |
Element | vbox (Elements children) |
A container displaying elements vertically one by one. | |
Element | dbox (Elements children_) |
Stack several element on top of each other. | |
Element | flexbox (Elements, FlexboxConfig config=FlexboxConfig()) |
Element | gridbox (std::vector< Elements > lines) |
A container displaying a grid of elements. | |
Element | hflow (Elements) |
Element | vflow (Elements) |
Element | flex (Element child) |
Make a child element to expand proportionally to the space left in a container. | |
Element | flex_grow (Element child) |
Expand if possible. | |
Element | flex_shrink (Element child) |
Minimize if needed. | |
Element | xflex (Element child) |
Expand/Minimize if possible/needed on the X axis. | |
Element | xflex_grow (Element child) |
Expand if possible on the X axis. | |
Element | xflex_shrink (Element child) |
Minimize if needed on the X axis. | |
Element | yflex (Element child) |
Expand/Minimize if possible/needed on the Y axis. | |
Element | yflex_grow (Element child) |
Expand if possible on the Y axis. | |
Element | yflex_shrink (Element child) |
Minimize if needed on the Y axis. | |
Element | notflex (Element child) |
Make the element not flexible. | |
Element | filler () |
An element that will take expand proportionally to the space left in a container. | |
Decorator | size (WidthOrHeight direction, Constraint constraint, int value) |
Apply a constraint on the size of an element. | |
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. | |
Element | xframe (Element child) |
Same as frame , but only on the x-axis. | |
Element | yframe (Element child) |
Same as frame , but only on the y-axis. | |
Element | focus (Element child) |
Set the child to be the one in focus globally. | |
Element | select (Element child) |
Set the child to be the one selected among its siblings. | |
Element | focusCursorBlock (Element child) |
Same as focus , but set the cursor shape to be a still block. | |
Element | focusCursorBlockBlinking (Element child) |
Same as focus , but set the cursor shape to be a blinking block. | |
Element | focusCursorBar (Element child) |
Same as focus , but set the cursor shape to be a still block. | |
Element | focusCursorBarBlinking (Element child) |
Same as focus , but set the cursor shape to be a blinking bar. | |
Element | focusCursorUnderline (Element child) |
Same as focus , but set the cursor shape to be a still underline. | |
Element | focusCursorUnderlineBlinking (Element child) |
Same as focus , but set the cursor shape to be a blinking underline. | |
Element | vscroll_indicator (Element child) |
Display a vertical scrollbar to the right. colors. | |
Element | hscroll_indicator (Element child) |
Display an horizontal scrollbar to the bottom. colors. | |
Decorator | reflect (Box &box) |
Element | clear_under (Element element) |
Before drawing |child|, clear the pixels below. This is useful in. | |
Element | hcenter (Element child) |
Center an element horizontally. | |
Element | vcenter (Element child) |
Center an element vertically. | |
Element | center (Element child) |
Center an element horizontally and vertically. | |
Element | align_right (Element child) |
Align an element on the right side. | |
Element | nothing (Element element) |
A decoration doing absolutely nothing. | |
void | Render (Screen &screen, const Element &element) |
Display an element on a ftxui::Screen. | |
void | Render (Screen &screen, Node *node) |
Display an element on a ftxui::Screen. | |
ColorInfo | GetColorInfo (Color::Palette256 index) |
ColorInfo | GetColorInfo (Color::Palette16 index) |
int | wchar_width (wchar_t) |
int | wstring_width (const std::wstring &) |
std::string | to_string (const std::wstring &s) |
Convert a UTF8 std::string into a std::wstring. | |
std::wstring | to_wstring (const std::string &s) |
Convert a std::wstring into a UTF8 std::string. | |
template<typename T > | |
std::wstring | to_wstring (T s) |
int | string_width (const std::string &) |
std::vector< std::string > | Utf8ToGlyphs (const std::string &input) |
std::vector< int > | CellToGlyphIndex (const std::string &input) |
Component | CatchEvent (Component child, std::function< bool(Event event)> on_event) |
Return a component, using |on_event| to catch events. This function must returns true when the event has been handled, false otherwise. | |
template Component | Slider (SliderOption< int8_t >) |
template Component | Slider (SliderOption< int16_t >) |
template Component | Slider (SliderOption< int32_t >) |
template Component | Slider (SliderOption< int64_t >) |
template Component | Slider (SliderOption< uint8_t >) |
template Component | Slider (SliderOption< uint16_t >) |
template Component | Slider (SliderOption< uint32_t >) |
template Component | Slider (SliderOption< uint64_t >) |
template Component | Slider (SliderOption< float >) |
template Component | Slider (SliderOption< double >) |
bool | EatCodePoint (const std::string &input, size_t start, size_t *end, uint32_t *ucs) |
bool | EatCodePoint (const std::wstring &input, size_t start, size_t *end, uint32_t *ucs) |
bool | IsCombining (uint32_t ucs) |
bool | IsFullWidth (uint32_t ucs) |
bool | IsControl (uint32_t ucs) |
WordBreakProperty | CodepointToWordBreakProperty (uint32_t codepoint) |
size_t | GlyphPrevious (const std::string &input, size_t start) |
size_t | GlyphNext (const std::string &input, size_t start) |
size_t | GlyphIterate (const std::string &input, int glyph_offset, size_t start) |
int | GlyphCount (const std::string &input) |
std::vector< WordBreakProperty > | Utf8ToWordBreakProperty (const std::string &input) |
bool | IsWordBreakingCharacter (const std::string &input, size_t glyph_index) |
Enumerations | |
enum class | Direction { Up = 0 , Down = 1 , Left = 2 , Right = 3 } |
enum | BorderStyle { LIGHT , DASHED , HEAVY , DOUBLE , ROUNDED , EMPTY } |
enum | WidthOrHeight { WIDTH , HEIGHT } |
enum | Constraint { LESS_THAN , EQUAL , GREATER_THAN } |
enum class | WordBreakProperty : int8_t { ALetter , CR , Double_Quote , Extend , ExtendNumLet , Format , Hebrew_Letter , Katakana , LF , MidLetter , MidNum , MidNumLet , Newline , Numeric , Regional_Indicator , Single_Quote , WSegSpace , ZWJ } |
Typedefs | |
using | CapturedMouse = std::unique_ptr< CapturedMouseInterface > |
using | ComponentDecorator = std::function< Component(Component)> |
using | ElementDecorator = std::function< Element(Element)> |
using | Component = std::shared_ptr< ComponentBase > |
using | Components = std::vector< Component > |
template<class T > | |
using | Sender = std::unique_ptr< SenderImpl< T > > |
template<class T > | |
using | Receiver = std::unique_ptr< ReceiverImpl< T > > |
using | Closure = std::function< void()> |
using | Task = std::variant< Event, Closure, AnimationTask > |
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)> |
Data Structures | |
struct | AnimatedColorOption |
Option about a potentially animated color. More... | |
struct | AnimatedColorsOption |
class | AnimationTask |
class | AutoReset |
Assign a value to a variable, reset its old value when going out of scope. More... | |
struct | Box |
struct | ButtonOption |
Option for the AnimatedButton component. More... | |
struct | Canvas |
class | CapturedMouseInterface |
struct | CheckboxOption |
Option for the Checkbox component. More... | |
class | Color |
A class representing terminal colors. More... | |
struct | ColorInfo |
class | ComponentBase |
It implement rendering itself as ftxui::Element. It implement keyboard navigation by responding to ftxui::Event. More... | |
class | ConstRef |
An adapter. Own or reference an immutable object. More... | |
class | ConstStringListRef |
An adapter. Reference a list of strings. More... | |
class | ConstStringRef |
An adapter. Own or reference a constant string. For convenience, this class convert multiple immutable string toward a shared representation. More... | |
struct | Dimensions |
struct | DropdownOption |
Option for the Dropdown component.A dropdown menu is a checkbox opening/closing a radiobox. More... | |
struct | EntryState |
arguments for |ButtonOption::transform|, |CheckboxOption::transform|, |Radiobox::transform|, |MenuEntryOption::transform|, |MenuOption::transform|. More... | |
struct | Event |
Represent an event. It can be key press event, a terminal resize, or more ... More... | |
struct | FlexboxConfig |
class | Image |
A rectangular grid of Pixel. More... | |
struct | InputOption |
Option for the Input component. More... | |
struct | InputState |
Used to define style for the Input component. More... | |
struct | LinearGradient |
A class representing the settings for linear-gradient color effect. More... | |
class | Loop |
struct | MenuEntryOption |
Option for the MenuEntry component. More... | |
struct | MenuOption |
Option for the Menu component. More... | |
struct | Mouse |
A mouse event. It contains the coordinate of the mouse, the button pressed and the modifier (shift, ctrl, meta). More... | |
class | Node |
class | NodeDecorator |
struct | Pixel |
A Unicode character and its associated style. More... | |
struct | RadioboxOption |
Option for the Radiobox component. More... | |
class | ReceiverImpl |
class | Ref |
An adapter. Own or reference an mutable object. More... | |
struct | Requirement |
struct | ResizableSplitOption |
class | Screen |
A rectangular grid of Pixel. More... | |
class | ScreenInteractive |
class | SenderImpl |
struct | SliderOption |
class | StringRef |
An adapter. Own or reference a constant string. For convenience, this class convert multiple mutable string toward a shared representation. More... | |
class | Table |
class | TableSelection |
class | TerminalInputParser |
struct | UnderlineOption |
struct | WindowOptions |
struct | WindowRenderState |
Namespaces | |
namespace | animation |
namespace | box_helper |
namespace | Container |
namespace | Dimension |
Define how the Screen's dimensions should look like. | |
namespace | flexbox_helper |
namespace | literals |
namespace | Terminal |
namespace | util |
Variables | |
const std::map< std::string, std::string > | g_uniformize |
const std::array< ColorInfo, 256 > | palette256 |
struct ftxui::AnimatedColorsOption |
class ftxui::AnimationTask |
struct ftxui::ColorInfo |
struct ftxui::Dimensions |
struct ftxui::DropdownOption |
struct ftxui::EntryState |
struct ftxui::InputState |
struct ftxui::MenuEntryOption |
struct ftxui::ResizableSplitOption |
struct ftxui::SliderOption |
struct ftxui::WindowOptions |
struct ftxui::WindowRenderState |
using CapturedMouse = std::unique_ptr<CapturedMouseInterface> |
Definition at line 19 of file captured_mouse.hpp.
using ComponentDecorator = std::function<Component(Component)> |
Definition at line 31 of file component.hpp.
using ElementDecorator = std::function<Element(Element)> |
Definition at line 32 of file component.hpp.
typedef std::shared_ptr< ComponentBase > Component |
Definition at line 24 of file component_base.hpp.
using Components = std::vector<Component> |
Definition at line 25 of file component_base.hpp.
using Sender = std::unique_ptr<SenderImpl<T> > |
Definition at line 45 of file receiver.hpp.
using Receiver = std::unique_ptr<ReceiverImpl<T> > |
Definition at line 46 of file receiver.hpp.
Definition at line 22 of file elements.hpp.
Definition at line 23 of file elements.hpp.
using GraphFunction = std::function<std::vector<int>(int, int)> |
Definition at line 25 of file elements.hpp.
Enumerator | |
---|---|
Up | |
Down | |
Left | |
Right |
Definition at line 8 of file direction.hpp.
Enumerator | |
---|---|
LIGHT | |
DASHED | |
HEAVY | |
DOUBLE | |
ROUNDED | |
EMPTY |
Definition at line 27 of file elements.hpp.
Enumerator | |
---|---|
WIDTH | |
HEIGHT |
Definition at line 147 of file elements.hpp.
Enumerator | |
---|---|
LESS_THAN | |
EQUAL | |
GREATER_THAN |
Definition at line 148 of file elements.hpp.
|
strong |
Enumerator | |
---|---|
ALetter | |
CR | |
Double_Quote | |
Extend | |
ExtendNumLet | |
Format | |
Hebrew_Letter | |
Katakana | |
LF | |
MidLetter | |
MidNum | |
MidNumLet | |
Newline | |
Numeric | |
Regional_Indicator | |
Single_Quote | |
WSegSpace | |
ZWJ |
Definition at line 40 of file string_internal.hpp.
std::shared_ptr< T > Make | ( | Args &&... | args | ) |
Definition at line 26 of file component.hpp.
Component operator| | ( | Component | component, |
ComponentDecorator | decorator | ||
) |
Component operator| | ( | Component | component, |
ElementDecorator | decorator | ||
) |
Component & operator|= | ( | Component & | component, |
ComponentDecorator | decorator | ||
) |
Component & operator|= | ( | Component & | component, |
ElementDecorator | decorator | ||
) |
Component Button | ( | ButtonOption | option | ) |
Draw a button. Execute a function when clicked.
option | Additional optional parameters. |
Definition at line 174 of file button.cpp.
Component Button | ( | ConstStringRef | label, |
std::function< void()> | on_click, | ||
ButtonOption | option | ||
) |
Draw a button. Execute a function when clicked.
label | The label of the button. |
on_click | The action to execute when clicked. |
option | Additional optional parameters. |
Definition at line 202 of file button.cpp.
Component Checkbox | ( | CheckboxOption | option | ) |
Draw checkable element.
option | Additional optional parameters. |
Definition at line 108 of file checkbox.cpp.
Component Checkbox | ( | ConstStringRef | label, |
bool * | checked, | ||
CheckboxOption | option | ||
) |
Draw checkable element.
label | The label of the checkbox. |
checked | Whether the checkbox is checked or not. |
option | Additional optional parameters. |
Definition at line 135 of file checkbox.cpp.
Component Input | ( | InputOption | option | ) |
An input box for editing text.
option | Additional optional parameters. |
Component Input | ( | StringRef | content, |
InputOption | option | ||
) |
An input box for editing text.
content | The editable content. |
option | Additional optional parameters. |
Component Input | ( | StringRef | content, |
StringRef | placeholder, | ||
InputOption | option | ||
) |
An input box for editing text.
content | The editable content. |
option | Additional optional parameters. |
Component Menu | ( | MenuOption | option | ) |
A list of text. The focused element is selected.
option | a structure containing all the paramters. |
Component Menu | ( | ConstStringListRef | entries, |
int * | selected, | ||
MenuOption | option | ||
) |
A list of text. The focused element is selected.
entries | The list of entries in the menu. |
selected | The index of the currently selected element. |
option | Additional optional parameters. |
Component MenuEntry | ( | MenuEntryOption | option | ) |
A specific menu entry. They can be put into a Container::Vertical to form a menu.
option | The parameters. |
Component MenuEntry | ( | ConstStringRef | label, |
MenuEntryOption | option | ||
) |
A specific menu entry. They can be put into a Container::Vertical to form a menu.
label | The text drawn representing this element. |
option | Additional optional parameters. |
Component Radiobox | ( | RadioboxOption | option | ) |
A list of element, where only one can be selected.
option | The parameters |
NOLINTNEXTLINE
Definition at line 205 of file radiobox.cpp.
Component Radiobox | ( | ConstStringListRef | entries, |
int * | selected, | ||
RadioboxOption | option | ||
) |
A list of element, where only one can be selected.
entries | The list of entries in the list. |
selected | The index of the currently selected element. |
option | Additional optional parameters. |
Definition at line 237 of file radiobox.cpp.
Component Dropdown | ( | ConstStringListRef | entries, |
int * | selected | ||
) |
A dropdown menu.
entries | The list of entries to display. |
selected | The index of the selected entry. |
Definition at line 22 of file dropdown.cpp.
Component Dropdown | ( | DropdownOption | option | ) |
A dropdown menu.
option | The options for the dropdown. |
Definition at line 33 of file dropdown.cpp.
Component Toggle | ( | ConstStringListRef | entries, |
int * | selected | ||
) |
Component Slider | ( | SliderOption< T > | options | ) |
A slider in any direction.
options | The options |
Definition at line 346 of file slider.cpp.
Component Slider | ( | ConstStringRef | label, |
Ref< int > | value, | ||
ConstRef< int > | min, | ||
ConstRef< int > | max, | ||
ConstRef< int > | increment | ||
) |
An horizontal slider.
label | The name of the slider. |
value | The current value of the slider. |
min | The minimum value. |
max | The maximum value. |
increment | The increment when used by the cursor. |
Definition at line 289 of file slider.cpp.
Component Slider | ( | ConstStringRef | label, |
Ref< float > | value, | ||
ConstRef< float > | min = 0.f , |
||
ConstRef< float > | max = 100.f , |
||
ConstRef< float > | increment = 5.f |
||
) |
Definition at line 303 of file slider.cpp.
Component Slider | ( | ConstStringRef | label, |
Ref< long > | value, | ||
ConstRef< long > | min = 0L , |
||
ConstRef< long > | max = 100L , |
||
ConstRef< long > | increment = 5L |
||
) |
Definition at line 316 of file slider.cpp.
Component ResizableSplit | ( | ResizableSplitOption | options | ) |
A split in between two components.
options | all the parameters. |
Definition at line 186 of file resizable_split.cpp.
An horizontal split in between two components, configurable using the mouse.
main | The main component of size |main_size|, on the left. |
back | The back component taking the remaining size, on the right. |
main_size | The size of the |main| component. |
Definition at line 215 of file resizable_split.cpp.
An horizontal split in between two components, configurable using the mouse.
main | The main component of size |main_size|, on the right. |
back | The back component taking the remaining size, on the left. |
main_size | The size of the |main| component. |
Definition at line 249 of file resizable_split.cpp.
An vertical split in between two components, configurable using the mouse.
main | The main component of size |main_size|, on the top. |
back | The back component taking the remaining size, on the bottom. |
main_size | The size of the |main| component. |
Definition at line 283 of file resizable_split.cpp.
An vertical split in between two components, configurable using the mouse.
main | The main component of size |main_size|, on the bottom. |
back | The back component taking the remaining size, on the top. |
main_size | The size of the |main| component. |
Definition at line 317 of file resizable_split.cpp.
Return a new Component, similar to |child|, but using |render| as the Component::Render() event.
child | The component to forward events to. |
render | The function drawing the interface. |
Definition at line 61 of file renderer.cpp.
Return a component, using |render| to render its interface.
render | The function drawing the interface. |
Definition at line 29 of file renderer.cpp.
Return a focusable component, using |render| to render its interface.
render | The function drawing the interface, taking a boolean telling whether the component is focused or not. |
Definition at line 84 of file renderer.cpp.
ComponentDecorator Renderer | ( | ElementDecorator | decorator | ) |
Decorate a component, by decorating what it renders.
decorator | the function modifying the element it renders. |
cpp auto screen = ScreenInteractive::TerminalOutput(); auto renderer = */ // Renderer([] { return text("Hello");) /** | Renderer(bold) | Renderer(inverted); screen.Loop(renderer);
Definition at line 125 of file renderer.cpp.
ComponentDecorator CatchEvent | ( | std::function< bool(Event)> | on_event | ) |
Decorate a component, using |on_event| to catch events. This function must returns true when the event has been handled, false otherwise.
on_event | The function drawing the interface. |
Definition at line 80 of file catch_event.cpp.
Decorate a component |child|. It is shown only when |show| is true.
child | the compoennt to decorate. |
show | a boolean. |child| is shown when |show| is true. |
ComponentDecorator Maybe | ( | const bool * | show | ) |
ComponentDecorator Maybe | ( | std::function< bool()> | show | ) |
ComponentDecorator Modal | ( | Component | modal, |
const bool * | show_modal | ||
) |
Wrap a component. Gives the ability to know if it is hovered by the mouse.
component | The wrapped component. |
hover | The value to reflect whether the component is hovered or not. |
Definition at line 43 of file hoverable.cpp.
Component Hoverable | ( | Component | component, |
std::function< void()> | on_enter, | ||
std::function< void()> | on_leave | ||
) |
Wrap a component. Uses callbacks.
component | The wrapped component. |
on_enter | Callback OnEnter |
on_leave | Callback OnLeave |
Definition at line 86 of file hoverable.cpp.
Wrap a component. Gives the ability to know if it is hovered by the mouse.
on_enter | is called when the mouse hover the component. |
on_leave | is called when the mouse leave the component. |
cpp auto button = Button("exit", screen.ExitLoopClosure()); int on_enter_cnt = 0; int on_leave_cnt = 0; button |= Hoverable( [&]{ on_enter_cnt++; }, [&]{ on_leave_cnt++; } */ // ); ///
// NOLINTNEXTLINE ComponentDecorator Hoverable(std::function<void()> on_enter, // NOLINTNEXTLINE std::function<void()> on_leave) { return [on_enter, on_leave](Component component) { return Hoverable(std::move(component), on_enter, on_leave); }; }
/** Wrap a component. Gives the ability to know if it is hovered by the mouse.
component | the wrapped component. |
on_change | is called when the mouse enter or leave the component. |
```cpp auto button = Button("exit", screen.ExitLoopClosure()); bool hovered = false; auto button_hoverable = Hoverable(button, ```
Definition at line 188 of file hoverable.cpp.
ComponentDecorator Hoverable | ( | bool * | hover | ) |
Wrap a component. Gives the ability to know if it is hovered by the mouse.
hover | The value to reflect whether the component is hovered or not. |
Definition at line 141 of file hoverable.cpp.
ComponentDecorator Hoverable | ( | std::function< void()> | on_enter, |
std::function< void()> | on_leave | ||
) |
ComponentDecorator Hoverable | ( | std::function< void(bool)> | on_change | ) |
Wrap a component. Gives the ability to know if it is hovered by the mouse.
on_change | is called when the mouse enter or leave the component. |
Definition at line 209 of file hoverable.cpp.
Component Window | ( | WindowOptions | option | ) |
A draggeable / resizeable window. To use multiple of them, they must be stacked using Container::Stacked({...})
component;.
option | A struct holding every parameters. |
Definition at line 312 of file window.cpp.
Definition at line 139 of file receiver.hpp.
Element text | ( | std::wstring | text | ) |
Element vtext | ( | std::wstring | text | ) |
Display a piece unicode text vertically.
Elements paragraph | ( | std::wstring | text | ) |
From an element, apply a decorator.
Both of these are equivalent:
Compose two decorator into one.
Element text | ( | std::string | text | ) |
Element vtext | ( | std::string | text | ) |
Element separator | ( | ) |
Draw a vertical or horizontal separation in between two other elements.
Add a visual separation in between two elements.
Definition at line 134 of file separator.cpp.
Element separatorLight | ( | ) |
Draw a vertical or horizontal separation in between two other elements, using the LIGHT style.
Add a visual separation in between two elements.
Definition at line 209 of file separator.cpp.
Element separatorDashed | ( | ) |
Draw a vertical or horizontal separation in between two other elements, using the DASHED style.
Add a visual separation in between two elements.
Definition at line 246 of file separator.cpp.
Element separatorHeavy | ( | ) |
Draw a vertical or horizontal separation in between two other elements, using the HEAVY style.
Add a visual separation in between two elements.
Definition at line 283 of file separator.cpp.
Element separatorDouble | ( | ) |
Draw a vertical or horizontal separation in between two other elements, using the DOUBLE style.
Add a visual separation in between two elements.
Definition at line 320 of file separator.cpp.
Element separatorEmpty | ( | ) |
Draw a vertical or horizontal separation in between two other elements, using the EMPTY style.
Add a visual separation in between two elements.
Definition at line 357 of file separator.cpp.
Element separatorStyled | ( | BorderStyle | style | ) |
Draw a vertical or horizontal separation in between two other elements.
style | the style of the separator. |
Add a visual separation in between two elements.
Definition at line 172 of file separator.cpp.
Draw a separator in between two element filled with a given pixel.
Definition at line 426 of file separator.cpp.
Element separatorCharacter | ( | std::string | value | ) |
Draw a vertical or horizontal separation in between two other elements.
value | the character to fill the separator area. |
Add a visual separation in between two elements.
Definition at line 395 of file separator.cpp.
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.
left | the left limit of the active area. |
right | the right limit of the active area. |
selected_color | the color of the selected area. |
unselected_color | the color of the unselected area. |
Definition at line 442 of file separator.cpp.
Draw an vertical bar, with the area in between up/downcolored differently.
up | the left limit of the active area. |
down | the right limit of the active area. |
selected_color | the color of the selected area. |
unselected_color | the color of the unselected area. |
Definition at line 512 of file separator.cpp.
Draw a high definition progress bar.
progress | The proportion of the area to be filled. Belong to [0,1]. |
A gauge. It can be used to represent a progress bar.
Draw a high definition progress bar progressing from right to left.
progress | The proportion of the area to be filled. Belong to [0,1]. |
A gauge. It can be used to represent a progress bar.
Draw a high definition progress bar progressing from left to right.
progress | The proportion of the area to be filled. Belong to [0,1]. |
A gauge. It can be used to represent a progress bar.
Draw a high definition progress bar progressing from bottom to top.
progress | The proportion of the area to be filled. Belong to [0,1]. |
A gauge. It can be used to represent a progress bar.
Draw a high definition progress bar progressing from top to bottom.
progress | The proportion of the area to be filled. Belong to [0,1]. |
A gauge. It can be used to represent a progress bar.
Draw a border around the element.
Add a border around an element
Definition at line 228 of file border.cpp.
Draw a light border around the element.
Add a border around an element
Definition at line 336 of file border.cpp.
Draw a dashed border around the element.
Add a border around an element
Definition at line 301 of file border.cpp.
Draw a heavy border around the element.
Add a border around an element
Definition at line 371 of file border.cpp.
Draw a double border around the element.
Add a border around an element
Definition at line 406 of file border.cpp.
Draw a rounded border around the element.
Add a border around an element
Definition at line 441 of file border.cpp.
Draw an empty border around the element.
Add a border around an element
Definition at line 476 of file border.cpp.
Decorator borderStyled | ( | BorderStyle | style | ) |
Decorator borderStyled | ( | BorderStyle | style, |
Color | foreground_color | ||
) |
Same as border but with a foreground color and a different style.
Definition at line 263 of file border.cpp.
Same as border but with a foreground color.
Definition at line 253 of file border.cpp.
Same as border but with a constant Pixel around the element.
Definition at line 235 of file border.cpp.
Element window | ( | Element | title, |
Element | content, | ||
BorderStyle | border | ||
) |
Draw window with a title and a border around the element.
title | The title of the window. |
content | The element to be wrapped. |
border | The style of the border. Default is ROUNDED. |
Definition at line 508 of file border.cpp.
Useful to represent the effect of time and/or events. This display an ASCII art "video".
charset_index | The type of "video". |
image_index | The "frame" of the video. You need to increase this for every "step". |
Definition at line 282 of file spinner.cpp.
Return an element drawing the paragraph on multiple lines.
Definition at line 28 of file paragraph.cpp.
Return an element drawing the paragraph on multiple lines, aligned on the left.
Definition at line 36 of file paragraph.cpp.
Return an element drawing the paragraph on multiple lines, aligned on the right.
Definition at line 45 of file paragraph.cpp.
Return an element drawing the paragraph on multiple lines, aligned on the center.
Definition at line 55 of file paragraph.cpp.
Return an element drawing the paragraph on multiple lines, aligned using a justified alignment. the center.
Definition at line 66 of file paragraph.cpp.
Element graph | ( | GraphFunction | graph_function | ) |
Element emptyElement | ( | ) |
Produce an element from a Canvas, or a reference to a Canvas.
Definition at line 891 of file canvas.cpp.
Produce an element drawing a canvas of requested size.
width | the width of the canvas. |
height | the height of the canvas. |
fn | a function drawing the canvas. |
Definition at line 908 of file canvas.cpp.
Produce an element drawing a canvas.
fn | a function drawing the canvas. |
Definition at line 938 of file canvas.cpp.
Add a filter that will invert the foreground and the background colors.
Definition at line 34 of file inverted.cpp.
Make the underlined element to be underlined.
Definition at line 33 of file underlined.cpp.
Apply a underlinedDouble to text.
Definition at line 17 of file underlined_double.cpp.
Apply a strikethrough to text.
Definition at line 17 of file strikethrough.cpp.
Decorator color | ( | const LinearGradient & | gradient | ) |
Decorate using a linear-gradient effect on the foreground color.
gradient | The gradient effect to be applied on the output element. |
Definition at line 278 of file linear_gradient.cpp.
Decorator bgcolor | ( | const LinearGradient & | gradient | ) |
Decorate using a linear-gradient effect on the background color.
gradient | The gradient effect to be applied on the output element. |
Definition at line 293 of file linear_gradient.cpp.
Element color | ( | const LinearGradient & | gradient, |
Element | child | ||
) |
Set the foreground color of an element with linear-gradient effect.
gradient | The gradient effect to be applied on the output element. |
child | The input element. |
Definition at line 247 of file linear_gradient.cpp.
Element bgcolor | ( | const LinearGradient & | gradient, |
Element | child | ||
) |
Set the background color of an element with linear-gradient effect.
gradient | The gradient effect to be applied on the output element. |
child | The input element. |
Definition at line 263 of file linear_gradient.cpp.
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.
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.
For instance:
Enable character to be automatically merged with others nearby.
Definition at line 17 of file automerge.cpp.
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/.
link | The link to redirect the users to. |
Definition at line 70 of file hyperlink.cpp.
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/.
link | The link |
child | The input element. |
Definition at line 51 of file hyperlink.cpp.
Element flexbox | ( | Elements | , |
FlexboxConfig | config = FlexboxConfig() |
||
) |
A container displaying a grid of elements.
lines | A list of lines, each line being a list of elements. |
Output:
Definition at line 183 of file gridbox.cpp.
Make a child element to expand proportionally to the space left in a container.
Element filler | ( | ) |
Decorator size | ( | WidthOrHeight | direction, |
Constraint | constraint, | ||
int | value | ||
) |
Same as focus
, but set the cursor shape to be a still block.
Same as focus
, but set the cursor shape to be a blinking block.
Same as focus
, but set the cursor shape to be a still block.
Same as focus
, but set the cursor shape to be a blinking bar.
Same as focus
, but set the cursor shape to be a still underline.
Same as focus
, but set the cursor shape to be a blinking underline.
Display a vertical scrollbar to the right. colors.
Definition at line 21 of file scroll_indicator.cpp.
Display an horizontal scrollbar to the bottom. colors.
Definition at line 76 of file scroll_indicator.cpp.
Definition at line 43 of file reflect.cpp.
Before drawing |child|, clear the pixels below. This is useful in.
Definition at line 38 of file clear_under.cpp.
Center an element horizontally.
child | The decorated element. |
Definition at line 15 of file composite_decorator.cpp.
Center an element vertically.
child | The decorated element. |
Definition at line 23 of file composite_decorator.cpp.
Center an element horizontally and vertically.
child | The decorated element. |
Definition at line 31 of file composite_decorator.cpp.
Align an element on the right side.
child | The decorated element. |
Definition at line 39 of file composite_decorator.cpp.
Display an element on a ftxui::Screen.
Display an element on a ftxui::Screen.
ColorInfo GetColorInfo | ( | Color::Palette256 | index | ) |
Definition at line 272 of file color_info.cpp.
ColorInfo GetColorInfo | ( | Color::Palette16 | index | ) |
Definition at line 276 of file color_info.cpp.
Definition at line 1313 of file string.cpp.
Definition at line 1317 of file string.cpp.
std::string to_string | ( | const std::wstring & | s | ) |
Convert a UTF8 std::string into a std::wstring.
Definition at line 1565 of file string.cpp.
std::wstring to_wstring | ( | const std::string & | s | ) |
Convert a std::wstring into a UTF8 std::string.
Definition at line 1637 of file string.cpp.
std::wstring to_wstring | ( | T | s | ) |
Definition at line 15 of file string.hpp.
Definition at line 1330 of file string.cpp.
std::vector< std::string > Utf8ToGlyphs | ( | const std::string & | input | ) |
Definition at line 1357 of file string.cpp.
Definition at line 1464 of file string.cpp.
Return a component, using |on_event| to catch events. This function must returns true when the event has been handled, false otherwise.
child | The wrapped component. |
on_event | The function drawing the interface. |
Definition at line 54 of file catch_event.cpp.
template Component Slider | ( | SliderOption< int8_t > | ) |
template Component Slider | ( | SliderOption< int16_t > | ) |
template Component Slider | ( | SliderOption< int32_t > | ) |
template Component Slider | ( | SliderOption< int64_t > | ) |
template Component Slider | ( | SliderOption< uint8_t > | ) |
template Component Slider | ( | SliderOption< uint16_t > | ) |
template Component Slider | ( | SliderOption< uint32_t > | ) |
template Component Slider | ( | SliderOption< uint64_t > | ) |
template Component Slider | ( | SliderOption< float > | ) |
template Component Slider | ( | SliderOption< double > | ) |
Definition at line 1174 of file string.cpp.
Definition at line 1244 of file string.cpp.
Definition at line 1282 of file string.cpp.
Definition at line 1286 of file string.cpp.
Definition at line 1293 of file string.cpp.
WordBreakProperty CodepointToWordBreakProperty | ( | uint32_t | codepoint | ) |
Definition at line 1307 of file string.cpp.
Definition at line 1399 of file string.cpp.
Definition at line 1424 of file string.cpp.
Definition at line 1450 of file string.cpp.
Definition at line 1505 of file string.cpp.
std::vector< WordBreakProperty > Utf8ToWordBreakProperty | ( | const std::string & | input | ) |
Definition at line 1533 of file string.cpp.
const std::map<std::string, std::string> g_uniformize |
Definition at line 19 of file terminal_input_parser.cpp.
Definition at line 13 of file color_info.cpp.