87 if (!state.focused && !state.active) {
103 option.underline.enabled =
true;
114 Element e =
text((state.active ?
"> " :
" ") + state.label);
121 if (!state.focused && !state.active) {
135 option.entries_option.transform = [](
const EntryState& state) {
143 if (!state.focused && !state.active) {
148 option.underline.enabled =
true;
158 option.elements_infix = [] {
return text(
"│") |
automerge; };
168 const std::string t = s.focused ?
"[" + s.label +
"]"
169 :
" " + s.label +
" ";
245 Color background_active,
246 Color foreground_active) {
266#if defined(FTXUI_MICROSOFT_TERMINAL_FALLBACK)
269 auto prefix =
text(s.state ?
"[X] " :
"[ ] ");
271 auto prefix =
text(s.state ?
"▣ " :
"☐ ");
273 auto t =
text(s.label);
280 return hbox({prefix, t});
291#if defined(FTXUI_MICROSOFT_TERMINAL_FALLBACK)
294 auto prefix =
text(s.state ?
"(*) " :
"( ) ");
296 auto prefix =
text(s.state ?
"◉ " :
"○ ");
298 auto t =
text(s.label);
305 return hbox({prefix, t});
318 if (state.is_placeholder) {
319 state.element |=
dim;
324 }
else if (state.hovered) {
328 return state.element;
342 if (state.is_placeholder) {
343 state.element |=
dim;
354 return state.element;
A class representing terminal colors.
static Color Interpolate(float t, const Color &a, const Color &b)
std::function< float(float)> Function
std::chrono::duration< float > Duration
Decorator bgcolor(Color)
Decorate using a background color.
AnimatedColorOption foreground
std::shared_ptr< Node > Element
Element bold(Element)
Use a bold font, for elements with more emphasis.
AnimatedColorOption background
Element hbox(Elements)
A container displaying elements horizontally one by one.
std::function< Element(const EntryState &state)> transform
Element inverted(Element)
Add a filter that will invert the foreground and the background colors.
Element text(std::wstring text)
Display a piece of unicode text.
Element borderLight(Element)
Draw a dashed border around the element.
Element dim(Element)
Use a light font, for elements with less emphasis.
Element automerge(Element child)
Enable character to be automatically merged with others nearby.
Element border(Element)
Draw a border around the element.
Element borderEmpty(Element)
Draw an empty border around the element.
Decorator color(Color)
Decorate using a foreground color.
arguments for |ButtonOption::transform|, |CheckboxOption::transform|, |Radiobox::transform|,...
animation::easing::Function function
animation::Duration duration
void Set(Color inactive, Color active, animation::Duration duration=std::chrono::milliseconds(250), animation::easing::Function function=animation::easing::QuadraticInOut)
A color option that can be animated. @params _inactive The color when the component is inactive....
Option for the Checkbox component.
static CheckboxOption Simple()
Option for standard Checkbox.
Option for the Radiobox component.
static RadioboxOption Simple()
Option for standard Radiobox.
animation::Duration follower_duration
animation::easing::Function leader_function
void SetAnimationFunction(animation::easing::Function f)
Set how the underline should animate.
animation::Duration leader_duration
void SetAnimation(animation::Duration d, animation::easing::Function f)
Set how the underline should animate.
void SetAnimationDuration(animation::Duration d)
Set how the underline should animate.
animation::easing::Function follower_function