FTXUI 6.1.9
C++ functional terminal UI.
Loading...
Searching...
No Matches
requirement.hpp
Go to the documentation of this file.
1// Copyright 2020 Arthur Sonzogni. Todos los derechos reservados.
2// El uso de este código fuente se rige por la licencia MIT que se puede encontrar en
3// el archivo LICENSE.
4#ifndef FTXUI_DOM_REQUIREMENT_HPP
5#define FTXUI_DOM_REQUIREMENT_HPP
6
9
10namespace ftxui {
11class Node;
12
13/// @brief Requirement es una estructura que define los requisitos de diseño para un
14/// Nodo en la interfaz de usuario del terminal.
15///
16/// Especifica el tamaño mínimo requerido para dibujar completamente el elemento,
17/// @ingroup dom
19 // El tamaño requerido para dibujar completamente el elemento.
20 int min_x = 0;
21 int min_y = 0;
22
23 // Cuánta flexibilidad se le da al componente.
24 int flex_grow_x = 0;
25 int flex_grow_y = 0;
28
29 // Gestión del foco para soportar el elemento frame/focus/select.
30 struct Focused {
31 bool enabled = false;
33 Node* node = nullptr;
35
36 // Interno para interacciones con componentes.
37 bool component_active = false;
38
39 // Devuelve si este requisito debe ser preferido sobre el otro.
40 bool Prefer(const Focused& other) const {
41 if (!other.enabled) {
42 return false;
43 }
44 if (!enabled) {
45 return true;
46 }
47
48 return other.component_active && !component_active;
49 }
50 };
52};
53
54} // namespace ftxui
55
56#endif // FTXUI_DOM_REQUIREMENT_HPP
Node es la clase base para todos los elementos en el árbol DOM.
Definition node.hpp:37
Requirement es una estructura que define los requisitos de diseño para un Nodo en la interfaz de usua...
Box es una estructura que representa un área rectangular en un espacio 2D.
Definition box.hpp:16
El espacio de nombres ftxui:: de FTXUI.
Definition animation.hpp:10
Screen::Cursor::Shape cursor_shape
bool Prefer(const Focused &other) const