FINAL CUT is a C++ class library and widget toolkit that enables developers to create text-based user interfaces. FINAL CUT is a standalone library that interacts directly with the terminal without relying on external libraries such as ncurses or termbox.
FINAL CUT provides full mouse support, UTF-8 character encoding, full-width character support, and the ability to display combined Unicode characters. The library helps the programmer to create a text console application. It allows handling multiple text windows on the screen.
The design of the C++ class structure of FINAL CUT was inspired by the Qt framework. It provides a variety of common controls, including dialog boxes, push buttons, check boxes, radio buttons, input lines, list boxes, and status bars. With FINAL CUT, developers can create text-based user interfaces that are both functional and visually appealing.
Homepage
Download
Recent Releases
0.9.127 Jul 2024 15:21
minor feature:
Code fix to compile FINAL CUT with gcc 14
0.9.021 May 2023 22:36
minor feature:
- Switched to the C++14 language standard
- Strict use of trailing return type
- Virtual window management has been completely rewritten and is now much faster
- The way a widget gets the 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. Advantages: 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
- Faster 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 dialogs
- FFileDialog now shows the file filter in the title bar
- Virtual windows can now also be moved up from the virtual terminal area
- The FLineEdit and FTextView widgets now have additional public methods for more control
- FLineEdit 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() and removeAllColumns() for the FListView to remove columns
- The terminal output class (derived from FOutput) can now be changed using the constructor of the FVTerm class
- A new example demonstrating parallax scrolling with multi-layered stars
- A new example for displaying X PixMap (XPM) images in a terminal
- FObject now supports reverse iterators
- The application is now notified when the focus in the terminal window changes through the new onTermFocusIn() and onTermFocusOut() event methods
- FDialog size and position changes are now performed immediately before terminal output to redraw mouse-based changes just before output
0.8.031 Oct 2021 23:47
minor feature:
0.7.114 Nov 2020 20:39
minor feature:
0.7.007 Nov 2020 21:06
minor feature:
0.6.017 Oct 2019 13:08
minor feature:
0.5.025 Nov 2018 18:53
minor feature:
0.4.018 Jun 2018 00:49
minor feature: