FTXUI 6.1.9
C++ functional terminal UI.
Loading...
Searching...
No Matches
ftxui/dom

Detailed Description

Por favor, consulta el tutorial del módulo ftxui/dom.

Classes

struct  Canvas
 Canvas es un búfer dibujable asociado con operaciones de dibujo. More...
 
struct  FlexboxConfig
 FlexboxConfig es una estructura de configuración que define las propiedades de diseño para un contenedor flexbox. More...
 
struct  LinearGradient
 Una clase que representa la configuración para el efecto de color de gradiente lineal. More...
 
class  Node
 Node es la clase base para todos los elementos en el árbol DOM. More...
 
struct  Requirement
 Requirement es una estructura que define los requisitos de diseño para un Nodo en la interfaz de usuario del terminal. More...
 
class  Selection
 Representa una selección en una interfaz de usuario de terminal. More...
 
class  Table
 Table es una utilidad para dibujar tablas. More...
 

Enumerations

enum class  Direction {
  Up = 0 ,
  Down = 1 ,
  Left = 2 ,
  Right = 3
}
 Direction es una enumeración que representa las cuatro cardinales direcciones. More...
 
enum  BorderStyle {
  LIGHT ,
  DASHED ,
  HEAVY ,
  DOUBLE ,
  ROUNDED ,
  EMPTY
}
 BorderStyle es una enumeración que representa los diferentes estilos de bordes que se pueden aplicar a los elementos en la interfaz de usuario de la terminal. More...
 

Functions

Element automerge (Element child)
 Permite que los caracteres se fusionen automáticamente con otros cercanos.
 
Element blink (Element child)
 El texto dibujado alterna entre visible y oculto.
 
Element bold (Element child)
 Utiliza una fuente en negrita, para elementos con más énfasis.
 
Element border (Element child)
 Draw a border around the element.
 
Decorator borderWith (const Pixel &pixel)
 Same as border but with a constant Pixel around the element.
 
Decorator borderStyled (BorderStyle style)
 Same as border but with different styles.
 
Decorator borderStyled (Color foreground_color)
 Same as border but with a foreground color.
 
Decorator borderStyled (BorderStyle style, Color foreground_color)
 Same as border but with a foreground color and a different style.
 
Element borderDashed (Element child)
 Draw a dashed border around the element.
 
Element borderLight (Element child)
 Draw a light 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.
 
Element window (Element title, Element content, BorderStyle border)
 Draw window with a title and a border around the element.
 
Element clear_under (Element element)
 Antes de dibujar |child|, limpia los píxeles de abajo. Esto es útil en combinación con dbox.
 
Element color (Color color, Element child)
 Establece el color de primer plano de un elemento.
 
Element bgcolor (Color color, Element child)
 Establece el color de fondo de un elemento.
 
Decorator color (Color c)
 Decora usando un color de primer plano.
 
Decorator bgcolor (Color color)
 Decora usando un color de fondo.
 
Element hcenter (Element child)
 Centra un elemento horizontalmente.
 
Element vcenter (Element child)
 Centra un elemento verticalmente.
 
Element center (Element child)
 Centra un elemento horizontal y verticalmente.
 
Element align_right (Element child)
 Alinea un elemento a la derecha.
 
Element dbox (Elements children_)
 Apila varios elementos uno encima del otro.
 
Element dim (Element child)
 Usa una fuente clara para elementos con menos énfasis.
 
Element filler ()
 Un elemento que se expandirá proporcionalmente al espacio restante en un contenedor.
 
Element flex (Element child)
 Hace que un elemento hijo se expanda proporcionalmente al espacio restante en un contenedor.
 
Element xflex (Element child)
 Expandir/Minimizar si es posible/necesario en el eje X.
 
Element yflex (Element child)
 Expandir/Minimizar si es posible/necesario en el eje Y.
 
Element flex_grow (Element child)
 Expandir si es posible.
 
Element xflex_grow (Element child)
 Expandir si es posible en el eje X.
 
Element yflex_grow (Element child)
 Expandir si es posible en el eje Y.
 
Element flex_shrink (Element child)
 Minimizar si es necesario.
 
Element xflex_shrink (Element child)
 Minimizar si es necesario en el eje X.
 
Element yflex_shrink (Element child)
 Minimizar si es necesario en el eje Y.
 
Element notflex (Element child)
 Hace que el elemento no sea flexible.
 
Decorator focusPositionRelative (float x, float y)
 Utilizado dentro de un frame, esto fuerza que la vista se desplace hacia una posición determinada. La posición se expresa en proporción del tamaño solicitado.
 
Decorator focusPosition (int x, int y)
 Utilizado dentro de un frame, esto fuerza que la vista se desplace hacia una posición determinada. La posición se expresa en el número de celdas.
 
Element focus (Element child)
 Establece que child sea el elemento enfocado entre sus hermanos.
 
Element focusCursorBlock (Element child)
 Igual que focus, pero establece la forma del cursor como un bloque fijo.
 
Element focusCursorBlockBlinking (Element child)
 Igual que focus, pero establece la forma del cursor como un bloque parpadeante.
 
Element focusCursorBar (Element child)
 Igual que focus, pero establece la forma del cursor como un bloque fijo.
 
Element focusCursorBarBlinking (Element child)
 Igual que focus, pero establece la forma del cursor como una barra parpadeante.
 
Element focusCursorUnderline (Element child)
 Igual que focus, pero establece la forma del cursor como un subrayado fijo.
 
Element focusCursorUnderlineBlinking (Element child)
 Igual que focus, pero establece la forma del cursor como un subrayado parpadeante.
 
Element gaugeDirection (float progress, Direction direction)
 Dibuja una barra de progreso de alta definición que avanza en la dirección especificada.
 
Element gaugeRight (float progress)
 Dibuja una barra de progreso de alta definición que avanza de izquierda a derecha.
 
Element gaugeLeft (float progress)
 Dibuja una barra de progreso de alta definición que avanza de derecha a izquierda.
 
Element gaugeUp (float progress)
 Dibuja una barra de progreso de alta definición que avanza de abajo hacia arriba.
 
Element gaugeDown (float progress)
 Dibuja una barra de progreso de alta definición que avanza de arriba hacia abajo.
 
Element gauge (float progress)
 Dibuja una barra de progreso de alta definición.
 
Element hyperlink (std::string link, Element child)
 Hace que el área renderizada sea clicable usando un navegador web. El enlace se abrirá cuando el usuario haga clic en él. Esto solo es compatible con un conjunto limitado de emuladores de terminal. Lista: https://github.com/Alhadis/OSC8-Adoption/.
 
Decorator hyperlink (std::string link)
 Decora usando un hipervínculo. El enlace se abrirá cuando el usuario haga clic en él. Esto solo es compatible con un conjunto limitado de emuladores de terminal. Lista: https://github.com/Alhadis/OSC8-Adoption/.
 
Element inverted (Element child)
 Agrega un filtro que invertirá los colores de primer plano y de fondo. colores.
 
Element italic (Element child)
 Aplica un subrayado doble al texto.
 
Element color (const LinearGradient &gradient, Element child)
 Establece el color de primer plano de un elemento con efecto de gradiente lineal.
 
Element bgcolor (const LinearGradient &gradient, Element child)
 Establece el color de fondo de un elemento con efecto de gradiente lineal.
 
Decorator color (const LinearGradient &gradient)
 Decora usando un efecto de gradiente lineal en el color de primer plano.
 
Decorator bgcolor (const LinearGradient &gradient)
 Decora usando un efecto de gradiente lineal en el color de fondo.
 
void Render (Screen &screen, const Element &element)
 Muestra un elemento en un ftxui::Screen.
 
void Render (Screen &screen, Node *node)
 Muestra un elemento en un ftxui::Screen.
 
Element paragraph (const std::string &the_text)
 Devuelve un elemento que dibuja el párrafo en varias líneas.
 
Element paragraphAlignLeft (const std::string &the_text)
 Devuelve un elemento que dibuja el párrafo en varias líneas, alineado a la izquierda.
 
Element paragraphAlignRight (const std::string &the_text)
 Devuelve un elemento que dibuja el párrafo en varias líneas, alineado a la derecha.
 
Element paragraphAlignCenter (const std::string &the_text)
 Devuelve un elemento que dibuja el párrafo en varias líneas, alineado al centro.
 
Element paragraphAlignJustify (const std::string &the_text)
 Devuelve un elemento que dibuja el párrafo en varias líneas, alineado utilizando una alineación justificada.
 
Element vscroll_indicator (Element child)
 Muestra una barra de desplazamiento vertical a la derecha. Los colores siguen el contenido.
 
Element hscroll_indicator (Element child)
 Muestra una barra de desplazamiento horizontal en la parte inferior. Los colores siguen el contenido.
 
Element separator ()
 Dibuja una separación vertical u horizontal entre otros dos elementos.
 
Element separatorStyled (BorderStyle style)
 Dibuja una separación vertical u horizontal entre otros dos elementos.
 
Element separatorLight ()
 Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo LIGERO.
 
Element separatorDashed ()
 Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo DISCONTINUO.
 
Element separatorHeavy ()
 Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo GRUESO.
 
Element separatorDouble ()
 Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo DOBLE.
 
Element separatorEmpty ()
 Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo VACÍO.
 
Element separatorCharacter (std::string value)
 Dibuja una separación vertical u horizontal entre otros dos elementos.
 
Element separator (Pixel pixel)
 Dibuja un separador entre dos elementos, rellenado con un píxel dado.
 
Decorator size (WidthOrHeight direction, Constraint constraint, int value)
 Aplica una restricción al tamaño de un elemento.
 
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 strikethrough (Element child)
 Aplica un tachado al texto.
 
Element text (std::string text)
 Muestra un fragmento de texto Unicode codificado en UTF8.
 
Element text (std::wstring text)
 Muestra un fragmento de texto Unicode.
 
Element vtext (std::string text)
 Muestra un fragmento de texto Unicode verticalmente.
 
Element vtext (std::wstring text)
 Muestra un fragmento de texto Unicode verticalmente.
 
Element underlined (Element child)
 Subraya el elemento dado.
 
Element underlinedDouble (Element child)
 Aplica un doble subrayado al texto.
 
Element nothing (Element element)
 Una decoración que no hace absolutamente nada.
 
Decorator operator| (Decorator a, Decorator b)
 Compone dos decoradores en uno.
 
Elements operator| (Elements elements, Decorator decorator)
 A partir de un conjunto de elementos, aplica un decorador a cada elemento.
 
Element operator| (Element element, Decorator decorator)
 A partir de un elemento, aplica un decorador.
 
Elementoperator|= (Element &e, Decorator d)
 Aplica un decorador a un elemento.
 
Element emptyElement ()
 
Element vbox (Elements children)
 Un contenedor que muestra elementos verticalmente uno por uno.
 
void SetColorSupport (Color color)
 Anula el soporte de color del terminal en caso de que la autodetección falle.
 

Class Documentation

◆ ftxui::Canvas

struct ftxui::Canvas

Canvas es un búfer dibujable asociado con operaciones de dibujo.

Canvas es un área dibujable que se puede utilizar para crear gráficos complejos. Soporta dibujar puntos, líneas, círculos, elipses, texto e imágenes usando caracteres braille, de bloque o normales.

Nota: Un terminal contiene celdas. Una celda es una unidad de:

  • Caracteres braille de 2x4 (1x1 píxel)
  • Caracteres de bloque de 2x2 (2x2 píxeles)
  • Caracteres normales de 2x4 (2x4 píxeles)

Debe multiplicar la coordenada x por 2 y la coordenada y por 4 para obtener la posición correcta en el terminal.

Examples
examples/component/canvas_animated.cpp, and examples/dom/canvas.cpp.

Definition at line 38 of file canvas.hpp.

Public Types

using Stylizer = std::function<void(Pixel&)>
 

