Implement ButtonOption::Border() (#472)

It was missing. See:
https://github.com/ArthurSonzogni/FTXUI/issues/471
This commit is contained in:
Arthur Sonzogni 2022-08-30 19:03:14 +02:00 committed by GitHub
parent b3ba747d82
commit 1661a5e83d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View File

@ -22,6 +22,7 @@ current (development)
- various values (value, min, max, increment). - various values (value, min, max, increment).
- Improvement: The `Menu` keeps the focus when an entry is selected with the - Improvement: The `Menu` keeps the focus when an entry is selected with the
mouse. mouse.
- Bug: Add implementation of `ButtonOption::Border()`. It was missing.
### Screen ### Screen
- Feature: add `Box::Union(a,b) -> Box` - Feature: add `Box::Union(a,b) -> Box`

View File

@ -144,6 +144,23 @@ ButtonOption ButtonOption::Simple() {
return option; return option;
} }
/// @brief Create a ButtonOption. The button is shown using a border, inverted
/// when focused. This is the current default.
ButtonOption ButtonOption::Border() {
ButtonOption option;
option.transform = [](const EntryState& s) {
auto element = text(s.label) | border;
if (s.active) {
element |= bold;
}
if (s.focused) {
element |= inverted;
}
return element;
};
return option;
}
/// @brief Create a ButtonOption, using animated colors. /// @brief Create a ButtonOption, using animated colors.
// static // static
ButtonOption ButtonOption::Animated() { ButtonOption ButtonOption::Animated() {