Build
- breaking: The library prefix is now back to "lib" (the default). This
means non-cmake users should not link against "libftxui-dom" for instance.
Component
- Animations module! Components can implement the
OnAnimation
method and
the animation::Animator to define some animated properties.Menu
now support animations.Button
now supports animations.
- Support SIGTSTP. (ctrl+z).
- Support task posting.
ScreenInteractive::Post(Task)
. Menu
can now be used in the 4 directions, usingMenuOption.direction
.Menu
can display an animated underline, using
MenuOption.underline.enabled
.Button
is now taking the focus in frame.- breaking All the options are now using a transform function.
- breaking The
Toggle
component is now implemented usingMenu
. - bugfix Container::Tab implements
Focusable()
. - bugfix Improved default implementations of ComponentBase
Focusable()
and
ActiveChild()
methods. - bugfix Automatically convert '\r' keys into '\n' for Linux programs that
do not send the correct code for the return key, like the 'bind'.
#337 - Add decorator for components:
operator|(Component, ComponentDecorator)
operator|(Component, ElementDecorator)
operator|=(Component, ComponentDecorator)
operator|=(Component, ElementDecorator)
- Add the
Maybe
decorator. - Add the
CatchEvent
decorator. - Add the
Renderer
decorator.
- breaking remove the "deprectated.hpp" header and Input support for wide
string.
DOM:
- breaking: The
inverted
decorator now toggle in the inverted attribute. - Add
gauge
for the 4 directions. Expose the following API:
Element gauge(float ratio);
Element gaugeLeft(float ratio);
Element gaugeRight(float ratio);
Element gaugeUp(float ratio);
Element gaugeDown(float ratio);
Element gaugeDirection(float ratio, GaugeDirection);
- Add
separatorHSelector
andseparatorVSelector
elements. This can be used
to highlight an area. - Add the
automerge
decorator. This makes separator characters to be merged
with others nearby. - Fix the
Table
rendering function, to allow automerging characters. - Bugfix: The
vscroll_indicator
now computes its offset and size
correctly. - Add the
operator|=(Element, Decorator)
Screen:
- Add:
Color::Interpolate(lambda, color_a, color_b)
.