Public Member Functions

 Canvas ()=default
 
 Canvas (int width, int height)
 Constructor.
 
int width () const
 
int height () const
 
Pixel GetPixel (int x, int y) const
 Obtiene el contenido de una celda.
 
void DrawPointOn (int x, int y)
 Dibuja un punto braille.
 
void DrawPointOff (int x, int y)
 Borra un punto braille.
 
void DrawPointToggle (int x, int y)
 Alterna un punto braille. Uno relleno será borrado, y el otro será dibujado.
 
void DrawPoint (int x, int y, bool value)
 Dibuja un punto braille.
 
void DrawPoint (int x, int y, bool value, const Stylizer &s)
 Dibuja un punto braille.
 
void DrawPoint (int x, int y, bool value, const Color &color)
 Dibuja un punto braille.
 
void DrawPointLine (int x1, int y1, int x2, int y2)
 Dibuja una línea de puntos braille.
 
void DrawPointLine (int x1, int y1, int x2, int y2, const Stylizer &s)
 Dibuja una línea de puntos braille.
 
void DrawPointLine (int x1, int y1, int x2, int y2, const Color &color)
 Dibuja una línea de puntos braille.
 
void DrawPointCircle (int x, int y, int radius)
 Dibuja un círculo de puntos braille.
 
void DrawPointCircle (int x, int y, int radius, const Stylizer &s)
 Dibuja un círculo de puntos braille.
 
void DrawPointCircle (int x, int y, int radius, const Color &color)
 Dibuja un círculo de puntos braille.
 
void DrawPointCircleFilled (int x, int y, int radius)
 Dibuja un círculo relleno de puntos braille.
 
void DrawPointCircleFilled (int x, int y, int radius, const Stylizer &s)
 Dibuja un círculo relleno de puntos braille.
 
void DrawPointCircleFilled (int x, int y, int radius, const Color &color)
 Dibuja un círculo relleno de puntos braille.
 
void DrawPointEllipse (int x, int y, int r1, int r2)
 Dibuja una elipse de puntos braille.
 
void DrawPointEllipse (int x, int y, int r1, int r2, const Color &color)
 Dibuja una elipse de puntos braille.
 
void DrawPointEllipse (int x, int y, int r1, int r2, const Stylizer &s)
 Dibuja una elipse de puntos braille.
 
void DrawPointEllipseFilled (int x, int y, int r1, int r2)
 Dibuja una elipse rellena de puntos braille.
 
void DrawPointEllipseFilled (int x, int y, int r1, int r2, const Color &color)
 Dibuja una elipse rellena de puntos braille.
 
void DrawPointEllipseFilled (int x, int y, int r1, int r2, const Stylizer &s)
 Dibuja una elipse rellena de puntos braille.
 
void DrawBlockOn (int x, int y)
 Dibuja un bloque.
 
void DrawBlockOff (int x, int y)
 Borra un bloque.
 
void DrawBlockToggle (int x, int y)
 Alterna un bloque. Si está relleno, se borrará. Si está vacío, se rellenará.
 
void DrawBlock (int x, int y, bool value)
 Dibuja un bloque.
 
void DrawBlock (int x, int y, bool value, const Stylizer &s)
 Dibuja un bloque.
 
void DrawBlock (int x, int y, bool value, const Color &color)
 Dibuja un bloque.
 
void DrawBlockLine (int x1, int y1, int x2, int y2)
 Dibuja una línea de caracteres de bloque.
 
void DrawBlockLine (int x1, int y1, int x2, int y2, const Stylizer &s)
 Dibuja una línea de caracteres de bloque.
 
void DrawBlockLine (int x1, int y1, int x2, int y2, const Color &color)
 Dibuja una línea de caracteres de bloque.
 
void DrawBlockCircle (int x1, int y1, int radius)
 Dibuja un círculo de caracteres de bloque.
 
void DrawBlockCircle (int x1, int y1, int radius, const Stylizer &s)
 Dibuja un círculo de caracteres de bloque.
 
void DrawBlockCircle (int x1, int y1, int radius, const Color &color)
 Dibuja un círculo de caracteres de bloque.
 
void DrawBlockCircleFilled (int x1, int y1, int radius)
 Dibuja un círculo relleno de caracteres de bloque.
 
void DrawBlockCircleFilled (int x1, int y1, int radius, const Stylizer &s)
 Dibuja un círculo relleno de caracteres de bloque.
 
void DrawBlockCircleFilled (int x1, int y1, int radius, const Color &color)
 Dibuja un círculo relleno de caracteres de bloque.
 
void DrawBlockEllipse (int x1, int y1, int r1, int r2)
 Dibuja una elipse de caracteres de bloque.
 
void DrawBlockEllipse (int x1, int y1, int r1, int r2, const Stylizer &s)
 Dibuja una elipse de caracteres de bloque.
 
void DrawBlockEllipse (int x1, int y1, int r1, int r2, const Color &color)
 Dibuja una elipse de caracteres de bloque.
 
void DrawBlockEllipseFilled (int x1, int y1, int r1, int r2)
 
void DrawBlockEllipseFilled (int x1, int y1, int r1, int r2, const Stylizer &s)
 Dibuja una elipse rellena de caracteres de bloque.
 
void DrawBlockEllipseFilled (int x1, int y1, int r1, int r2, const Color &color)
 
void DrawText (int x, int y, const std::string &value)
 Dibuja un trozo de texto.
 
void DrawText (int x, int y, const std::string &value, const Color &color)
 Dibuja un trozo de texto.
 
void DrawText (int x, int y, const std::string &value, const Stylizer &style)
 Dibuja un trozo de texto.
 
void DrawPixel (int x, int y, const Pixel &)
 Dibuja directamente un píxel predefinido en la coordenada dada.
 
void DrawImage (int x, int y, const Image &)
 Dibuja una imagen predefinida, con la esquina superior izquierda en la coordenada dada Puedes proporcionar coordenadas negativas para alinear la imagen como desees - solo se dibujará la porción 'visible'.
 
void Style (int x, int y, const Stylizer &style)
 Modifica un píxel en una ubicación dada.
 

Member Typedef Documentation

◆ Stylizer

using Stylizer = std::function<void(Pixel&)>

Definition at line 48 of file canvas.hpp.

Constructor & Destructor Documentation

◆ Canvas() [1/2]

Canvas ( )
default

◆ Canvas() [2/2]

Canvas ( int width,
int height )

Constructor.

Parameters
widthel ancho del lienzo. Una celda es un punto braille de 2x4.
heightla altura del lienzo. Una celda es un punto braille de 2x4.

Definition at line 90 of file src/ftxui/dom/canvas.cpp.

Member Function Documentation

◆ width()

int width ( ) const
inline

Definition at line 44 of file canvas.hpp.

◆ height()

int height ( ) const
inline

Definition at line 45 of file canvas.hpp.

◆ GetPixel()

Pixel GetPixel ( int x,
int y ) const

Obtiene el contenido de una celda.

Parameters
xla coordenada x de la celda.
yla coordenada y de la celda.

Definition at line 98 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointOn()

void DrawPointOn ( int x,
int y )

Dibuja un punto braille.

Parameters
xla coordenada x del punto.
yla coordenada y del punto.

Definition at line 137 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointOff()

void DrawPointOff ( int x,
int y )

Borra un punto braille.

Parameters
xla coordenada x del punto.
yla coordenada y del punto.

Definition at line 154 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointToggle()

void DrawPointToggle ( int x,
int y )

Alterna un punto braille. Uno relleno será borrado, y el otro será dibujado.

Parameters
xla coordenada x del punto.
yla coordenada y del punto.

Definition at line 172 of file src/ftxui/dom/canvas.cpp.

◆ DrawPoint() [1/3]

void DrawPoint ( int x,
int y,
bool value )

Dibuja un punto braille.

Parameters
xla coordenada x del punto.
yla coordenada y del punto.
valuesi el punto está relleno o no.

Definition at line 107 of file src/ftxui/dom/canvas.cpp.

◆ DrawPoint() [2/3]

void DrawPoint ( int x,
int y,
bool value,
const Stylizer & style )

Dibuja un punto braille.

Parameters
xla coordenada x del punto.
yla coordenada y del punto.
valuesi el punto está relleno o no.
styleel estilo de la celda.

Definition at line 125 of file src/ftxui/dom/canvas.cpp.

◆ DrawPoint() [3/3]

void DrawPoint ( int x,
int y,
bool value,
const Color & color )

Dibuja un punto braille.

Parameters
xla coordenada x del punto.
yla coordenada y del punto.
valuesi el punto está relleno o no.
colorel color del punto.

Definition at line 116 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointLine() [1/3]

void DrawPointLine ( int x1,
int y1,
int x2,
int y2 )

Dibuja una línea de puntos braille.

Parameters
x1la coordenada x del primer punto.
y1la coordenada y del primer punto.
x2la coordenada x del segundo punto.
y2la coordenada y del segundo punto.

Definition at line 191 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointLine() [2/3]

void DrawPointLine ( int x1,
int y1,
int x2,
int y2,
const Stylizer & style )

Dibuja una línea de puntos braille.

Parameters
x1la coordenada x del primer punto.
y1la coordenada y del primer punto.
x2la coordenada x del segundo punto.
y2la coordenada y del segundo punto.
styleel estilo de la línea.

Definition at line 212 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointLine() [3/3]

void DrawPointLine ( int x1,
int y1,
int x2,
int y2,
const Color & color )

Dibuja una línea de puntos braille.

Parameters
x1la coordenada x del primer punto.
y1la coordenada y del primer punto.
x2la coordenada x del segundo punto.
y2la coordenada y del segundo punto.
colorel color de la línea.

Definition at line 201 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointCircle() [1/3]

void DrawPointCircle ( int x,
int y,
int radius )

Dibuja un círculo de puntos braille.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.

Definition at line 249 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointCircle() [2/3]

void DrawPointCircle ( int x,
int y,
int radius,
const Stylizer & style )

Dibuja un círculo de puntos braille.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.
styleel estilo del círculo.

Definition at line 268 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointCircle() [3/3]

void DrawPointCircle ( int x,
int y,
int radius,
const Color & color )

Dibuja un círculo de puntos braille.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.
colorel color del círculo.

Definition at line 258 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointCircleFilled() [1/3]

void DrawPointCircleFilled ( int x,
int y,
int radius )

Dibuja un círculo relleno de puntos braille.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.

Definition at line 276 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointCircleFilled() [2/3]

void DrawPointCircleFilled ( int x,
int y,
int radius,
const Stylizer & style )

Dibuja un círculo relleno de puntos braille.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.
styleel estilo del círculo.

Definition at line 298 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointCircleFilled() [3/3]

void DrawPointCircleFilled ( int x,
int y,
int radius,
const Color & color )

Dibuja un círculo relleno de puntos braille.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.
colorel color del círculo.

Definition at line 285 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointEllipse() [1/3]

void DrawPointEllipse ( int x,
int y,
int r1,
int r2 )

Dibuja una elipse de puntos braille.

Parameters
xla coordenada x del centro de la elipse.
yla coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.

Definition at line 310 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointEllipse() [2/3]

void DrawPointEllipse ( int x,
int y,
int r1,
int r2,
const Color & color )

Dibuja una elipse de puntos braille.

Parameters
xla coordenada x del centro de la elipse.
yla coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.
colorel color de la elipse.

Definition at line 320 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointEllipse() [3/3]

void DrawPointEllipse ( int x1,
int y1,
int r1,
int r2,
const Stylizer & s )

Dibuja una elipse de puntos braille.

Parameters
x1la coordenada x del centro de la elipse.
y1la coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.
sel estilo de la elipse.

Definition at line 335 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointEllipseFilled() [1/3]

void DrawPointEllipseFilled ( int x1,
int y1,
int r1,
int r2 )

