Some developers would be happier with the gtest version provided from
their package manager. Use it if it is installed the package provide
cmake support.
Fixed: https://github.com/ArthurSonzogni/FTXUI/issues/551
It can be used to give developers a better control on the loop. Users
can use it not to take full control of the thread, and poll FTXUI from
time to time as part of an external loop.
This resolves: https://github.com/ArthurSonzogni/FTXUI/issues/474
Add the `SliderOption` option supporting:
```cpp
{
Ref<T> value;
ConstRef<T> min = T(0);
ConstRef<T> max = T(100);
ConstRef<T> increment = (max() - min()) / 20;
GaugeDirection direction = GaugeDirection::Right;
Color color_active = Color::White;
Color color_inactive = Color::GrayDark;
};
```
In particular, this supports multiple direction. This resolves:
https://github.com/ArthurSonzogni/FTXUI/issues/467
This one do not support adding a label. The old constructors can still
be used to have a label.
width and height were being set using the incorrect axes resulting in incorrect canvas dimensions
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
- Fix focus in flexbox. This required resetting the focus state at the
beginning of the ComputeRequirement(), because it can now run several
times.
This resolves:https://github.com/ArthurSonzogni/FTXUI/issues/399
- Add Box::Union.
- Add a preliminary implementation of forwarding selected_box from
within the flexbox.
Add decorator variants for decorator components
Add the "pipe" operator for components, similar to what was done for Elements.
We are able to put something like:
```
Button(...) | Maybe(&show_button)
```
Add decorators for:
- `Maybe`
- `CatchEvent`
- `Renderer`
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>
- Provide better defaults for ComponentBase `Focusable()` and
`ActiveChild()` methods. This resolves:
https://github.com/ArthurSonzogni/FTXUI/issues/335
- Implement `Container::Tab` 's `Focusable()` methods. This prevents
the users to navigate into a tab with no interactivity.
PREFIX is by default "lib", which most of the libraries use.
this changes makes the library files libftxui-foo.a
as ArthurSonzogni/FTXUI#140 intended originally
- Add support for SIGTSTP:
https://github.com/ArthurSonzogni/FTXUI/issues/330
This
- Add support for task posting.
This allows folks to defer function execution, and execute it directly
below the main loop. The task are executed in a FIFO order.
Add the `automerge` attribute to the Pixel bit field. It controls
whether two pixels must be automerged. Defining this allows two
mergeable characters not to be merged.
This was requested by:
https://github.com/ArthurSonzogni/FTXUI/issues/285
Use std::string by default for the implementation of FTXUI's input
component.
Along the way:
- Give a correct implementation for fullwidth characters.
- Add tests
- Modify the way the cursor is drawn.
This implement the flexbox elements, following the HTML one.
Built from them, there is also the following elements:
- `paragraph`
- `paragraphAlignLeft`
- `paragraphAlignRight`
- `paragraphAlignCenter`
- `paragraphAlignJustify`
This is a breaking change.
- Let the global `BUILD_SHARED_LIBS` dictates whether the library should
be built statically or dynamically. The cmake's default is statically.
- Add library version and symlink.
This lead to the following install tree.
.
├── include
│ └── ftxui
│ ├── component [...]
│ ├── dom [...]
│ ├── screen [...]
│ └── util [...]
└── lib
├── cmake
│ └── ftxui
│ ├── ftxui-config.cmake
│ ├── ftxui-config-version.cmake
│ └── ftxui-config-version-noconfig.cmake
├── ftxui-component.so -> ftxui-component.so.0.10.369
├── ftxui-component.so.0.10.369
├── ftxui-dom.so -> ftxui-dom.so.0.10.369
├── ftxui-dom.so.0.10.369
├── ftxui-screen.so -> ftxui-screen.so.0.10.369
└── ftxui-screen.so.0.10.369
Fixed: https://github.com/ArthurSonzogni/FTXUI/issues/223
This can happen for example in embedded linux, in case
the application is started via serial terminal.
Signed-off-by: Jarosław Pelczar <jarek@jpelczar.com>
Co-authored-by: ArthurSonzogni <sonzogniarthur@gmail.com>