summaryrefslogtreecommitdiff
path: root/FL/Fl_Terminal.H
AgeCommit message (Collapse)Author
3 dayswipmaxim nikonov
2025-11-01Fix comment alignment.Matthias Melcher
2025-10-31Fix MSVC Level 4 warnings (#1126)MatthiasWM
2025-07-08Replace 'FL_OVERRIDE' with 'override' in public headersAlbrecht Schlosser
... except FL/fl_attr.h where FL_OVERRIDE is #define'd
2025-05-09Fl_Terminal doc fixes, private->protected for utf8_char_at_*()Greg Ercolano
2025-04-29Fix Doxygen warning for older Doxygen versionsAlbrecht Schlosser
Note: doxygen versions < 1.9.6 are not recommended for PDF docs but *may* work for HTML documentation.
2024-08-12Small doc fixes (\See -> \see)Greg Ercolano
2024-08-12Improve handling of malformed ANSI. (#950)Greg Ercolano
2024-04-09Fix Fl_Terminal::handle_unknown_char() for plot_char() (#948)Albrecht Schlosser
- Add 'int Fl_Terminal::handle_unknown_char(int drow, int dcol)' to write the "unknown" character to the intended display position. - Define Fl_Terminal::unknown_char as a static variable to avoid redundancy. In the future this might be overridden by users.
2024-04-06Rename putchar() to plot_char() (#944)Greg Ercolano
Some old platforms (NetBSD, AIX) implement the common stdio "putchar()" function as a global macro which poisons the global namespace, preventing all C and C++ programs from using "putchar()" as a function or method. There was a long thread about this in fltk.coredev during the period Mar 25 2024 ~ Apr 4 2024, subject "RFC: Fl_Terminal::putchar() in public API" as to why we have no choice but to not use putchar() as a method name.
2024-03-12Make Fl_Terminal selection_text() methods publicGreg Ercolano
As per Albrecht's request on fltk.coredev..
2024-03-06Add horizontal scrollbar to Terminal widget (#928)Albrecht Schlosser
* Checkpoint. Basic functionality seems to be working. * Code cleanup * Added horizontal scrollbar to Terminal widget * Fix hscrollbar_size operation * Applied erco-terminal-mods_v5_final.patch.txt Final patch relating to PR 918 * Remove trailing whitespace, update copyright year --------- Co-authored-by: Jonathan Griffitts <jonathan.griffitts@gmail.com> Co-authored-by: Greg Ercolano <erco@seriss.com> Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2024-03-02Added Fl_Terminal::text() and docsGreg Ercolano
2024-02-18Fix Terminal character position and add word selection (#906)Matthias Melcher
* Improve horizontal interactive selection * Using half-character positions to implement selection similar to Fl_Input. * Add word and line selection * Fix vertical position of text
2024-02-17Clear screen also clears attributes/xterm modes (#911)Greg Ercolano
Clear was setting characters to a space using the current style, but if the style left Dim/Bold/Inverse (etc) enabled, that was being used to affect the clear character, and thus affected clearing screen. Seems weird tho; what if one wants to do a cleol (\033[K) on a screen that is all inverted text; is there no way to use inverse mode for clearing to the end of line? Or to delete a character?
2024-02-16Fixed Fl_Terminal xterm color 39/49 handling, and other mods.Greg Ercolano
Fixed a bug in the handling of xterm color 39 + 49, which avoids applying Dim/Bold if default color is the special "see through" color 0xffffff00. A test will be added to test/terminal to excercise this in a follow up commit. Renamed CharStyle::?gcolor_uchar() -> CharStyle::?gcolor_xterm() for a consistent naming convention. Changed fltk_fg_color() from a static func to a CharStyle method because it needs to access the defaultcolor for the special cases for xterm colors 39 and 49. Made CharStyle::attr_color() private, as per Jonathan Griffitts request in issue #909. Improved docs regarding effects of Dim/Bold for xterm and non-xterm color methods. Fl_Terminal::text?gcolor_xterm() methods now use CharStyle::?gcolor_xterm() methods, removing the duplicate code logic.
2024-02-16Fix Fl_Terminal xterm CharStyle charflags (#909)Greg Ercolano
2024-01-15Small code fixupsGreg Ercolano
> Enabled -Wall -Wextra -Wpedantic to catch errors - Silenced resulting "unused parameters" warnings - Fixed char omission in protected Fl_Terminal::insert_char() methods > Self doc code and better comments in RingBuffer::resize() > Changed private RingBuffer::clear_disp_row() -> clear_disp_rows() > Added private RingBuffer::hist_rows()/disp_rows() setter methods > Added private RingBuffer::offset_adjust() method for adjusting RingBuffer offset_ > Fixed comment typos > Remove white space inside outer parens of while()/if()/etc
2024-01-10Add textattrib() get method+docsGreg Ercolano
Requested by Jonathan Griffitts during rust bindings.
2023-11-29solve issue 853: make scrollbar publicGreg Ercolano
2023-11-25Fl_Terminal better name for flags -> charflagsGreg Ercolano
2023-11-23Added safety when calling Text_Display methodsMatthias Melcher
- before assigning a buffer (Github #845) - also fixed a warning form unused arg in Fl_Terminal
2023-11-22Make new handle_lf/cr methods privateGreg Ercolano
2023-11-21Fl_Terminal docs: Added some tablesGreg Ercolano
2023-11-21Added output_translate(): controls lf -> crlf translationGreg Ercolano
2023-11-21Fl_Terminal docs for fg/bg colorsGreg Ercolano
2023-11-20Solve issue 837, doc some protected methods.Greg Ercolano
2023-11-19Doc all pub/prot members, remove unused, add todoGreg Ercolano
- Made sure all public+protected members are documented. - Reclassified some private -> protected: > vscroll_width() - Removed signatures for unimplemented (non-existant) methods: > u8c_cursor(void) > history_use(int,bool) > cursor_h() - Reclassified some protected -> private: > x_to_glob_col() > xy_to_glob_rowcol() > is_hist_ring_row() > is_disp_ring_row() > handle_ctrl() > is_printable() > is_ctrl() ..etc.. > handle_selection_autoscroll() > handle_selection() > is_redraw_style - Add todo for ESC 7 and ESC 8 - Small code formatting mods - Small typos
2023-11-19Fix compiler warnings in Fl_Terminal on WindowsAlbrecht Schlosser
- missing FL_EXPORT: Visual Studio (dll) - missing include <stdarg.h>: MinGW
2023-11-17Apply two patches provided by user 'Andre' via mailAlbrecht Schlosser
1. add missing FL_EXPORT to class Fl_Terminal 2. add missing test/wizard demo to test/Makefile
2023-11-16Added clear(), some methods protected->publicGreg Ercolano
New public methods: void clear(void); void clear(Fl_Color val); old protected methods made public: void clear_screen(bool scroll_to_hist=true); // ESC [ 2 J void clear_screen_home(bool scroll_to_hist=true); // ESC [ H ESC [ 2 J void cursor_home(void); // ESC [ 0 H test/terminal modified to test these, and added separate tests for both the API and ANSI code ways to do these ops.
2023-11-14Added textcolor() and color(), doc fixes.Greg Ercolano
textcolor() needed for consistency, color() behavior documented. Both added to the test/terminal app. Elaborated on the special background "see through" color value + behavior, tested with color() in test/terminal app.
2023-11-14Fl_Terminal widget (#800)erco77
Pull Fl_Terminal widget from Greg's fork