Dibuja una elipse rellena de puntos braille.

Parameters
x1la coordenada x del centro de la elipse.
y1la coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.

Definition at line 374 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointEllipseFilled() [2/3]

void DrawPointEllipseFilled ( int x1,
int y1,
int r1,
int r2,
const Color & color )

Dibuja una elipse rellena de puntos braille.

Parameters
x1la coordenada x del centro de la elipse.
y1la coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.
colorel color de la elipse.

Definition at line 384 of file src/ftxui/dom/canvas.cpp.

◆ DrawPointEllipseFilled() [3/3]

void DrawPointEllipseFilled ( int x1,
int y1,
int r1,
int r2,
const Stylizer & s )

Dibuja una elipse rellena de puntos braille.

Parameters
x1la coordenada x del centro de la elipse.
y1la coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.
sel estilo de la elipse.

Definition at line 399 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockOn()

void DrawBlockOn ( int x,
int y )

Dibuja un bloque.

Parameters
xla coordenada x del bloque.
yla coordenada y del bloque.

Definition at line 468 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockOff()

void DrawBlockOff ( int x,
int y )

Borra un bloque.

Parameters
xla coordenada x del bloque.
yla coordenada y del bloque.

Definition at line 488 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockToggle()

void DrawBlockToggle ( int x,
int y )

Alterna un bloque. Si está relleno, se borrará. Si está vacío, se rellenará.

Parameters
xla coordenada x del bloque.
yla coordenada y del bloque.

Definition at line 509 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlock() [1/3]

void DrawBlock ( int x,
int y,
bool value )

Dibuja un bloque.

Parameters
xla coordenada x del bloque.
yla coordenada y del bloque.
valuesi el bloque está relleno o no.

Definition at line 438 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlock() [2/3]

void DrawBlock ( int x,
int y,
bool value,
const Stylizer & style )

Dibuja un bloque.

Parameters
xla coordenada x del bloque.
yla coordenada y del bloque.
valuesi el bloque está relleno o no.
styleel estilo del bloque.

Definition at line 456 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlock() [3/3]

void DrawBlock ( int x,
int y,
bool value,
const Color & color )

Dibuja un bloque.

Parameters
xla coordenada x del bloque.
yla coordenada y del bloque.
valuesi el bloque está relleno o no.
colorel color del bloque.

Definition at line 447 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockLine() [1/3]

void DrawBlockLine ( int x1,
int y1,
int x2,
int y2 )

Dibuja una línea de caracteres de bloque.

Parameters
x1la coordenada x del primer punto de la línea.
y1la coordenada y del primer punto de la línea.
x2la coordenada x del segundo punto de la línea.
y2la coordenada y del segundo punto de la línea.

Definition at line 531 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockLine() [2/3]

void DrawBlockLine ( int x1,
int y1,
int x2,
int y2,
const Stylizer & style )

Dibuja una línea de caracteres de bloque.

Parameters
x1la coordenada x del primer punto de la línea.
y1la coordenada y del primer punto de la línea.
x2la coordenada x del segundo punto de la línea.
y2la coordenada y del segundo punto de la línea.
styleel estilo de la línea.

Definition at line 552 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockLine() [3/3]

void DrawBlockLine ( int x1,
int y1,
int x2,
int y2,
const Color & color )

Dibuja una línea de caracteres de bloque.

Parameters
x1la coordenada x del primer punto de la línea.
y1la coordenada y del primer punto de la línea.
x2la coordenada x del segundo punto de la línea.
y2la coordenada y del segundo punto de la línea.
colorel color de la línea.

Definition at line 541 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockCircle() [1/3]

void DrawBlockCircle ( int x,
int y,
int radius )

Dibuja un círculo de caracteres de bloque.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.

Definition at line 592 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockCircle() [2/3]

void DrawBlockCircle ( int x,
int y,
int radius,
const Stylizer & style )

Dibuja un círculo de caracteres de bloque.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.
styleel estilo del círculo.

Definition at line 611 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockCircle() [3/3]

void DrawBlockCircle ( int x,
int y,
int radius,
const Color & color )

Dibuja un círculo de caracteres de bloque.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.
colorel color del círculo.

Definition at line 601 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockCircleFilled() [1/3]

void DrawBlockCircleFilled ( int x,
int y,
int radius )

Dibuja un círculo relleno de caracteres de bloque.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.

Definition at line 619 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockCircleFilled() [2/3]

void DrawBlockCircleFilled ( int x,
int y,
int radius,
const Stylizer & s )

Dibuja un círculo relleno de caracteres de bloque.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.
sel estilo del círculo.

Definition at line 641 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockCircleFilled() [3/3]

void DrawBlockCircleFilled ( int x,
int y,
int radius,
const Color & color )

Dibuja un círculo relleno de caracteres de bloque.

Parameters
xla coordenada x del centro del círculo.
yla coordenada y del centro del círculo.
radiusel radio del círculo.
colorel color del círculo.

Definition at line 628 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockEllipse() [1/3]

void DrawBlockEllipse ( int x,
int y,
int r1,
int r2 )

Dibuja una elipse de caracteres de bloque.

Parameters
xla coordenada x del centro de la elipse.
yla coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.

Definition at line 653 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockEllipse() [2/3]

void DrawBlockEllipse ( int x1,
int y1,
int r1,
int r2,
const Stylizer & s )

Dibuja una elipse de caracteres de bloque.

Parameters
x1la coordenada x del centro de la elipse.
y1la coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.
sel estilo de la elipse.

Definition at line 678 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockEllipse() [3/3]

void DrawBlockEllipse ( int x,
int y,
int r1,
int r2,
const Color & color )

Dibuja una elipse de caracteres de bloque.

Parameters
xla coordenada x del centro de la elipse.
yla coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.
colorel color de la elipse.

Definition at line 663 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockEllipseFilled() [1/3]

void DrawBlockEllipseFilled ( int x1,
int y1,
int r1,
int r2 )

◆ DrawBlockEllipseFilled() [2/3]

void DrawBlockEllipseFilled ( int x1,
int y1,
int r1,
int r2,
const Stylizer & s )

Dibuja una elipse rellena de caracteres de bloque.

Parameters
x1la coordenada x del centro de la elipse.
y1la coordenada y del centro de la elipse.
r1el radio de la elipse a lo largo del eje x.
r2el radio de la elipse a lo largo del eje y.
sel estilo de la elipse.

Definition at line 743 of file src/ftxui/dom/canvas.cpp.

◆ DrawBlockEllipseFilled() [3/3]

void DrawBlockEllipseFilled ( int x1,
int y1,
int r1,
int r2,
const Color & color )

◆ DrawText() [1/3]

void DrawText ( int x,
int y,
const std::string & value )

Dibuja un trozo de texto.

Parameters
xla coordenada x del texto.
yla coordenada y del texto.
valueel texto a dibujar.

Definition at line 784 of file src/ftxui/dom/canvas.cpp.

◆ DrawText() [2/3]

void DrawText ( int x,
int y,
const std::string & value,
const Color & color )

Dibuja un trozo de texto.

Parameters
xla coordenada x del texto.
yla coordenada y del texto.
valueel texto a dibujar.
colorel color del texto.

Definition at line 793 of file src/ftxui/dom/canvas.cpp.

◆ DrawText() [3/3]

void DrawText ( int x,
int y,
const std::string & value,
const Stylizer & style )

Dibuja un trozo de texto.

Parameters
xla coordenada x del texto.
yla coordenada y del texto.
valueel texto a dibujar.
styleel estilo del texto.

Definition at line 805 of file src/ftxui/dom/canvas.cpp.

◆ DrawPixel()

void DrawPixel ( int x,
int y,
const Pixel & p )

Dibuja directamente un píxel predefinido en la coordenada dada.

Parameters
xla coordenada x del píxel.
yla coordenada y del píxel.
pel píxel a dibujar.

Definition at line 826 of file src/ftxui/dom/canvas.cpp.

◆ DrawImage()

void DrawImage ( int x,
int y,
const Image & image )

Dibuja una imagen predefinida, con la esquina superior izquierda en la coordenada dada Puedes proporcionar coordenadas negativas para alinear la imagen como desees - solo se dibujará la porción 'visible'.

Parameters
xla coordenada x correspondiente a la esquina superior izquierda de la imagen.
yla coordenada y correspondiente a la esquina superior izquierda de la imagen.
imagela imagen a dibujar.

Definition at line 838 of file src/ftxui/dom/canvas.cpp.

◆ Style()

void Style ( int x,
int y,
const Stylizer & style )

Modifica un píxel en una ubicación dada.

Parameters
styleuna función que modifica el píxel.

Definition at line 860 of file src/ftxui/dom/canvas.cpp.

◆ ftxui::FlexboxConfig

struct ftxui::FlexboxConfig

FlexboxConfig es una estructura de configuración que define las propiedades de diseño para un contenedor flexbox.

Permite especificar la dirección de los elementos flex, si deben ajustarse (wrap), cómo deben justificarse a lo largo del eje principal y cómo deben alinearse a lo largo del eje transversal. También incluye propiedades para los espacios entre los elementos flex en ambos ejes, principal y transversal. Esta estructura se utiliza para configurar el comportamiento de diseño de los contenedores flexbox en una interfaz de usuario de terminal.

Examples
examples/component/flexbox_gallery.cpp, and examples/component/homescreen.cpp.

Definition at line 27 of file flexbox_config.hpp.

Public Types

enum class  Direction {
  Row ,
  RowInversed ,
  Column ,
  ColumnInversed
}
 
enum class  Wrap {
  NoWrap ,
  Wrap ,
  WrapInversed
}
 
enum class  JustifyContent {
  FlexStart ,
  FlexEnd ,
  Center ,
  Stretch ,
  SpaceBetween ,
  SpaceAround ,
  SpaceEvenly
}
 
enum class  AlignItems {
  FlexStart ,
  FlexEnd ,
  Center ,
  Stretch
}
 
enum class  AlignContent {
  FlexStart ,
  FlexEnd ,
  Center ,
  Stretch ,
  SpaceBetween ,
  SpaceAround ,
  SpaceEvenly
}
 

Public Member Functions

FlexboxConfigSet (FlexboxConfig::Direction)
 Establece la dirección del flexbox.
 
FlexboxConfigSet (FlexboxConfig::Wrap)
 Establece el ajuste (wrap) del flexbox.
 
FlexboxConfigSet (FlexboxConfig::JustifyContent)
 Establece la justificación del contenido (justify content) del flexbox.
 
FlexboxConfigSet (FlexboxConfig::AlignItems)
 Establece la alineación de los ítems (align items) del flexbox.
 
FlexboxConfigSet (FlexboxConfig::AlignContent)
 Establece la alineación del contenido (align content) del flexbox.
 
FlexboxConfigSetGap (int gap_x, int gap_y)
 Establece el espacio (gap) del flexbox.
 

Public Attributes

Direction direction = Direction::Row
 
Wrap wrap = Wrap::Wrap
 
JustifyContent justify_content = JustifyContent::FlexStart
 
AlignItems align_items = AlignItems::FlexStart
 
AlignContent align_content = AlignContent::FlexStart
 
int gap_x = 0
 
int gap_y = 0
 

Member Enumeration Documentation

◆ Direction

enum class Direction
strong

Esto establece el eje principal, definiendo así la dirección en la que los elementos flex se colocan en el contenedor flex. Flexbox es (aparte del ajuste) un concepto de diseño de una sola dirección. Piense en los elementos flex como si se dispusieran principalmente en filas horizontales o columnas verticales.

Enumerator
Row 

Los elementos flex se distribuyen en una fila.

RowInversed 

Los elementos flex se distribuyen en una fila, pero en orden inverso.

Column 

Los elementos flex se distribuyen en una columna.

