summaryrefslogtreecommitdiff
path: root/FL
AgeCommit message (Collapse)Author
2025-05-14Fl_Window::free_position() must not be deprecatedAlbrecht Schlosser
This method was erroneously declared 'deprecated' in previous versions. However, this method is public and calls the *protected* method Fl_Window::force_position(). Therefore it is kept as a regular public method.
2025-05-14Fix doxygen warningsAlbrecht Schlosser
1. src/Fl_add_idle.cxx: add missing parameter docs 2. FL/fl_draw.H: rename 1st parameter of fl_draw_pixmap(...) from 'data' to 'cdata'. The 2nd warning appears to be caused by a 'friend' declaration in FL/Fl_Graphics_Driver.H, line 98: 'friend FL_EXPORT int fl_draw_pixmap(const char*const* cdata, ...)' This 'friend' declaration seems to "confuse" some (newer?) doxygen versions, definitely doxygen 1.13.2.
2025-05-13Remove deprecated function Fl::set_idle()Albrecht Schlosser
This turned out to be more complicated than just to delete a function because it was used internally, and the callback signatures were a bit flaky. I also added a lot of documentation to clarify matters. FL/Fl.H: document idle callback signatures, make some internal functions of class Fl private, add public Fl::idle() accessor (read- only), add Fl::add_idle(Fl_Old_Idle_Handler cb) to enable using old-style idle callbacks w/o 'data' argument. FL/forms.H: replace Fl::set_idle() with Fl::add_idle(). src/Fl.cxx: rename private Fl::idle_ with trailing underscore. src/Fl_System_Driver.cxx: use new public accessor Fl::idle() to access Fl::idle_ which is now private. src/Fl_add_idle.cxx: improve documentation, clarify idle callback matching, add example code in docs, rename methods, add overloaded Fl::add_idle(Fl_Old_Idle_Handler cb). src/Fl_win32.cxx: use public Fl::idle() rather than private member. src/drivers/Unix/Fl_Unix_System_Driver.cxx: same as above. src/Fl_cocoa.mm: same as above.
2025-05-11Fix unused parameterMatthias Melcher
2025-05-09Fl_Terminal doc fixes, private->protected for utf8_char_at_*()Greg Ercolano
2025-05-09Remove declaration of Fl_Scalable_Graphics_Driver from FL/Fl_Graphics_Driver.HManoloFLTK
and declare it in non-public header src/Fl_Scalable_Graphics_Driver.H which also declares classes Fl_Font_Descriptor and Fl_Fontdesc.
2025-05-06Remove hardcoded version numbers: part 1Albrecht Schlosser
The goal is to change the version number for a new release only in CMakeLists.txt. This is the first step. Details: - CMake/gen_config.cmake: this new file is included to generate the header files config.h (private, root directory), and FL/fl_config.h (public, can be installed). This file implements also ABI version checks (removed from FL/Enumerations.H and with more checks). Warnings are issued if the chosen ABI version is invalid. - CMake/export.cmake: code to generate 'config.h' was moved to CMake/gen_config.cmake. - CMake/options.cmake: set default of FLTK_BUILD_FORMS=OFF + comments - CMakeLists.txt: move generation of FL/fl_config.h to gen_config.cmake, add API and ABI versions to CMake summary, - FL/Enumerations.H: remove most of the version number details which are now included in FL/fl_config.h. This needed also some doxygen related changes. - README.CMake.txt: improve docs of FL_ABI_VERSION and some more. Reflect the new default of CMake option FLTK_BUILD_FORMS (OFF). - documentation/Doxyfile.in: add FL/fl_config.h to file list. This file is created in the build tree (and may be "installed"). - fl_config.h.in: add version number details that have been moved here from Enumerations.H (used to generate FL/fl_config.h).
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.
2025-04-01Adding the FL_MENU_CHATTY flag to Fl_Menu_Item.Matthias Melcher
If set, menu items will also call the callback when highlighting changes. The reason is given with Fl::callback_reason(). #941
2025-03-29Adding `FL_BEFORE_MENU` event to classes derived from `Fl_Menu_`Matthias Melcher
2025-03-29Adds a new event FL_TOOLTIP_EVENT...Matthias Melcher
... and Fl_Tootip::override_text() to allow users to dynamically generate tooltips.
2025-03-29Allow FL_ABI_VERSION = FL_API_VERSION + 1Albrecht Schlosser
... so users can enable ABI features designated for the *next* release when using FLTK from Git (or snapshots) before the API version has been raised for that release.
2025-03-28Changed two connector methods to virtualGreg Ercolano
For reference, see fltk.general thread started Mar 26 2025, entitled: "Make some Fl_Tree_Item methods virtual?"
2025-03-19Remove obsolete build option 'FLTK_OPTION_STD'Albrecht Schlosser
This option is no longer needed since FLTK 1.5 always requires C++11.
2025-03-16Remove libfltk_cairo (fltk::cairo)Albrecht Schlosser
This library is no longer needed and was "empty" for backwards compatibility since FLTK 1.4.0.
2025-03-07Making fl_filename_... public for std::string.Matthias Melcher
New functions append "_str" to the function name to avoid ambiguities when calling them. So 'char *fl_filename_name(const char *)' becomes 'std::string fl_filename_name_str(const std::string &)'
2025-03-07Fl_String is now just an alias for std::string.Matthias Melcher
All mentions of Fl_String will be replaced with std::string and the Fl_String implementation will be removed.
2025-03-06Define FL_OVERRIDE unconditionally as 'override'Albrecht Schlosser
FLTK 1.5 requires at least C++11, hence we can always use 'override'. To do: the FL_OVERRIDE macro can be replaced by 'override' everywhere in the FLTK code. There are more than 2400 occurrences and this would be a large commit. Therefore it's not done right now... Note: user code may continue to use FL_OVERRIDE.
2025-03-06Fl_Group: convert array of children to std::vectorAlbrecht Schlosser
Note: this is only a hidden implementation detail: all concerned variables are private, and the code is simplified (less error prone). Size of Fl_Group on 64-bit Linux: 168 -> 176 Bytes (+8 Bytes). test/group.cxx: test for Fl_Group::{add, insert, remove} etc.
2025-03-06Update version numbers to 1.5.0Albrecht Schlosser
2025-03-06Remove autotools (configure/make) supportAlbrecht Schlosser
2025-03-04Fix "Windows: dotted lines may be drawn solid when GUI is rescaled" (#1214)ManoloFLTK
2025-02-21Bump version numbers to 1.4.2Albrecht Schlosser
2025-01-29Improve documentation of Fl_Box constructors (#1194)Albrecht Schlosser
Separate both constructor types and document parameters.
2025-01-16Improve and reorder Fl_Tabs documentationAlbrecht Schlosser
Note: this also removes the (not working) suggestion to add an invisible box to an Fl_Scroll-type child of Fl_Tabs.
2025-01-15Document issues with Fl_Scroll as children of Fl_Tabs (#1175)Albrecht Schlosser
Unfortunately this *appears* to be a new constraint caused by the great new features of Fl_Tabs like overflow handling etc. and fixing drawing issues in the tab area (since FLTK 1.4). However, this conflict has already been there in 1.3 but didn't cause visual artifacts in normal use.
2025-01-15Fix typos in documentation of Fl_TabsAlbrecht Schlosser
2025-01-14Fix return value of Fl_Table_Row::row_selected(int) (PR #1187)Albrecht Schlosser
As discussed in the context of PR #1187 the previous return value '-1' was misleading and undocumented. The docs mentioned only '1' and '0'. User code that used the return value as documented (like a `bool`) would make the wrong decision if the return value was '-1': true (selected) instead false (out of range). This commit fixes the code by doing what the docs define and clarifies the documentation. Further documentation improvements of Fl_Table (example code used a method that is not defined in Fl_Table) and of Fl_Table_Row are included as well. Doxygen docs of two methods of Fl_Table_Row moved to the .cxx file where they belong according to the CMP.
2025-01-03Add Fl_Valuator destructor.Matthias Melcher
This is required by Swig to generate code for wrapping FLTK for Python and potentially other languages. It has no impact on the API or ABI.
2025-01-02Remove duplication and typo in documentation of Fl::copy()ManoloFLTK
2024-12-12Put ABI breaking changes under ABI guards (#1139)Albrecht Schlosser
This reverts the improvement of #1139 in the default build which is now only available with FL_ABI_VERSION=10401 or higher. Users that need this improvement need to build with the required ABI version by setting it with configure or CMake.
2024-12-09Update Fluid (.fl) files for release 1.4.1Albrecht Schlosser
2024-12-09Bump version numbers for release 1.4.1Albrecht Schlosser
To do: update CHANGES.txt with real info.
2024-12-07Giving access to some Fl_Text_Display member variables (#1153)Matthias Melcher
And typos in FLUID source code docs.
2024-11-27Add missing FL_EXPORT qualifierManoloFLTK
2024-11-27Restore pixmap drawing under X11-noCairo broken by 0952d59ManoloFLTK
2024-11-24Fix compiler warning (g++ 14) [-Wstringop-overflow]Albrecht Schlosser
New compiler warning detected by g++ 14.2.0 building with CMake in Release mode. This *temporary* fix suppresses the warning but uses even larger fixed size buffers. Todo: these nasty warnings caused by using fixed buffer sizes should be removed by using std::string in FLTK 1.5.0.
2024-11-23Increase clipping stack size (#1139)Albrecht Schlosser
2024-11-20Fix fl_draw_image sometimes crashes when window is scaled - cont'd (#1134)ManoloFLTK
2024-11-19Add 2 other missing FL_EXPORT qualifiersManoloFLTK
2024-11-19Add 2 missing FL_EXPORT qualifiersManoloFLTK
2024-11-19 Fix fl_draw_image sometimes crashes when window is scaled (#1134)ManoloFLTK
2024-11-12 Fix for Windows and X11: Rounding issues with Fl_RGB_Image::draw() (#1120)ManoloFLTK
2024-11-04Undo 6f6a375 that does not properly support macOS SDK 15.x (#1103)ManoloFLTK
2024-11-03Recent macOS SDKs badly define MAC_OS_X_VERSION_MAX_ALLOWEDManoloFLTK
and the correct information is in __MAC_OS_X_VERSION_MAX_ALLOWED
2024-11-01Improve and clarify documentationAlbrecht Schlosser
2024-11-01Wayland: Fix issue in maximization of a borderless window (#1099)ManoloFLTK
Also fixes scenarios mixing fullscreen and maximization: - maximize - set fullscreen - unset fullscreen - un-maximize with and without window border.
2024-10-30Make Fl_Window::flush() public for consistency with subclassesAlbrecht Schlosser
... as discussed on fltk.general recently Note: this method was already public in all subclasses of Fl_Window.
2024-10-25Add range check to Fl_Group::child(int)Albrecht Schlosser
Returns NULL if n is out of range to prevent accessing undefined memory.
2024-10-19Remove FL_MENU_RESERVED bit mask in favor of better documentationAlbrecht Schlosser
This bit mask was added in commit 53b40f4138e70e44 in an attempt to *document* reserved bits but it turned out that this mask could have negative side effects on some newer compilers by propagating the enum to an 'unsigned int' and issuing compiler warnings. See this comment and follow-up's in fltk.general: https://groups.google.com/g/fltkgeneral/c/7xrDkbkxiyw/m/rzEIJ7XhAgAJ