What's new:
- Switched to the C++14 language standard
- Strict use of trailing return type
- The virtual window management has been completely rewritten and is now much faster
- The way a widget gets focus has been changed. Sending focus events is no longer a separate step
- Reduced number of cycles to save CPU time
- Speed up parsing of UTF-8 input
- Added a ring buffer to hold unprocessed keyboard and mouse input. Benefits: pre-allocated memory and no expensive data copying or clearing
- The output buffer queue has also been replaced with a ring buffer to improve performance
- Key sequences are now identified using a hash map to speed up escape sequence searches
- Speed up the drawing of shadows and boxes
- Text highlighting (color and style) for the
FTextView
widget FDialogListMenu
is now automatically enabled and disabled depending on the number of dialogsFFileDialog
now shows the file filter in the title bar- Virtual windows can now also be moved up from the virtual terminal area
FLineEdit
andFTextView
widgets now have additional public methods for more controlFLineEdit
can set the alignment (left, center, or right) for the content of the entry- Individual columns can now be shown and hidden in
FListView
- Widget flags are now grouped in a hierarchical structure
- New methods
removeColumn()
andremoveAllColumns()
for theFListView
to remove columns - The terminal output class (derived from
FOutput
) can now be changed using the constructor of theFVTerm
class - A new example demonstrates parallax scrolling with multi-layered stars
- A new example to view X PixMap (XPM) images in a terminal
FObject
now supports reverse iterators- The application is now notified when the focus changes in the terminal window through the new
onTermFocusIn()
andonTermFocusOut()
event methods FDialog
size and position changes are now executed immediately before terminal output to redraw mouse-based changes just before output