ColumnInversed 

Los elementos flex se distribuyen en una columna, pero en orden inverso.

Definition at line 33 of file flexbox_config.hpp.

◆ Wrap

enum class Wrap
strong

Por defecto, todos los elementos flex intentarán ajustarse en una sola línea. Puede cambiar eso y permitir que los elementos se ajusten según sea necesario con esta propiedad.

Enumerator
NoWrap 

Todos los elementos flex intentarán ajustarse en una sola línea.

Wrap 

Los elementos flex se ajustarán en varias líneas.

WrapInversed 

Los elementos flex se ajustarán en varias líneas, pero en orden inverso.

Definition at line 45 of file flexbox_config.hpp.

◆ JustifyContent

enum class JustifyContent
strong

Esto define la alineación a lo largo del eje principal. Ayuda a distribuir el espacio libre sobrante cuando todos los elementos flex en una línea son inflexibles, o son flexibles pero han alcanzado su tamaño máximo. También ejerce cierto control sobre la alineación de los elementos cuando desbordan la línea.

Enumerator
FlexStart 

Los elementos se alinean al inicio de la dirección del flexbox.

FlexEnd 

Los elementos se alinean al final de la dirección del flexbox.

Center 

Los elementos se centran a lo largo de la línea.

Stretch 

Los elementos se estiran para llenar la línea.

SpaceBetween 

Los elementos se distribuyen uniformemente en la línea; el primer elemento está al.

SpaceAround 

Los elementos se distribuyen uniformemente en la línea con igual espacio a su alrededor. Tenga en cuenta que visualmente los espacios no son iguales, ya que todos los elementos tienen el mismo espacio en ambos lados. El primer elemento tendrá una unidad de espacio contra el borde del contenedor, pero dos unidades de espacio entre el siguiente elemento porque ese siguiente elemento tiene su propio espaciado que se aplica.

SpaceEvenly 

Los elementos se distribuyen de manera que el espacio entre dos elementos (y el espacio a los bordes) sea igual.

Definition at line 57 of file flexbox_config.hpp.

◆ AlignItems

enum class AlignItems
strong

Esto define el comportamiento predeterminado de cómo se disponen los elementos flex a lo largo del eje transversal en la línea actual. Piense en ello como la versión de justify-content para el eje transversal (perpendicular al eje principal).

Enumerator
FlexStart 

Los elementos se colocan al inicio del eje transversal.

FlexEnd 

Los elementos se colocan al final del eje transversal.

Center 

Los elementos se centran a lo largo del eje transversal.

Stretch 

Los elementos se estiran para llenar el eje transversal.

Definition at line 85 of file flexbox_config.hpp.

◆ AlignContent

enum class AlignContent
strong
Enumerator
FlexStart 

Los elementos se colocan al inicio del eje transversal.

FlexEnd 

Los elementos se colocan al final del eje transversal.

Center 

Los elementos se centran a lo largo del eje transversal.

Stretch 

Los elementos se estiran para llenar el eje transversal.

SpaceBetween 

Los elementos se distribuyen uniformemente en el eje transversal.

SpaceAround 

Los elementos se distribuyen uniformemente con igual espacio alrededor de cada línea.

SpaceEvenly 

Los elementos se distribuyen uniformemente en el eje transversal con igual espacio a su alrededor.

Definition at line 96 of file flexbox_config.hpp.

Member Function Documentation

◆ Set() [1/5]

Establece la dirección del flexbox.

Examples
examples/component/flexbox_gallery.cpp.

Definition at line 9 of file flexbox_config.cpp.

◆ Set() [2/5]

Establece el ajuste (wrap) del flexbox.

Definition at line 15 of file flexbox_config.cpp.

◆ Set() [3/5]

Establece la justificación del contenido (justify content) del flexbox.

Definition at line 21 of file flexbox_config.cpp.

◆ Set() [4/5]

Establece la alineación de los ítems (align items) del flexbox.

Definition at line 27 of file flexbox_config.cpp.

◆ Set() [5/5]

Establece la alineación del contenido (align content) del flexbox.

Definition at line 33 of file flexbox_config.cpp.

◆ SetGap()

FlexboxConfig & SetGap ( int gap_x,
int gap_y )

Establece el espacio (gap) del flexbox.

Examples
examples/component/homescreen.cpp.

Definition at line 39 of file flexbox_config.cpp.

Member Data Documentation

◆ direction

Examples
examples/component/flexbox_gallery.cpp.

Definition at line 40 of file flexbox_config.hpp.

◆ wrap

Wrap wrap = Wrap::Wrap
Examples
examples/component/flexbox_gallery.cpp.

Definition at line 51 of file flexbox_config.hpp.

◆ justify_content

◆ align_items

◆ align_content

◆ gap_x

int gap_x = 0

Definition at line 109 of file flexbox_config.hpp.

◆ gap_y

int gap_y = 0

Definition at line 110 of file flexbox_config.hpp.

◆ ftxui::LinearGradient

struct ftxui::LinearGradient

Una clase que representa la configuración para el efecto de color de gradiente lineal.

Ejemplo:

.Angle(45)
.Stop(Color::Red, 0.0)
.Stop(Color::Green, 0.5)
.Stop(Color::Blue, 1.0);
LinearGradient()
Construye el gradiente "vacío". Esto a menudo es seguido por llamadas a LinearGradient::Angle() y Lin...

También hay constructores abreviados:

Examples
examples/component/input_style.cpp, examples/component/linear_gradient_gallery.cpp, examples/dom/linear_gradient.cpp, and examples/dom/style_color.cpp.

Definition at line 32 of file linear_gradient.hpp.

Public Member Functions

 LinearGradient ()
 Construye el gradiente "vacío". Esto a menudo es seguido por llamadas a LinearGradient::Angle() y LinearGradient::Stop(). Ejemplo:
 
 LinearGradient (Color begin, Color end)
 Construye un gradiente con dos colores.
 
 LinearGradient (float angle, Color begin, Color end)
 Construye un gradiente con dos colores y un ángulo.
 
LinearGradientAngle (float angle)
 Establece el ángulo del gradiente.
 
LinearGradientStop (Color color, float position)
 Añade una parada de color al gradiente.
 
LinearGradientStop (Color color)
 Añade una parada de color al gradiente.
 

Public Attributes

float angle = 0.f
 
std::vector< Stopstops
 

Constructor & Destructor Documentation

◆ LinearGradient() [1/3]

LinearGradient ( )
default

Construye el gradiente "vacío". Esto a menudo es seguido por llamadas a LinearGradient::Angle() y LinearGradient::Stop(). Ejemplo:

auto gradient =
.Angle(45)
.Stop(Color::Red, 0.0)
.Stop(Color::Green, 0.5)
.Stop(Color::Blue, 1.0);;

◆ LinearGradient() [2/3]

LinearGradient ( Color begin,
Color end )

Construye un gradiente con dos colores.

Parameters
beginEl color al principio del gradiente.
endEl color al final del gradiente.

Definition at line 197 of file src/ftxui/dom/linear_gradient.cpp.

◆ LinearGradient() [3/3]

LinearGradient ( float a,
Color begin,
Color end )

Construye un gradiente con dos colores y un ángulo.

Parameters
aEl ángulo del gradiente.
beginEl color al principio del gradiente.
endEl color al final del gradiente.

Definition at line 204 of file src/ftxui/dom/linear_gradient.cpp.

Member Function Documentation

◆ Angle()

LinearGradient & Angle ( float a)

Establece el ángulo del gradiente.

Parameters
aEl ángulo del gradiente.
Returns
El gradiente.

Definition at line 212 of file src/ftxui/dom/linear_gradient.cpp.

◆ Stop() [1/2]

LinearGradient & Stop ( Color c,
float p )

Añade una parada de color al gradiente.

Parameters
cEl color de la parada.
pLa posición de la parada.

Definition at line 220 of file src/ftxui/dom/linear_gradient.cpp.

◆ Stop() [2/2]

LinearGradient & Stop ( Color c)

Añade una parada de color al gradiente.

Parameters
cEl color de la parada.
Returns
El gradiente.
Note
La posición de la parada se interpola a partir de las paradas cercanas.

Definition at line 229 of file src/ftxui/dom/linear_gradient.cpp.

Member Data Documentation

◆ angle

float angle = 0.f

Definition at line 33 of file linear_gradient.hpp.

◆ stops

std::vector<Stop> stops

Definition at line 43 of file linear_gradient.hpp.

◆ ftxui::Node

class ftxui::Node

Node es la clase base para todos los elementos en el árbol DOM.

Representa un único nodo en el modelo de objeto de documento (DOM) y proporciona la estructura básica para el diseño y la representación. Contiene métodos para calcular los requisitos de diseño, establecer las dimensiones del cuadro, seleccionar contenido, renderizar en la pantalla y verificar el estado del diseño. Típicamente contiene elementos hijos, que también son instancias de Node.

Se espera que los usuarios deriven de esta clase para crear elementos personalizados.

Una lista de elementos incorporados se puede encontrar en el archivo elements.hpp.

Definition at line 37 of file node.hpp.

+ Inheritance diagram for Node:

Public Member Functions

 Node ()
 
 Node (Elements children)
 
 Node (const Node &)=delete
 
 Node (const Node &&)=delete
 
Nodeoperator= (const Node &)=delete
 
Nodeoperator= (const Node &&)=delete
 
virtual ~Node ()
 
virtual void ComputeRequirement ()
 Calcula cuánto espacio necesita un elemento.
 
Requirement requirement ()
 
virtual void SetBox (Box box)
 Asigna una posición y una dimensión a un elemento para dibujarlo.
 
virtual void Select (Selection &selection)
 Calcula la selección de un elemento.
 
virtual void Render (Screen &screen)
 Muestra un elemento en un ftxui::Screen.
 
virtual std::string GetSelectedContent (Selection &selection)
 
virtual void Check (Status *status)
 

Protected Attributes

Elements children_
 
Requirement requirement_
 
Box box_
 

Constructor & Destructor Documentation

◆ Node() [1/4]

Node ( )
default

◆ Node() [2/4]

Node ( Elements children)
explicit

Definition at line 16 of file node.cpp.

◆ Node() [3/4]

Node ( const Node & )
delete

◆ Node() [4/4]

Node ( const Node && )
delete

◆ ~Node()

~Node ( )
virtualdefault

Member Function Documentation

◆ operator=() [1/2]

Node & operator= ( const Node & )
delete

◆ operator=() [2/2]

Node & operator= ( const Node && )
delete

◆ ComputeRequirement()

void ComputeRequirement ( )
virtual

Calcula cuánto espacio necesita un elemento.

Reimplemented in NodeDecorator.

Definition at line 20 of file node.cpp.

◆ requirement()

Requirement requirement ( )
inline

Definition at line 52 of file node.hpp.

◆ SetBox()

void SetBox ( Box box)
virtual

Asigna una posición y una dimensión a un elemento para dibujarlo.

Reimplemented in NodeDecorator.

Definition at line 41 of file node.cpp.

◆ Select()

void Select ( Selection & selection)
virtual

Calcula la selección de un elemento.

Definition at line 46 of file node.cpp.

◆ Render()

void Render ( Screen & screen)
virtual

Muestra un elemento en un ftxui::Screen.

Definition at line 59 of file node.cpp.

◆ GetSelectedContent()

std::string GetSelectedContent ( Selection & selection)
virtual

Definition at line 72 of file node.cpp.

◆ Check()

void Check ( Status * status)
virtual

Definition at line 65 of file node.cpp.

Member Data Documentation

◆ children_

Elements children_
protected

Definition at line 79 of file node.hpp.

◆ requirement_

Requirement requirement_
protected

Definition at line 80 of file node.hpp.

◆ box_

Box box_
protected

Definition at line 81 of file node.hpp.

◆ ftxui::Requirement

