summaryrefslogtreecommitdiff
path: root/FL
AgeCommit message (Collapse)Author
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-04-05Fix documentation example of the FL_FUNCTION_CALLBACK_#() macroManoloFLTK
2024-04-04Fix compiler warning, part 2 of #946Albrecht Schlosser
2024-04-04Fix compiler warning, part 1 of #946Albrecht Schlosser
2024-04-02Improve support for NetBSD (#944)Albrecht Schlosser
- fix gcc version check for FL_DEPRECATED macro - fix #include for select() on NetBSD < 3.0 (#944) For more info please see GitHub Issue #944
2024-03-20Use type cairo_region_t* for Fl_Region under Wayland platformManoloFLTK
2024-03-19Update dependencies, whitespace, and Fl_File_Chooser.cxxAlbrecht Schlosser
Rewrite src/Fl_File_Chooser.cxx from its .fl source file
2024-03-18Add more public accessor methods to Fl_Grid (#937)Albrecht Schlosser
Some of these accessor methods should be private so they can't be used by user code but - due to compiler issues - they must be public for HP-UX 11.11 (for details see GitHub Issue #937).
2024-03-15Fix a bunch of compiler warnings, particularly for old compilersAlbrecht Schlosser
Works now much better with old C99 and C++98 standard compilers. Fixed: C++ comments in C files and headers included by C files. There are still some warnings with C90 though but these would be hard to fix and left as-is for now. test/fractals.cxx: some arrays were too small by 1, or the compiler warned at least (false positive?). Anyway, it's fixed now.
2024-03-12Make Fl_Terminal selection_text() methods publicGreg Ercolano
As per Albrecht's request on fltk.coredev..
2024-03-09Add key name FL_Alt_Gr for AltGr on international keyboardsAlbrecht Schlosser
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-03Update doc about Ctrl/+/-/0/ zoom shortcutsManoloFLTK
2024-03-02Added Fl_Terminal::text() and docsGreg Ercolano
2024-03-02Promote fl_strlcpy to <FL/fl_string_functions.h>Matthias Melcher
2024-03-02Add OPTION_SIMPLE_ZOOM_SHORTCUT to fine tune zoom-in shortcutManoloFLTK
2024-02-27Improve prioritization of event handlers added at open display timeManoloFLTK
2024-02-21 Fix: fl_height(int, int) decreases the font size after each call (#915)ManoloFLTK
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-02-07Introduce "Modern CMake" in FLTKAlbrecht Schlosser
This is a big commit and there are too many changes to list them all. The main changes are: - rename all CMake build options to 'FLTK_*' - export library targets with namespace (prefix) 'fltk::' - standardize shared library target names with suffix '-shared' - set public build properties on libraries for consumers - document library names and aliases in README.CMake.txt - document changes in "Migrating Code from FLTK 1.3 to 1.4" - partial backwards compatibility for old user projects Included but not directly related changes: - fix Windows (Visual Studio) DLL build - add CMake function fl_debug_target() to show target properties - don't build test programs if FLTK is a subproject - internal: reformat CMake code: remove space before '(' Thanks to Matthias and Manolo for their help, testing, and feeback.
2024-02-05Fl_Window_Driver::set_popup_window(), ↵ManoloFLTK
Fl_Screen_Driver::screen_boundaries_known() Fl_Window_Driver::set_popup_window() is to be used to declare a window should be positioned relatively to a previously mapped other window. This allows a platform to process such windows differently from other windows if needed. Menu and tooltip windows are so declared. A call to Fl_Window_Driver::set_popup_window() also allows to distinguish a real menu or tooltip window from a window marked by Fl_Window::set_menu_window() or by Fl_Window::set_tooltip_window() but that's not a real menu or tooltip. New member function bool Fl_Screen_Driver::screen_boundaries_known() returns true by default. A platform where the position of windows inside a screen is hidden (e.g., Wayland) returns false. This allows FLTK to refrain from trying to make sure a computed position is inside a screen.
2024-01-31Improve documentation of Fl_Native_File_ChooserAlbrecht Schlosser
Document restrictions imposed by the new system file chooser dialogs, particularly by 'kdialog' and 'zenity' (Unix/X11/Wayland only).
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-14#887: Fixes FLTK file chooser not releasing preview image.Matthias Melcher
...when hidden
2024-01-13#887: Fixes Fl_Shared_Image reference countingMatthias Melcher
- adds documentation to all calls - changes implementation details on ::copy() and copy(w,h)
2024-01-10Add textattrib() get method+docsGreg Ercolano
Requested by Jonathan Griffitts during rust bindings.
2024-01-06Remove Fl_Simple_Terminal (replaced by Fl_Terminal)Albrecht Schlosser
... as discussed previously.
2024-01-06Fix typoAlbrecht Schlosser
2023-12-23Improve docs and add two new Fl_Menu_Item methods (#875)Albrecht Schlosser
This addresses some issues pointed out by GitHub Issue #875. Documentation lacked details about Fl_Multi_Label assignment and correct memory handling. The new methods - Fl_Menu_Item::image_label(const Fl_Image *) and - Fl_Menu_Item::multi_label(const Fl_Multi_Label *) provide a cleaner interface to assign images and Fl_Multi_Label's to menu items. examples/howto-menu-with-images.cxx: carify some issues, fix leak, and use new Fl_Menu_Item::multi_label(const Fl_Multi_Label *).
2023-12-22A more cross-platform way to fix issue #876ManoloFLTK
2023-12-21Fix a typo, trailing whitespace, and dependenciesAlbrecht Schlosser
2023-12-20Make the 'Forms' compatibility library 'fltk_forms' optionalAlbrecht Schlosser
This library is no longer needed in FLTK itself. There is only one demo program (test/forms.cxx) that uses it if it is built. The demo program displays a message if fltk_forms is not available. The default is 'enabled' for backwards compatibility but this may be changed to 'disabled' in a future version.
2023-12-19Remove typos in the documentation of fl_x11_use_display()ManoloFLTK
2023-12-19Procedure to instruct FLTK to use given X11 connexion (#149)ManoloFLTK
2023-12-13#862: Removes default shortcut from Fl_Shortcut_ButtonMatthias Melcher
- the current UI for fallback/default/original shortcut was confusing, so I remove it until we find something better. I kept the values so we can reinstate a better interface without changing the API.
2023-12-13Improve Fl_Tabs documentation (minor wording issue)Albrecht Schlosser
2023-12-12#188: Fixes Fl_Shared_Image ref count and find opMatthias Melcher
- ported froward from 1.3.9 - fixes ref count for original and other images - fixes binary search issues
2023-12-12Improve documentation of fl_strdup()ManoloFLTK
and add example of value of fl_mac_os_version.
2023-12-09Fl_Grid: Added show_grid(1) screenshotGreg Ercolano
2023-12-06Solve issue 856: manolo's parameter namesGreg Ercolano
2023-12-05#856: FLUID: improved Declaration dialogMatthias Melcher
Also makes enum comment in Fl_File_Chooser.fl manageable. Not backward compatible: don't try to recreate the File Chooser with older FLUID versions.
2023-12-04New member function Fl_Image_Surface::mask(Fl_RGB_Image*)ManoloFLTK
2023-12-03Solves issue #856: improve Fl_File_Chooser enum docsGreg Ercolano
2023-12-02Improve contrast of check marks and radio buttons (#443)Albrecht Schlosser
- add fl_draw_radio(...) to standardize radio button drawing - src/Fl_Light_Button.cxx: use fl_contrast() to determine color of radio button and check (light) button check marks, and use new fl_draw_radio() method - src/Fl_Menu.cxx: same as src/Fl_Light_Button.cxx and use fl_draw_check() instead of "manually" drawing the check mark (forgotten in an earlier update)
2023-11-29solve issue 853: make scrollbar publicGreg Ercolano
2023-11-29Add commandline conversion for Windows (no-op on other platforms)Albrecht Schlosser
- add Fl::args_to_utf8() to convert commandline arguments to UTF-8 This new function closes the gap that previously only Visual Studio applications converted their commandlines to UTF-8. Tested with MinGW, MSYS2/MinGW-w64, and Visual Studio (2019).
2023-11-29Change type of member variables Fl_Graphics_Driver::ascent + descentManoloFLTK
Type short is too small for Fl_Cairo_Graphics_Driver and font sizes ≥ 110.