79 if (!state.focused && !state.active) {
94 option.underline.enabled =
true;
104 Element e =
text((state.active ?
"> " :
" ") + state.label);
111 if (!state.focused && !state.active) {
124 option.entries_option.transform = [](
const EntryState& state) {
132 if (!state.focused && !state.active) {
137 option.underline.enabled =
true;
146 option.elements_infix = [] {
return text(
"│") |
automerge; };
155 const std::string t = s.focused ?
"[" + s.label +
"]"
156 :
" " + s.label +
" ";
201 return ButtonOption::Animated(
202 Color::Interpolate(0.85F, color, Color::Black),
203 Color::Interpolate(0.10F, color, Color::White),
204 Color::Interpolate(0.10F, color, Color::Black),
205 Color::Interpolate(0.85F, color, Color::White));
212 return ButtonOption::Animated(
224 Color background_active,
225 Color foreground_active) {
228 auto element = text(s.label) | borderEmpty;
244#if defined(FTXUI_MICROSOFT_TERMINAL_FALLBACK)
247 auto prefix = text(s.state ?
"[X] " :
"[ ] ");
249 auto prefix = text(s.state ?
"▣ " :
"☐ ");
251 auto t = text(s.label);
258 return hbox({prefix, t});
268#if defined(FTXUI_MICROSOFT_TERMINAL_FALLBACK)
271 auto prefix = text(s.state ?
"(*) " :
"( ) ");
273 auto prefix = text(s.state ?
"◉ " :
"○ ");
275 auto t = text(s.label);
282 return hbox({prefix, t});
292 state.element |= color(Color::White);
294 if (state.is_placeholder) {
295 state.element |= dim;
299 state.element |= inverted;
300 }
else if (state.hovered) {
301 state.element |= bgcolor(Color::GrayDark);
304 return state.element;
314 state.element |= borderEmpty;
315 state.element |= color(Color::White);
317 if (state.is_placeholder) {
318 state.element |= dim;
322 state.element |= bgcolor(Color::Black);
326 state.element |= bgcolor(Color::GrayDark);
329 return state.element;
static MenuOption Toggle()
Opciones estándar para un menú horizontal con un separador. Esto puede ser útil para implementar una ...
animation::Duration follower_duration
animation::easing::Function leader_function
MenuEntryOption entries_option
animation::easing::Function function
static ButtonOption Border()
Crea una ButtonOption. El botón se muestra usando un borde, invertido cuando está enfocado....
void SetAnimationFunction(animation::easing::Function f)
Establece cómo debe animarse el subrayado.
static ButtonOption Simple()
Crea una ButtonOption, invertida cuando está enfocada.
std::function< Element(const EntryState &state)> transform
static MenuOption Horizontal()
Opciones estándar para un menú horizontal. Esto puede ser útil para implementar una barra de pestañas...
static MenuOption VerticalAnimated()
Opciones estándar para un menú vertical animado. Esto puede ser útil para implementar una lista de el...
animation::Duration leader_duration
static MenuOption Vertical()
Opciones estándar para un menú vertical. Esto puede ser útil para implementar una lista de elementos ...
static ButtonOption Ascii()
Crea una ButtonOption, resaltada usando los caracteres [].
animation::Duration duration
void SetAnimation(animation::Duration d, animation::easing::Function f)
Establece cómo debe animarse el subrayado.
void SetAnimationDuration(animation::Duration d)
Establece cómo debe animarse el subrayado.
animation::easing::Function follower_function
std::function< Element(InputState)> transform
std::function< Element()> elements_infix
AnimatedColorsOption animated_colors
void Set(Color inactive, Color active, animation::Duration duration=std::chrono::milliseconds(250), animation::easing::Function function=animation::easing::QuadraticInOut)
Una opción de color que puede ser animada.
static MenuOption HorizontalAnimated()
Opciones estándar para un menú horizontal animado. Esto puede ser útil para implementar una barra de ...
std::function< Element(const EntryState &)> transform
Opción para el componente Checkbox.
Opción para el componente Radiobox.
Element bold(Element)
Utiliza una fuente en negrita, para elementos con más énfasis.
Element inverted(Element)
Agrega un filtro que invertirá los colores de primer plano y de fondo. colores.
Element text(std::wstring text)
Muestra un fragmento de texto Unicode.
Element borderLight(Element)
Draw a light border around the element.
Element dim(Element)
Usa una fuente clara para elementos con menos énfasis.
Element automerge(Element child)
Permite que los caracteres se fusionen automáticamente con otros cercanos.
Element border(Element)
Draw a border around the element.
Color es una clase que representa un color en la interfaz de usuario de la terminal.
return hbox({ text(std::to_string(int(progress *100))+"% ")|size(WIDTH, EQUAL, 5), gauge(progress), })
std::function< float(float)> Function
std::chrono::duration< float > Duration
El espacio de nombres ftxui:: de FTXUI.
return Animated(Color::Black, Color::GrayLight, Color::GrayDark, Color::White)
Crea una ButtonOption, usando colores animados.
std::shared_ptr< Node > Element
AnimatedColorOption foreground
AnimatedColorOption background
Argumentos para la transformación de |ButtonOption|, |CheckboxOption|, |RadioboxOption|,...