struct ftxui::Requirement

Requirement es una estructura que define los requisitos de diseño para un Nodo en la interfaz de usuario del terminal.

Especifica el tamaño mínimo requerido para dibujar completamente el elemento,

Definition at line 18 of file requirement.hpp.

Public Attributes

int min_x = 0
 
int min_y = 0
 
int flex_grow_x = 0
 
int flex_grow_y = 0
 
int flex_shrink_x = 0
 
int flex_shrink_y = 0
 
Focused focused
 

Member Data Documentation

◆ min_x

int min_x = 0

Definition at line 20 of file requirement.hpp.

◆ min_y

int min_y = 0

Definition at line 21 of file requirement.hpp.

◆ flex_grow_x

int flex_grow_x = 0

Definition at line 24 of file requirement.hpp.

◆ flex_grow_y

int flex_grow_y = 0

Definition at line 25 of file requirement.hpp.

◆ flex_shrink_x

int flex_shrink_x = 0

Definition at line 26 of file requirement.hpp.

◆ flex_shrink_y

int flex_shrink_y = 0

Definition at line 27 of file requirement.hpp.

◆ focused

Focused focused

Definition at line 51 of file requirement.hpp.

◆ ftxui::Selection

class ftxui::Selection

Representa una selección en una interfaz de usuario de terminal.

Selection es una clase que representa los dos puntos finales de una selección en una interfaz de usuario de terminal.

Definition at line 22 of file selection.hpp.

Public Member Functions

 Selection ()
 Crea una selección vacía.
 
 Selection (int start_x, int start_y, int end_x, int end_y)
 Crea una selección.
 
const BoxGetBox () const
 Obtiene el cuadro de la selección.
 
Selection SaturateHorizontal (Box box)
 Satura la selección para que esté dentro del cuadro. Esto es llamado por hbox para propagar la selección a sus hijos.
 
Selection SaturateVertical (Box box)
 Satura la selección para que esté dentro del cuadro. Esto es llamado por vbox para propagar la selección a sus hijos.
 
bool IsEmpty () const
 
void AddPart (const std::string &part, int y, int left, int right)
 
std::string GetParts ()
 

Constructor & Destructor Documentation

◆ Selection() [1/2]

Selection ( )
default

Crea una selección vacía.

◆ Selection() [2/2]

Selection ( int start_x,
int start_y,
int end_x,
int end_y )

Crea una selección.

Parameters
start_xLa coordenada x del inicio de la selección.
start_yLa coordenada y del inicio de la selección.
end_xLa coordenada x del final de la selección.
end_yLa coordenada y del final de la selección.

Definition at line 34 of file src/ftxui/dom/selection.cpp.

Member Function Documentation

◆ GetBox()

const Box & GetBox ( ) const

Obtiene el cuadro de la selección.

Returns
El cuadro de la selección.

Definition at line 67 of file src/ftxui/dom/selection.cpp.

◆ SaturateHorizontal()

Selection SaturateHorizontal ( Box box)

Satura la selección para que esté dentro del cuadro. Esto es llamado por hbox para propagar la selección a sus hijos.

Parameters
boxEl cuadro en el que saturar la selección.
Returns
La selección saturada.

Definition at line 75 of file src/ftxui/dom/selection.cpp.

◆ SaturateVertical()

Selection SaturateVertical ( Box box)

Satura la selección para que esté dentro del cuadro. Esto es llamado por vbox para propagar la selección a sus hijos.

Parameters
boxEl cuadro en el que saturar la selección.
Returns
La selección saturada.

Definition at line 113 of file src/ftxui/dom/selection.cpp.

◆ IsEmpty()

bool IsEmpty ( ) const
inline

Definition at line 31 of file selection.hpp.

◆ AddPart()

void AddPart ( const std::string & part,
int y,
int left,
int right )

Definition at line 146 of file src/ftxui/dom/selection.cpp.

◆ GetParts()

std::string GetParts ( )
inline

Definition at line 34 of file selection.hpp.

◆ ftxui::Table

class ftxui::Table

Table es una utilidad para dibujar tablas.

ejemplo

auto table = Table({
{"X", "Y"},
{"-1", "1"},
{"+0", "0"},
{"+1", "1"},
});
table.SelectAll().Border(LIGHT);
table.SelectRow(1).Border(DOUBLE);
table.SelectRow(1).SeparatorInternal(LIGHT);
std::move(table).Render();
Table()
Crea una tabla vacía.
@ DOUBLE
Definition elements.hpp:39
@ LIGHT
Definition elements.hpp:36
Examples
examples/dom/table.cpp.

Definition at line 36 of file table.hpp.

Public Member Functions

 Table ()
 Crea una tabla vacía.
 
 Table (std::vector< std::vector< std::string > >)
 Crea una tabla a partir de un vector de vectores de cadenas.
 
 Table (std::vector< std::vector< Element > >)
 Crea una tabla a partir de un vector de vectores de Element.
 
 Table (std::initializer_list< std::vector< std::string > > init)
 
TableSelection SelectAll ()
 Selecciona toda la tabla.
 
TableSelection SelectCell (int column, int row)
 Selecciona una celda de la tabla.
 
TableSelection SelectRow (int row_index)
 Selecciona una fila de la tabla.
 
TableSelection SelectRows (int row_min, int row_max)
 Selecciona un rango de filas de la tabla.
 
TableSelection SelectColumn (int column_index)
 Selecciona una columna de la tabla.
 
TableSelection SelectColumns (int column_min, int column_max)
 Selecciona un rango de columnas de la tabla.
 
TableSelection SelectRectangle (int column_min, int column_max, int row_min, int row_max)
 Selecciona un rectángulo de la tabla.
 
Element Render ()
 Renderiza la tabla.
 

Constructor & Destructor Documentation

◆ Table() [1/4]

Table ( )

Crea una tabla vacía.

Definition at line 47 of file src/ftxui/dom/table.cpp.

◆ Table() [2/4]

Table ( std::vector< std::vector< std::string > > input)
explicit

Crea una tabla a partir de un vector de vectores de cadenas.

Parameters
inputLos datos de entrada.

Definition at line 53 of file src/ftxui/dom/table.cpp.

◆ Table() [3/4]

Table ( std::vector< std::vector< Element > > input)
explicit

Crea una tabla a partir de un vector de vectores de Element.

Parameters
inputLos elementos de entrada.

Definition at line 69 of file src/ftxui/dom/table.cpp.

◆ Table() [4/4]

Table ( std::initializer_list< std::vector< std::string > > init)

Definition at line 75 of file src/ftxui/dom/table.cpp.

Member Function Documentation

◆ SelectAll()

TableSelection SelectAll ( )

Selecciona toda la tabla.

Examples
examples/dom/table.cpp.

Definition at line 200 of file src/ftxui/dom/table.cpp.

◆ SelectCell()

TableSelection SelectCell ( int column,
int row )

Selecciona una celda de la tabla.

Parameters
columnLa columna de la celda a seleccionar.
rowLa fila de la celda a seleccionar.
Note
Puedes usar índices negativos para seleccionar desde el final.

Definition at line 169 of file src/ftxui/dom/table.cpp.

◆ SelectRow()

TableSelection SelectRow ( int index)

Selecciona una fila de la tabla.

Parameters
indexEl índice de la fila a seleccionar.
Note
Puedes usar índices negativos para seleccionar desde el final.

Definition at line 138 of file src/ftxui/dom/table.cpp.

◆ SelectRows()

TableSelection SelectRows ( int row_min,
int row_max )

Selecciona un rango de filas de la tabla.

Parameters
row_minLa primera fila a seleccionar.
row_maxLa última fila a seleccionar.
Note
Puedes usar índices negativos para seleccionar desde el final.

Definition at line 146 of file src/ftxui/dom/table.cpp.

◆ SelectColumn()

TableSelection SelectColumn ( int index)

Selecciona una columna de la tabla.

Parameters
indexEl índice de la columna a seleccionar.
Note
Puedes usar índices negativos para seleccionar desde el final.

Definition at line 153 of file src/ftxui/dom/table.cpp.

◆ SelectColumns()

TableSelection SelectColumns ( int column_min,
int column_max )

Selecciona un rango de columnas de la tabla.

Parameters
column_minLa primera columna a seleccionar.
column_maxLa última columna a seleccionar.
Note
Puedes usar índices negativos para seleccionar desde el final.

Definition at line 161 of file src/ftxui/dom/table.cpp.

◆ SelectRectangle()

TableSelection SelectRectangle ( int column_min,
int column_max,
int row_min,
int row_max )

Selecciona un rectángulo de la tabla.

Parameters
column_minLa primera columna a seleccionar.
column_maxLa última columna a seleccionar.
row_minLa primera fila a seleccionar.
row_maxLa última fila a seleccionar.
Note
Puedes usar índices negativos para seleccionar desde el final.

Definition at line 179 of file src/ftxui/dom/table.cpp.

◆ Render()

Element Render ( )

Renderiza la tabla.

Returns
La tabla renderizada. Este es un elemento que puedes dibujar.

Definition at line 212 of file src/ftxui/dom/table.cpp.

Enumeration Type Documentation

◆ Direction

enum class Direction
strong

Direction es una enumeración que representa las cuatro cardinales direcciones.

Enumerator
Up 
Down 
Left 
Right 

Definition at line 13 of file direction.hpp.

◆ BorderStyle

BorderStyle es una enumeración que representa los diferentes estilos de bordes que se pueden aplicar a los elementos en la interfaz de usuario de la terminal.

BorderStyle es una enumeración que representa los diferentes estilos de bordes que se pueden aplicar a los elementos en la interfaz de usuario de la terminal. Se utiliza para definir la apariencia visual de los bordes alrededor de los elementos, como ventanas, marcos o separadores.

Enumerator
LIGHT 
DASHED 
HEAVY 
DOUBLE 
ROUNDED 
EMPTY 

Definition at line 35 of file elements.hpp.

Function Documentation

◆ automerge()

Element automerge ( Element child)

Permite que los caracteres se fusionen automáticamente con otros cercanos.

Definition at line 17 of file automerge.cpp.

◆ blink()

Element blink ( Element child)

El texto dibujado alterna entre visible y oculto.

Definition at line 33 of file blink.cpp.

◆ bold()

Element bold ( Element child)

Utiliza una fuente en negrita, para elementos con más énfasis.

Definition at line 33 of file bold.cpp.

◆ border()

Element border ( Element child)

Draw a border around the element.

Dibuja un borde alrededor del elemento.

See also
border
borderLight
borderDashed
borderDouble
borderHeavy
borderEmpty
borderRounded
borderStyled
borderWith

Add a border around an element Añade un borde alrededor de un elemento

Example

Ejemplo

// Use 'border' as a function...
// Usar 'border' como una función...
Element document = border(text("The element"));
// ...Or as a 'pipe'.
// ...O como un 'pipe'.
Element document = text("The element") | border;
Element text(std::wstring text)
Muestra un fragmento de texto Unicode.
Definition text.cpp:160
Element border(Element)
Draw a border around the element.
std::shared_ptr< Node > Element
Definition elements.hpp:22

Output

Salida

┌───────────┐
│The element│
└───────────┘

Definition at line 244 of file src/ftxui/dom/border.cpp.

◆ borderWith()

Decorator borderWith ( const Pixel & pixel)

Same as border but with a constant Pixel around the element.

Igual que 'border' pero con un Pixel constante alrededor del elemento.

See also
border

Definition at line 252 of file src/ftxui/dom/border.cpp.

◆ borderStyled() [1/3]

Decorator borderStyled ( BorderStyle style)

Same as border but with different styles.

Igual que 'border' pero con diferentes estilos.

See also
border

Definition at line 262 of file src/ftxui/dom/border.cpp.

◆ borderStyled() [2/3]

Decorator borderStyled ( Color foreground_color)

