La lista de todos los elementos está incluida y se puede acceder a ella incluyendo el archivo de cabecera correspondiente:
#ifndef FTXUI_DOM_ELEMENTS_HPP
#define FTXUI_DOM_ELEMENTS_HPP
#include <functional>
#include <memory>
class Node;
using Element = std::shared_ptr<Node>;
};
Color unselected_color,
Color selected_color);
Color unselected_color,
Color selected_color);
Element canvas(
int width,
int height, std::function<
void(Canvas&)>);
Dimensions
Fit(
Element&,
bool extend_beyond_screen =
false);
}
}
#include "ftxui/dom/take_any_args.hpp"
#endif
Decorator bgcolor(Color)
Decora usando un color de fondo.
Element window(Element title, Element content, BorderStyle border=ROUNDED)
Draw window with a title and a border around the element.
Element borderDouble(Element)
Draw a double border around the element.
Element focusCursorBarBlinking(Element)
Igual que focus, pero establece la forma del cursor como una barra parpadeante.
Element xflex(Element)
Expandir/Minimizar si es posible/necesario en el eje X.
Element gaugeDirection(float progress, Direction direction)
Dibuja una barra de progreso de alta definición que avanza en la dirección especificada.
Decorator focusPositionRelative(float x, float y)
Utilizado dentro de un frame, esto fuerza que la vista se desplace hacia una posición determinada....
Element separatorStyled(BorderStyle)
Dibuja una separación vertical u horizontal entre otros dos elementos.
Element xflex_grow(Element)
Expandir si es posible en el eje X.
Element underlinedDouble(Element)
Aplica un doble subrayado al texto.
Element clear_under(Element element)
Antes de dibujar |child|, limpia los píxeles de abajo. Esto es útil en combinación con dbox.
Element borderDashed(Element)
Draw a dashed border around the element.
Element separatorEmpty()
Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo VACÍO.
Element vscroll_indicator(Element)
Muestra una barra de desplazamiento vertical a la derecha. Los colores siguen el contenido.
Element nothing(Element element)
Una decoración que no hace absolutamente nada.
Decorator size(WidthOrHeight, Constraint, int value)
Aplica una restricción al tamaño de un elemento.
Direction
Direction es una enumeración que representa las cuatro cardinales direcciones.
Element flex(Element)
Hace que un elemento hijo se expanda proporcionalmente al espacio restante en un contenedor.
Element paragraphAlignRight(const std::string &text)
Devuelve un elemento que dibuja el párrafo en varias líneas, alineado a la derecha.
Element gaugeRight(float progress)
Dibuja una barra de progreso de alta definición que avanza de izquierda a derecha.
Element focusCursorUnderlineBlinking(Element)
Igual que focus, pero establece la forma del cursor como un subrayado parpadeante.
Element bold(Element)
Utiliza una fuente en negrita, para elementos con más énfasis.
Element separatorLight()
Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo LIGERO.
Element spinner(int charset_index, size_t image_index)
Útil para representar el efecto del tiempo y/o eventos. Esto muestra un "video" de arte ASCII.
Element borderRounded(Element)
Draw a rounded border around the element.
Element yflex(Element)
Expandir/Minimizar si es posible/necesario en el eje Y.
Element flex_shrink(Element)
Minimizar si es necesario.
Element focusCursorBar(Element)
Igual que focus, pero establece la forma del cursor como un bloque fijo.
Element focusCursorBlock(Element)
Igual que focus, pero establece la forma del cursor como un bloque fijo.
Element underlined(Element)
Subraya el elemento dado.
Element center(Element)
Centra un elemento horizontal y verticalmente.
Element focusCursorUnderline(Element)
Igual que focus, pero establece la forma del cursor como un subrayado fijo.
Element borderHeavy(Element)
Draw a heavy border around the element.
Element inverted(Element)
Agrega un filtro que invertirá los colores de primer plano y de fondo. colores.
Element paragraphAlignCenter(const std::string &text)
Devuelve un elemento que dibuja el párrafo en varias líneas, alineado al centro.
Element gaugeUp(float progress)
Dibuja una barra de progreso de alta definición que avanza de abajo hacia arriba.
Element align_right(Element)
Alinea un elemento a la derecha.
Decorator focusPosition(int x, int y)
Utilizado dentro de un frame, esto fuerza que la vista se desplace hacia una posición determinada....
Element yflex_grow(Element)
Expandir si es posible en el eje Y.
Element hscroll_indicator(Element)
Muestra una barra de desplazamiento horizontal en la parte inferior. Los colores siguen el contenido.
Element flex_grow(Element)
Expandir si es posible.
Element separatorDashed()
Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo DISCONTINUO.
Element notflex(Element)
Hace que el elemento no sea flexible.
Element strikethrough(Element)
Aplica un tachado al texto.
Element italic(Element)
Aplica un subrayado doble al texto.
Element dbox(Elements)
Apila varios elementos uno encima del otro.
Element xflex_shrink(Element)
Minimizar si es necesario en el eje X.
Element gaugeLeft(float progress)
Dibuja una barra de progreso de alta definición que avanza de derecha a izquierda.
Element separatorCharacter(std::string)
Dibuja una separación vertical u horizontal entre otros dos elementos.
Element vtext(std::wstring text)
Muestra un fragmento de texto Unicode verticalmente.
Element borderLight(Element)
Draw a light border around the element.
Element focus(Element)
Establece que child sea el elemento enfocado entre sus hermanos.
Element paragraphAlignLeft(const std::string &text)
Devuelve un elemento que dibuja el párrafo en varias líneas, alineado a la izquierda.
Decorator borderWith(const Pixel &)
Same as border but with a constant Pixel around the element.
Decorator borderStyled(BorderStyle)
Same as border but with different styles.
Element separator()
Dibuja una separación vertical u horizontal entre otros dos elementos.
Element filler()
Un elemento que se expandirá proporcionalmente al espacio restante en un contenedor.
Element dim(Element)
Usa una fuente clara para elementos con menos énfasis.
Element automerge(Element child)
Permite que los caracteres se fusionen automáticamente con otros cercanos.
Decorator hyperlink(std::string link)
Decora usando un hipervínculo. El enlace se abrirá cuando el usuario haga clic en él....
Element blink(Element)
El texto dibujado alterna entre visible y oculto.
Element vcenter(Element)
Centra un elemento verticalmente.
Element separatorDouble()
Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo DOBLE.
Element focusCursorBlockBlinking(Element)
Igual que focus, pero establece la forma del cursor como un bloque parpadeante.
Element paragraphAlignJustify(const std::string &text)
Devuelve un elemento que dibuja el párrafo en varias líneas, alineado utilizando una alineación justi...
Element border(Element)
Draw a border around the element.
Element separatorHeavy()
Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo GRUESO.
Element borderEmpty(Element)
Draw an empty border around the element.
Element yflex_shrink(Element)
Minimizar si es necesario en el eje Y.
Element hcenter(Element)
Centra un elemento horizontalmente.
BorderStyle
BorderStyle es una enumeración que representa los diferentes estilos de bordes que se pueden aplicar ...
Element gaugeDown(float progress)
Dibuja una barra de progreso de alta definición que avanza de arriba hacia abajo.
El espacio de nombres ftxui::Dimension:: de FTXUI.
Dimensions Fit(Element &, bool extend_beyond_screen=false)
std::function< Element(Element)> Decorator
Element flexbox(Elements, FlexboxConfig config=FlexboxConfig())
Un contenedor que muestra elementos en filas/columnas y es capaz de ajustarse a la siguiente columna/...
Element separatorVSelector(float up, float down, Color unselected_color, Color selected_color)
Dibuja una barra vertical, con el área entre arriba/abajo coloreada de forma diferente.
std::shared_ptr< Node > Element
Element xframe(Element)
Igual que frame, pero solo en el eje x.
Element hflow(Elements)
Un contenedor que muestra elementos en filas de izquierda a derecha. Cuando está lleno,...
Decorator selectionStyle(std::function< void(Pixel &)> style)
Establece el estilo de un elemento cuando está seleccionado.
Element separatorHSelector(float left, float right, Color unselected_color, Color selected_color)
Dibuja una barra horizontal, con el área entre izquierda/derecha coloreada de forma diferente.
Element hbox(Elements)
Un contenedor que muestra elementos horizontalmente uno por uno.
std::vector< Element > Elements
Decorator selectionForegroundColor(Color foreground)
Establece el color de primer plano de un elemento cuando está seleccionado. Tenga en cuenta que el es...
Component operator|(Component component, ComponentDecorator decorator)
Decorator selectionBackgroundColor(Color foreground)
Establece el color de fondo de un elemento cuando está seleccionado. Tenga en cuenta que el estilo se...
Element yframe(Element)
Igual que frame, pero solo en el eje y.
Decorator selectionColor(Color foreground)
Establece el color de un elemento cuando está seleccionado.
Element select(Element e)
Establece que child sea el elemento enfocado entre sus hermanos.
Element selectionStyleReset(Element)
Restablece el estilo de selección de un elemento.
Element canvas(ConstRef< Canvas >)
Decorator reflect(Box &box)
std::function< std::vector< int >(int, int)> GraphFunction
Element gridbox(std::vector< Elements > lines)
Un contenedor que muestra una cuadrícula de elementos.
Elements paragraph(std::wstring text)
Element frame(Element)
Permite que un elemento se muestre dentro de un área 'virtual'. Su tamaño puede ser mayor que su cont...
Component & operator|=(Component &component, ComponentDecorator decorator)
Element vflow(Elements)
Un contenedor que muestra elementos en filas de arriba a abajo. Cuando está lleno,...
Element graph(GraphFunction)
Dibuja un gráfico usando una GraphFunction.
El widget más simple. Muestra un texto.
Añade un borde alrededor de un elemento.
El borde también viene en una variedad de estilos como se muestra a continuación:
Muestra una línea vertical/horizontal para dividir visualmente el contenido de un contenedor en dos.
Los separadores vienen en una variedad de estilos como se muestra a continuación:
Este es un elemento visual que representa una proporción de progreso.
Los medidores pueden mostrarse en muchas orientaciones como se muestra a continuación:
La mayoría de las consolas de terminal pueden mostrar texto y fondos de colores. FTXUI soporta todas las paletas de colores:
En terminales que soportan 256 colores.
En terminales que soportan TrueColor, puedes usar directamente el espacio de color RGB de 24 bits:
FTXUI soporta degradado lineal. Ya sea en primer plano o en segundo plano.
Además de texto y fondos de colores. Muchos terminales soportan efectos de texto como: bold, italic, dim, underlined, inverted, blink.
Para usar estos efectos, simplemente envuelve tus elementos con el efecto deseado:
Permite un formato sencillo de datos en una tabla visual ordenada.