Same as border but with a foreground color.

Igual que 'border' pero con un color de primer plano.

See also
border

Definition at line 272 of file src/ftxui/dom/border.cpp.

◆ borderStyled() [3/3]

Decorator borderStyled ( BorderStyle style,
Color foreground_color )

Same as border but with a foreground color and a different style.

Igual que 'border' pero con un color de primer plano y un estilo diferente

See also
border

Definition at line 283 of file src/ftxui/dom/border.cpp.

◆ borderDashed()

Element borderDashed ( Element child)

Draw a dashed border around the element.

Dibuja un borde discontinuo alrededor del elemento.

See also
border
borderLight
borderDashed
borderDouble
borderHeavy
borderRounded
borderEmpty
borderStyled
borderWith

Add a border around an element Añade un borde alrededor de un elemento

Example

Ejemplo

// Use 'borderDash' as a function...
// Usar 'borderDash' como una función...
Element document = borderDashed(text("The element"));
// ...Or as a 'pipe'.
// ...O como un 'pipe'.
Element document = text("The element") | borderDashed;
Element borderDashed(Element)
Draw a dashed border around the element.

Output

Salida

┏╍╍╍╍╍╍╍╍╍╍╍╍╍╍┓
╏The element ╏
┗╍╍╍╍╍╍╍╍╍╍╍╍╍╍┛

Definition at line 327 of file src/ftxui/dom/border.cpp.

◆ borderLight()

Element borderLight ( Element child)

Draw a light border around the element.

Dibuja un borde ligero alrededor del elemento.

See also
border
borderLight
borderDashed
borderDouble
borderHeavy
borderRounded
borderEmpty
borderStyled
borderWith

Add a border around an element Añade un borde alrededor de un elemento

Example

Ejemplo

// Use 'borderLight' as a function...
// Usar 'borderLight' como una función...
Element document = borderLight(text("The element"));
// ...Or as a 'pipe'.
// ...O como un 'pipe'.
Element document = text("The element") | borderLight;
Element borderLight(Element)
Draw a light border around the element.

Output

Salida

┌──────────────┐
│The element │
└──────────────┘

Definition at line 368 of file src/ftxui/dom/border.cpp.

◆ borderHeavy()

Element borderHeavy ( Element child)

Draw a heavy border around the element.

Dibuja un borde grueso alrededor del elemento.

See also
border
borderLight
borderDashed
borderDouble
borderHeavy
borderRounded
borderEmpty
borderStyled
borderWith

Add a border around an element Añade un borde alrededor de un elemento

Example

Ejemplo

// Use 'borderHeavy' as a function...
// Usar 'borderHeavy' como una función...
Element document = borderHeavy(text("The element"));
// ...Or as a 'pipe'.
// ...O como un 'pipe'.
Element document = text("The element") | borderHeavy;
Element borderHeavy(Element)
Draw a heavy border around the element.

Output

Salida

┏━━━━━━━━━━━━━━┓
┃The element ┃
┗━━━━━━━━━━━━━━┛

Definition at line 409 of file src/ftxui/dom/border.cpp.

◆ borderDouble()

Element borderDouble ( Element child)

Draw a double border around the element.

Dibuja un borde doble alrededor del elemento.

See also
border
borderLight
borderDashed
borderDouble
borderHeavy
borderRounded
borderEmpty
borderStyled
borderWith

Add a border around an element Añade un borde alrededor de un elemento

Example

Ejemplo

// Use 'borderDouble' as a function...
// Usar 'borderDouble' como una función...
Element document = borderDouble(text("The element"));
// ...Or as a 'pipe'.
// ...O como un 'pipe'.
Element document = text("The element") | borderDouble;
Element borderDouble(Element)
Draw a double border around the element.

Output

Salida

╔══════════════╗
║The element ║
╚══════════════╝

Definition at line 450 of file src/ftxui/dom/border.cpp.

◆ borderRounded()

Element borderRounded ( Element child)

Draw a rounded border around the element.

Dibuja un borde redondeado alrededor del elemento.

See also
border
borderLight
borderDashed
borderDouble
borderHeavy
borderRounded
borderEmpty
borderStyled
borderWith

Add a border around an element Añade un borde alrededor de un elemento

Example

Ejemplo

// Use 'borderRounded' as a function...
// Usar 'borderRounded' como una función...
Element document = borderRounded(text("The element"));
// ...Or as a 'pipe'.
// ...O como un 'pipe'.
Element document = text("The element") | borderRounded;
Element borderRounded(Element)
Draw a rounded border around the element.

Output

Salida

╭──────────────╮
│The element │
╰──────────────╯

Definition at line 491 of file src/ftxui/dom/border.cpp.

◆ borderEmpty()

Element borderEmpty ( Element child)

Draw an empty border around the element.

Dibuja un borde vacío alrededor del elemento.

See also
border
borderLight
borderDashed
borderDouble
borderHeavy
borderRounded
borderEmpty
borderStyled
borderWith

Add a border around an element Añade un borde alrededor de un elemento

Example

Ejemplo

// Use 'borderRounded' as a function...
// Usar 'borderRounded' como una función...
Element document = borderRounded(text("The element"));
// ...Or as a 'pipe'.
// ...O como un 'pipe'.
Element document = text("The element") | borderRounded;

Output

Salida

The element

Definition at line 532 of file src/ftxui/dom/border.cpp.

◆ window()

Element window ( Element title,
Element content,
BorderStyle border )

Draw window with a title and a border around the element.

Dibuja una ventana con un título y un borde alrededor del elemento.

Parameters
titleThe title of the window.
titleEl título de la ventana.
contentThe element to be wrapped.
contentEl elemento a ser envuelto.
borderThe style of the border. Default is ROUNDED.
borderEl estilo del borde. El valor predeterminado es ROUNDED.
See also
border

Example

Ejemplo

Element document = window(text("Title"),
text("content")
);
// With specifying border
// Especificando el borde
Element document = window(text("Title"),
text("content"),
);
Element window(Element title, Element content, BorderStyle border=ROUNDED)
Draw window with a title and a border around the element.
@ ROUNDED
Definition elements.hpp:40

Output

Salida

┌Title──┐
│content│
└───────┘

Definition at line 571 of file src/ftxui/dom/border.cpp.

◆ clear_under()

Element clear_under ( Element element)

Antes de dibujar |child|, limpia los píxeles de abajo. Esto es útil en combinación con dbox.

See also
ftxui::dbox

Definition at line 38 of file clear_under.cpp.

◆ color() [1/4]

Element color ( Color color,
Element child )

Establece el color de primer plano de un elemento.

Parameters
colorEl color del elemento de salida.
childEl elemento de entrada.
Returns
El elemento de salida coloreado.

Ejemplo

Element document = color(Color::Green, text("Success")),
Decorator color(Color)
Decora usando un color de primer plano.

Definition at line 81 of file dom/color.cpp.

◆ bgcolor() [1/4]

Element bgcolor ( Color color,
Element child )

Establece el color de fondo de un elemento.

Parameters
colorEl color del elemento de salida.
childEl elemento de entrada.
Returns
El elemento de salida coloreado.

Ejemplo

Element document = bgcolor(Color::Green, text("Success")),
Decorator bgcolor(Color)
Decora usando un color de fondo.

Definition at line 96 of file dom/color.cpp.

◆ color() [2/4]

Decorator color ( Color c)

Decora usando un color de primer plano.

Parameters
cEl color de primer plano a aplicar.
Returns
El Decorator que aplica el color.

Ejemplo

Element document = text("red") | color(Color::Red);

Definition at line 110 of file dom/color.cpp.

◆ bgcolor() [2/4]

Decorator bgcolor ( Color color)

Decora usando un color de fondo.

Parameters
colorEl color de fondo a aplicar.
Returns
El Decorator que aplica el color.

Ejemplo

Element document = text("red") | bgcolor(Color::Red);

Definition at line 124 of file dom/color.cpp.

◆ hcenter()

Element hcenter ( Element child)

Centra un elemento horizontalmente.

Parameters
childEl elemento decorado.
Returns
El elemento centrado.

Definition at line 15 of file composite_decorator.cpp.

◆ vcenter()

Element vcenter ( Element child)

Centra un elemento verticalmente.

Parameters
childEl elemento decorado.
Returns
El elemento centrado.

Definition at line 23 of file composite_decorator.cpp.

◆ center()

Element center ( Element child)

Centra un elemento horizontal y verticalmente.

Parameters
childEl elemento decorado.
Returns
El elemento centrado.

Definition at line 31 of file composite_decorator.cpp.

◆ align_right()

Element align_right ( Element child)

Alinea un elemento a la derecha.

Parameters
childEl elemento decorado.
Returns
El elemento alineado a la derecha.

Definition at line 39 of file composite_decorator.cpp.

◆ dbox()

Element dbox ( Elements children_)

Apila varios elementos uno encima del otro.

Parameters
children_El elemento de entrada.
Returns
El elemento alineado a la derecha.

Definition at line 55 of file src/ftxui/dom/dbox.cpp.

◆ dim()

Element dim ( Element child)

Usa una fuente clara para elementos con menos énfasis.

Definition at line 33 of file dim.cpp.

◆ filler()

Element filler ( )

Un elemento que se expandirá proporcionalmente al espacio restante en un contenedor.

Definition at line 98 of file flex.cpp.

◆ flex()

Element flex ( Element child)

Hace que un elemento hijo se expanda proporcionalmente al espacio restante en un contenedor.

Ejemplos:

text("left") | border ,
text("middle") | border | flex,
text("right") | border,
});
Element flex(Element)
Hace que un elemento hijo se expanda proporcionalmente al espacio restante en un contenedor.
Definition flex.cpp:123
Element hbox(Elements)
Un contenedor que muestra elementos horizontalmente uno por uno.
Definition hbox.cpp:94

Salida:

┌────┐┌─────────────────────────────────────────────────────────┐┌─────┐
│left││middle ││right│
└────┘└─────────────────────────────────────────────────────────┘└─────┘

Definition at line 123 of file flex.cpp.

◆ xflex()

Element xflex ( Element child)

Expandir/Minimizar si es posible/necesario en el eje X.

Definition at line 129 of file flex.cpp.

◆ yflex()

Element yflex ( Element child)

Expandir/Minimizar si es posible/necesario en el eje Y.

Definition at line 135 of file flex.cpp.

◆ flex_grow()

Element flex_grow ( Element child)

Expandir si es posible.

Definition at line 141 of file flex.cpp.

◆ xflex_grow()

Element xflex_grow ( Element child)

Expandir si es posible en el eje X.

Definition at line 147 of file flex.cpp.

◆ yflex_grow()

Element yflex_grow ( Element child)

Expandir si es posible en el eje Y.

Definition at line 153 of file flex.cpp.

◆ flex_shrink()

Element flex_shrink ( Element child)

Minimizar si es necesario.

Definition at line 159 of file flex.cpp.

◆ xflex_shrink()

Element xflex_shrink ( Element child)

Minimizar si es necesario en el eje X.

Definition at line 165 of file flex.cpp.

◆ yflex_shrink()

Element yflex_shrink ( Element child)

Minimizar si es necesario en el eje Y.

Definition at line 171 of file flex.cpp.

◆ notflex()

Element notflex ( Element child)

Hace que el elemento no sea flexible.

Definition at line 177 of file flex.cpp.

◆ focusPositionRelative()

Decorator focusPositionRelative ( float x,
float y )

Utilizado dentro de un frame, esto fuerza que la vista se desplace hacia una posición determinada. La posición se expresa en proporción del tamaño solicitado.

Por ejemplo:

  • (0, 0) significa que la vista se desplaza hacia la parte superior izquierda.
  • (1, 0) significa que la vista se desplaza hacia la parte superior derecha.
  • (0, 1) significa que la vista se desplaza hacia la parte inferior izquierda.

Ejemplo

Element document = huge_document()
| frame;
Decorator focusPositionRelative(float x, float y)
Utilizado dentro de un frame, esto fuerza que la vista se desplace hacia una posición determinada....
Element frame(Element)
Permite que un elemento se muestre dentro de un área 'virtual'. Su tamaño puede ser mayor que su cont...
Definition frame.cpp:118

Definition at line 30 of file src/ftxui/dom/focus.cpp.

◆ focusPosition()

Decorator focusPosition ( int x,
int y )

Utilizado dentro de un frame, esto fuerza que la vista se desplace hacia una posición determinada. La posición se expresa en el número de celdas.

Ejemplo

Element document = huge_document()
| focusPosition(10, 10)
| frame;
Decorator focusPosition(int x, int y)
Utilizado dentro de un frame, esto fuerza que la vista se desplace hacia una posición determinada....

Definition at line 68 of file src/ftxui/dom/focus.cpp.

◆ focus()

Element focus ( Element child)

Establece que child sea el elemento enfocado entre sus hermanos.

Parameters
childEl elemento a ser enfocado.

Definition at line 101 of file frame.cpp.

◆ focusCursorBlock()

Element focusCursorBlock ( Element child)

Igual que focus, pero establece la forma del cursor como un bloque fijo.

See also
focus
focusCursorBlock
focusCursorBlockBlinking
focusCursorBar
focusCursorBarBlinking
focusCursorUnderline
focusCursorUnderlineBlinking

Definition at line 147 of file frame.cpp.

◆ focusCursorBlockBlinking()

Element focusCursorBlockBlinking ( Element child)

Igual que focus, pero establece la forma del cursor como un bloque parpadeante.

See also
focus
focusCursorBlock
focusCursorBlockBlinking
focusCursorBar
focusCursorBarBlinking
focusCursorUnderline
focusCursorUnderlineBlinking

Definition at line 161 of file frame.cpp.

◆ focusCursorBar()

Element focusCursorBar ( Element child)

Igual que focus, pero establece la forma del cursor como un bloque fijo.

See also
focus
focusCursorBlock
focusCursorBlockBlinking
focusCursorBar
focusCursorBarBlinking
focusCursorUnderline
focusCursorUnderlineBlinking

Definition at line 175 of file frame.cpp.

◆ focusCursorBarBlinking()

Element focusCursorBarBlinking ( Element child)

Igual que focus, pero establece la forma del cursor como una barra parpadeante.

See also
focus
focusCursorBlock
focusCursorBlockBlinking
focusCursorBar
focusCursorBarBlinking
focusCursorUnderline
focusCursorUnderlineBlinking

Definition at line 189 of file frame.cpp.

◆ focusCursorUnderline()

Element focusCursorUnderline ( Element child)

Igual que focus, pero establece la forma del cursor como un subrayado fijo.

See also
focus
focusCursorBlock
focusCursorBlockBlinking
focusCursorBar
focusCursorBarBlinking
focusCursorUnderline
focusCursorUnderlineBlinking

Definition at line 203 of file frame.cpp.

◆ focusCursorUnderlineBlinking()

Element focusCursorUnderlineBlinking ( Element child)

Igual que focus, pero establece la forma del cursor como un subrayado parpadeante.

See also
focus
focusCursorBlock
focusCursorBlockBlinking
focusCursorBar
focusCursorBarBlinking
focusCursorUnderline
focusCursorUnderlineBlinking

Definition at line 217 of file frame.cpp.

◆ gaugeDirection()

Element gaugeDirection ( float progress,
Direction direction )

Dibuja una barra de progreso de alta definición que avanza en la dirección especificada.

Parameters
progressLa proporción del área a rellenar. Pertenece a [0,1].
directionDirección de progresión de la barra de progreso.

Definition at line 168 of file src/ftxui/dom/gauge.cpp.

◆ gaugeRight()

Element gaugeRight ( float progress)

Dibuja una barra de progreso de alta definición que avanza de izquierda a derecha.

Parameters
progressLa proporción del área a rellenar. Pertenece a [0,1].

Ejemplo

Un medidor. Puede ser usado para representar una barra de progreso.

Element gaugeRight(float progress)
Dibuja una barra de progreso de alta definición que avanza de izquierda a derecha.

Output

┌──────────────────────────────────────────────────────────────────────────┐
│█████████████████████████████████████ │
└──────────────────────────────────────────────────────────────────────────┘

Definition at line 190 of file src/ftxui/dom/gauge.cpp.

◆ gaugeLeft()

Element gaugeLeft ( float progress)

Dibuja una barra de progreso de alta definición que avanza de derecha a izquierda.

Parameters
progressLa proporción del área a rellenar. Pertenece a [0,1].

Ejemplo

Un medidor. Puede ser usado para representar una barra de progreso.

Element gaugeLeft(float progress)
Dibuja una barra de progreso de alta definición que avanza de derecha a izquierda.

Output

┌──────────────────────────────────────────────────────────────────────────┐
│ █████████████████████████████████████│
└──────────────────────────────────────────────────────────────────────────┘

Definition at line 212 of file src/ftxui/dom/gauge.cpp.

◆ gaugeUp()

Element gaugeUp ( float progress)

Dibuja una barra de progreso de alta definición que avanza de abajo hacia arriba.

Parameters
progressLa proporción del área a rellenar. Pertenece a [0,1].

Ejemplo

Un medidor. Puede ser usado para representar una barra de progreso.

Element gaugeUp(float progress)
Dibuja una barra de progreso de alta definición que avanza de abajo hacia arriba.

Output

┌─┐
│ │
│ │
│ │
│ │
│█│
│█│
│█│
│█│
└─┘

Definition at line 241 of file src/ftxui/dom/gauge.cpp.

◆ gaugeDown()

Element gaugeDown ( float progress)

Dibuja una barra de progreso de alta definición que avanza de arriba hacia abajo.

Parameters
progressLa proporción del área a rellenar. Pertenece a [0,1].

Ejemplo

Un medidor. Puede ser usado para representar una barra de progreso.

Element gaugeDown(float progress)
Dibuja una barra de progreso de alta definición que avanza de arriba hacia abajo.

Output

┌─┐
│█│
│█│
│█│
│█│
│ │
│ │
│ │
│ │
└─┘

Definition at line 270 of file src/ftxui/dom/gauge.cpp.

◆ gauge()

Element gauge ( float progress)

Dibuja una barra de progreso de alta definición.

Parameters
progressLa proporción del área a rellenar. Pertenece a [0,1].

Ejemplo

Un medidor. Puede ser usado para representar una barra de progreso.

Element gauge(float progress)
Dibuja una barra de progreso de alta definición.

Output

┌──────────────────────────────────────────────────────────────────────────┐
│█████████████████████████████████████ │
└──────────────────────────────────────────────────────────────────────────┘

Definition at line 292 of file src/ftxui/dom/gauge.cpp.

◆ hyperlink() [1/2]

Element hyperlink ( std::string link,
Element child )

Hace que el área renderizada sea clicable usando un navegador web. El enlace se abrirá cuando el usuario haga clic en él. Esto solo es compatible con un conjunto limitado de emuladores de terminal. Lista: https://github.com/Alhadis/OSC8-Adoption/.

Parameters
linkEl enlace
childEl elemento de entrada.
Returns
El elemento de salida con el enlace.

Ejemplo

Element document =
hyperlink("https://github.com/ArthurSonzogni/FTXUI", "link");
Decorator hyperlink(std::string link)
Decora usando un hipervínculo. El enlace se abrirá cuando el usuario haga clic en él....
Definition hyperlink.cpp:70

Definition at line 51 of file hyperlink.cpp.

◆ hyperlink() [2/2]

Decorator hyperlink ( std::string link)

Decora usando un hipervínculo. El enlace se abrirá cuando el usuario haga clic en él. Esto solo es compatible con un conjunto limitado de emuladores de terminal. Lista: https://github.com/Alhadis/OSC8-Adoption/.

Parameters
linkEl enlace al que se redirigirá a los usuarios.
Returns
El Decorator que aplica el hipervínculo.

Ejemplo

Element document =
text("red") | hyperlink("https://github.com/Arthursonzogni/FTXUI");

Definition at line 70 of file hyperlink.cpp.

◆ inverted()

Element inverted ( Element child)

Agrega un filtro que invertirá los colores de primer plano y de fondo. colores.

Definition at line 34 of file inverted.cpp.

◆ italic()

Element italic ( Element child)

Aplica un subrayado doble al texto.

Definition at line 17 of file italic.cpp.

◆ color() [3/4]

Element color ( const LinearGradient & gradient,
Element child )

Establece el color de primer plano de un elemento con efecto de gradiente lineal.

Parameters
gradientEl efecto de gradiente que se aplicará al elemento de salida.
childEl elemento de entrada.
Returns
El elemento de salida coloreado.

Ejemplo

Una clase que representa la configuración para el efecto de color de gradiente lineal.

Definition at line 245 of file src/ftxui/dom/linear_gradient.cpp.

◆ bgcolor() [3/4]

Element bgcolor ( const LinearGradient & gradient,
Element child )

Establece el color de fondo de un elemento con efecto de gradiente lineal.

Parameters
gradientEl efecto de gradiente que se aplicará al elemento de salida.
childEl elemento de entrada.
Returns
El elemento de salida coloreado.

Ejemplo

Definition at line 261 of file src/ftxui/dom/linear_gradient.cpp.

◆ color() [4/4]

Decorator color ( const LinearGradient & gradient)

Decora usando un efecto de gradiente lineal en el color de primer plano.

Parameters
gradientEl efecto de gradiente que se aplicará al elemento de salida.
Returns
El Decorator que aplica el color.

Ejemplo

Definition at line 276 of file src/ftxui/dom/linear_gradient.cpp.

◆ bgcolor() [4/4]

Decorator bgcolor ( const LinearGradient & gradient)

Decora usando un efecto de gradiente lineal en el color de fondo.

Parameters
gradientEl efecto de gradiente que se aplicará al elemento de salida.
Returns
El Decorator que aplica el color.

Ejemplo

Definition at line 291 of file src/ftxui/dom/linear_gradient.cpp.

◆ Render() [1/2]

void Render ( Screen & screen,
const Element & element )

Muestra un elemento en un ftxui::Screen.

Definition at line 84 of file node.cpp.

◆ Render() [2/2]

void Render ( Screen & screen,
Node * node )

Muestra un elemento en un ftxui::Screen.

Definition at line 91 of file node.cpp.

◆ paragraph()

Element paragraph ( const std::string & the_text)

Devuelve un elemento que dibuja el párrafo en varias líneas.

See also
flexbox.

Definition at line 41 of file src/ftxui/dom/paragraph.cpp.

◆ paragraphAlignLeft()

Element paragraphAlignLeft ( const std::string & the_text)

Devuelve un elemento que dibuja el párrafo en varias líneas, alineado a la izquierda.

See also
flexbox.

Definition at line 49 of file src/ftxui/dom/paragraph.cpp.

◆ paragraphAlignRight()

Element paragraphAlignRight ( const std::string & the_text)

Devuelve un elemento que dibuja el párrafo en varias líneas, alineado a la derecha.

See also
flexbox.

Definition at line 60 of file src/ftxui/dom/paragraph.cpp.

◆ paragraphAlignCenter()

Element paragraphAlignCenter ( const std::string & the_text)

Devuelve un elemento que dibuja el párrafo en varias líneas, alineado al centro.

See also
flexbox.

Definition at line 72 of file src/ftxui/dom/paragraph.cpp.

◆ paragraphAlignJustify()

Element paragraphAlignJustify ( const std::string & the_text)

Devuelve un elemento que dibuja el párrafo en varias líneas, alineado utilizando una alineación justificada.

See also
flexbox.

Definition at line 84 of file src/ftxui/dom/paragraph.cpp.

◆ vscroll_indicator()

Element vscroll_indicator ( Element child)

Muestra una barra de desplazamiento vertical a la derecha. Los colores siguen el contenido.

Definition at line 21 of file scroll_indicator.cpp.

◆ hscroll_indicator()

Element hscroll_indicator ( Element child)

Muestra una barra de desplazamiento horizontal en la parte inferior. Los colores siguen el contenido.

Definition at line 76 of file scroll_indicator.cpp.

◆ separator() [1/2]

Element separator ( )

Dibuja una separación vertical u horizontal entre otros dos elementos.

See also
separator
separatorLight
separatorDashed
separatorDouble
separatorHeavy
separatorEmpty
separatorRounded
separatorStyled
separatorCharacter

Añade una separación visual entre dos elementos.

Ejemplo

// Use 'border' as a function...
Element document = vbox({
text("up"),
text("down"),
});
Element separator()
Dibuja una separación vertical u horizontal entre otros dos elementos.
Element vbox(Elements)

Salida

up
────
down

Definition at line 134 of file src/ftxui/dom/separator.cpp.

◆ separatorStyled()

Element separatorStyled ( BorderStyle style)

Dibuja una separación vertical u horizontal entre otros dos elementos.

Parameters
styleel estilo del separador.
See also
separator
separatorLight
separatorDashed
separatorDouble
separatorHeavy
separatorEmpty
separatorRounded
separatorStyled
separatorCharacter

Añade una separación visual entre dos elementos.

Ejemplo

// Use 'border' as a function...
Element document = vbox({
text("up"),
text("down"),
});
Element separatorStyled(BorderStyle)
Dibuja una separación vertical u horizontal entre otros dos elementos.

Salida

up
════
down

Definition at line 172 of file src/ftxui/dom/separator.cpp.

◆ separatorLight()

Element separatorLight ( )

Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo LIGERO.

See also
separator
separatorLight
separatorDashed
separatorDouble
separatorHeavy
separatorEmpty
separatorRounded
separatorStyled
separatorCharacter

Añade una separación visual entre dos elementos.

Ejemplo

// Use 'border' as a function...
Element document = vbox({
text("up"),
text("down"),
});
Element separatorLight()
Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo LIGERO.

Salida

up
────
down

Definition at line 209 of file src/ftxui/dom/separator.cpp.

◆ separatorDashed()

Element separatorDashed ( )

Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo DISCONTINUO.

See also
separator
separatorLight
separatorDashed
separatorDouble
separatorHeavy
separatorEmpty
separatorRounded
separatorStyled
separatorCharacter

Añade una separación visual entre dos elementos.

Ejemplo

// Use 'border' as a function...
Element document = vbox({
text("up"),
text("down"),
});

Salida

up
╍╍╍╍
down

Definition at line 246 of file src/ftxui/dom/separator.cpp.

◆ separatorHeavy()

Element separatorHeavy ( )

Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo GRUESO.

See also
separator
separatorLight
separatorDashed
separatorDouble
separatorHeavy
separatorEmpty
separatorRounded
separatorStyled
separatorCharacter

Añade una separación visual entre dos elementos.

Ejemplo

// Use 'border' as a function...
Element document = vbox({
text("up"),
text("down"),
});
Element separatorHeavy()
Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo GRUESO.

Salida

up
━━━━
down

Definition at line 283 of file src/ftxui/dom/separator.cpp.

◆ separatorDouble()

Element separatorDouble ( )

Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo DOBLE.

See also
separator
separatorLight
separatorDashed
separatorDouble
separatorHeavy
separatorEmpty
separatorRounded
separatorStyled
separatorCharacter

Añade una separación visual entre dos elementos.

Ejemplo

// Use 'border' as a function...
Element document = vbox({
text("up"),
text("down"),
});
Element separatorDouble()
Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo DOBLE.

Salida

up
════
down

Definition at line 320 of file src/ftxui/dom/separator.cpp.

◆ separatorEmpty()

Element separatorEmpty ( )

Dibuja una separación vertical u horizontal entre otros dos elementos, usando el estilo VACÍO.

See also
separator
separatorLight
separatorDashed
separatorDouble
separatorHeavy
separatorEmpty
separatorRounded
separatorStyled
separatorCharacter

Añade una separación visual entre dos elementos.

Ejemplo

// Use 'border' as a function...
Element document = vbox({
text("up"),
text("down"),
});

Salida

up
down

Definition at line 357 of file src/ftxui/dom/separator.cpp.

◆ separatorCharacter()

Element separatorCharacter ( std::string value)

Dibuja una separación vertical u horizontal entre otros dos elementos.

Parameters
valueel carácter para rellenar el área del separador.
See also
separator
separatorLight
separatorDashed
separatorDouble
separatorHeavy
separatorEmpty
separatorRounded
separatorStyled
separatorCharacter

Añade una separación visual entre dos elementos.

Ejemplo

// Use 'border' as a function...
Element document = vbox({
text("up"),
text("down"),
});

Salida

up
────
down

Definition at line 395 of file src/ftxui/dom/separator.cpp.

◆ separator() [2/2]

Element separator ( Pixel pixel)

Dibuja un separador entre dos elementos, rellenado con un píxel dado.

See also
separator
separatorLight
separatorDashed
separatorHeavy
separatorDouble
separatorStyled

Ejemplo

Pixel empty;
Element document = vbox({
text("Up"),
separator(empty),
text("Down"),
})
Un carácter Unicode y su estilo asociado.
Definition pixel.hpp:15

Salida

Up
Down

Definition at line 426 of file src/ftxui/dom/separator.cpp.

◆ size()

Decorator size ( WidthOrHeight direction,
Constraint constraint,
int value )

Aplica una restricción al tamaño de un elemento.

Parameters
directionSi el ANCHO o la ALTURA del elemento deben ser restringidos.
constraintEl tipo de restricción.
valueEl valor.

Definition at line 89 of file src/ftxui/dom/size.cpp.

◆ spinner()

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.

Parameters
charset_indexEl tipo de "video".
image_indexEl "cuadro" del video. Necesitas aumentarlo para cada "paso".

Definition at line 282 of file src/ftxui/dom/spinner.cpp.

◆ strikethrough()

Element strikethrough ( Element child)

Aplica un tachado al texto.

Definition at line 17 of file strikethrough.cpp.

◆ text() [1/2]

Element text ( std::string text)

Muestra un fragmento de texto Unicode codificado en UTF8.

See also
ftxui::to_wstring

Ejemplo

Element document = text("Hello world!");

Salida

Hello world!

Definition at line 141 of file text.cpp.

◆ text() [2/2]

Element text ( std::wstring text)

Muestra un fragmento de texto Unicode.

See also
ftxui::to_wstring

Ejemplo

Element document = text(L"Hello world!");

Salida

Hello world!

Definition at line 160 of file text.cpp.

◆ vtext() [1/2]

Element vtext ( std::string text)

Muestra un fragmento de texto Unicode verticalmente.

See also
ftxui::to_wstring

Ejemplo

Element document = vtext("Hello world!");
Element vtext(std::wstring text)
Muestra un fragmento de texto Unicode verticalmente.
Definition text.cpp:220

Salida

H
e
l
l
o
w
o
r
l
d
!

Definition at line 190 of file text.cpp.

◆ vtext() [2/2]

Element vtext ( std::wstring text)

Muestra un fragmento de texto Unicode verticalmente.

See also
ftxui::to_wstring

Ejemplo

Element document = vtext(L"Hello world!");

Salida

H
e
l
l
o
w
o
r
l
d
!

Definition at line 220 of file text.cpp.

◆ underlined()

Element underlined ( Element child)

Subraya el elemento dado.

Definition at line 33 of file underlined.cpp.

◆ underlinedDouble()

Element underlinedDouble ( Element child)

Aplica un doble subrayado al texto.

Definition at line 17 of file underlined_double.cpp.

◆ nothing()

Element nothing ( Element element)

Una decoración que no hace absolutamente nada.

Definition at line 28 of file dom/util.cpp.

◆ operator|() [1/3]

Decorator operator| ( Decorator a,
Decorator b )

Compone dos decoradores en uno.

Ejemplo

auto decorator = bold | blink;
Element blink(Element)
El texto dibujado alterna entre visible y oculto.
Definition blink.cpp:33

Definition at line 40 of file dom/util.cpp.

◆ operator|() [2/3]

Elements operator| ( Elements elements,
Decorator decorator )

A partir de un conjunto de elementos, aplica un decorador a cada elemento.

Returns
el conjunto de elementos decorados.

Definition at line 48 of file dom/util.cpp.

◆ operator|() [3/3]

Element operator| ( Element element,
Decorator decorator )

A partir de un elemento, aplica un decorador.

Returns
el elemento decorado.

Ejemplo

Ambos son equivalentes:

bold(text("Hello"));
Element bold(Element)
Utiliza una fuente en negrita, para elementos con más énfasis.
Definition bold.cpp:33
text("Hello") | bold;

Definition at line 70 of file dom/util.cpp.

◆ operator|=()

Element & operator|= ( Element & e,
Decorator d )

Aplica un decorador a un elemento.

Returns
el elemento decorado.

Ejemplo

Ambos son equivalentes:

auto element = text("Hello");
element |= bold;

Definition at line 85 of file dom/util.cpp.

◆ emptyElement()

Element emptyElement ( )

Un elemento de tamaño 0x0 que no dibuja nada.

Definition at line 140 of file dom/util.cpp.

◆ vbox()

Element vbox ( Elements children)

Un contenedor que muestra elementos verticalmente uno por uno.

Parameters
childrenLos elementos en el contenedor
Returns
El contenedor.

Ejemplo

text("Up"),
text("Down"),
});
Element vbox(Elements children)
Un contenedor que muestra elementos verticalmente uno por uno.
Definition vbox.cpp:95
Examples
examples/component/button.cpp, examples/component/button_animated.cpp, examples/component/button_in_frame.cpp, examples/component/composition.cpp, examples/component/custom_loop.cpp, examples/component/dropdown_custom.cpp, examples/component/flexbox_gallery.cpp, examples/component/focus.cpp, examples/component/gallery.cpp, examples/component/homescreen.cpp, examples/component/input.cpp, examples/component/input_style.cpp, examples/component/linear_gradient_gallery.cpp, examples/component/menu2.cpp, examples/component/menu_entries.cpp, examples/component/menu_entries_animated.cpp, examples/component/menu_multiple.cpp, examples/component/menu_style.cpp, examples/component/modal_dialog.cpp, examples/component/modal_dialog_custom.cpp, examples/component/nested_screen.cpp, examples/component/print_key_press.cpp, examples/component/resizable_split_clamp.cpp, examples/component/scrollbar.cpp, examples/component/selection.cpp, examples/component/slider_rgb.cpp, examples/component/tab_horizontal.cpp, examples/component/textarea.cpp, examples/component/toggle.cpp, examples/component/with_restored_io.cpp, examples/dom/border.cpp, examples/dom/border_colored.cpp, examples/dom/border_style.cpp, examples/dom/color_gallery.cpp, examples/dom/color_info_palette256.cpp, examples/dom/color_truecolor_HSV.cpp, examples/dom/color_truecolor_RGB.cpp, examples/dom/dbox.cpp, examples/dom/gauge_direction.cpp, examples/dom/graph.cpp, examples/dom/html_like.cpp, examples/dom/package_manager.cpp, examples/dom/paragraph.cpp, examples/dom/separator.cpp, examples/dom/separator_style.cpp, examples/dom/spinner.cpp, examples/dom/style_color.cpp, and examples/dom/vbox_hbox.cpp.

Definition at line 95 of file vbox.cpp.

◆ SetColorSupport()

void SetColorSupport ( Color color)

Anula el soporte de color del terminal en caso de que la autodetección falle.

Definition at line 139 of file terminal.cpp.