summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-07-01Better handling of special case when scaling imageMatthias Melcher
When scaling image down by 2, 4, 8, etc., there is no sense in calling the bilinear scaling.
2025-06-30Improve bilinear image scaling below 50%Matthias Melcher
The original code can not scale well below 50%. To improve filtering in a fast way, huge images are scaled by powers of two before fine scaling using the original bilinear scale.
2025-06-19Fix Windows compile error from previous commit.MatthiasWM
2025-06-19Ensure that the 'awake' pipe does not overflow (#1263)Matthias Melcher
2025-06-19Update Fl::await() and friends API and documentationMatthias Melcher
This creates the base for #1263, but does not fix it yet.
2025-06-11Fix in window titlebar capture to support macOS 26 TahoeManoloFLTK
2025-06-10Fix "Selecting menus from the menubar under Wayland when in fullscreen" (#1264)ManoloFLTK
2025-06-06Fix usage of 'volatile' in src/Fl_JPEG_Image.cxx (#1207)Albrecht Schlosser
- allocate a new struct 'load_stat' on the heap - use struct load_stat to open image file (fp) and for error counters The previous fix of #1207 unfortunately decremented volatile variables which caused (plausible) compiler warnings by clang.
2025-06-05Restore building for Linux w/o cairo and w/o xftManoloFLTK
2025-06-05Fix several compiler warnings [-Wextra-semi]Albrecht Schlosser
Example: warning: extra ‘;’ after in-class function definition [-Wextra-semi] Also: replace 'FL_OVERRIDE' with 'override' in all modified files
2025-06-03macOS: protect uses of __block by #if defined(__BLOCKS__) conditionManoloFLTK
2025-06-03Add build option FLTK_USE_DBUS to allow build w/o dbus (PR #1252)ManoloFLTK
Thanks to @lanodan for most of the source code.
2025-06-03Restore use of build option FLTK_USE_POLLManoloFLTK
2025-05-30Fix for #1260 - part 4: fix when menu button is in subwindow under WaylandManoloFLTK
2025-05-30Fix for #1260 - part3: fix exploration of menu button window under WaylandManoloFLTK
2025-05-30Fix for #1260 - part2: improve position of menu button window under WaylandManoloFLTK
2025-05-29Wayland: fix "A flag to set how menus should show up" (#1260)ManoloFLTK
2025-05-28Fix usage of FLTK_BACKEND_WAYLAND and FLTK_USE_WAYLANDAlbrecht Schlosser
- Do not change or remove the cache variable FLTK_BACKEND_WAYLAND: this is an option set (and must only be changed) by the user. - CMake/options.cmake: check Wayland availability if option FLTK_BACKEND_WAYLAND is ON and set the result variable FLTK_USE_WAYLAND accordingly. - Replace FLTK_BACKEND_WAYLAND with FLTK_USE_WAYLAND everywhere else, except as noted above: in options.cmake.
2025-05-21Add change necessary to support new class Fl_Native_Input, possibly as addonManoloFLTK
The added if() statement's condition is always false in FLTK before addition to it of class Fl_Native_Input. Therefore, the present modification is effectless unless this new class is added to the library, either in its core or as an addon.
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-11Remove obsolete class Fl_StringAlbrecht Schlosser
Note: it's still in branch-1.4 and in git history for reference
2025-05-11Set default DPI to 300 in fl_write_pngMatthias Melcher
Previously, the DPI value was completely random, resulting in some interesting scaling when reading the png in other apps.
2025-05-11Fix address sanitizer exception for macOS native file chooserMatthias Melcher
The `memcmp` call would crash in Adress sanitizer if the memory compare would run into an undefined buffer. `memcmp` is not guaranteed to stop reading a buffer if a difference is found.
2025-05-10Wayland: remove crash when resizing hidden subwindowManoloFLTK
2025-05-09Fl_Terminal doc fixes, private->protected for utf8_char_at_*()Greg Ercolano
2025-05-09Fix erroneous #include directiveManoloFLTK
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-04-18Remove unused code from Fl_Wayland_Window_Driver (#1248)Albrecht Schlosser
This commit removes the unused static method Fl_Wayland_Window_Driver::resize_after_screen_change(void *data) and related data as discussed in the context of PR #1248.
2025-04-18Fix "heap-use-after-free" in resize_after_screen_change() (#1248)Timothy Lee
When a native window is destroyed, make sure the callback to Fl_WinAPI_Window_Driver::resize_after_screen_change() is removed. Added by Albrecht-S: Thanks for the original fix to Timothy Lee (@timothytylee). src/drivers/X11/Fl_X11_Window_Driver.cxx: equivalent fix for X11 as discussed on GitHub PR #1248
2025-04-05Fixes error: two consecutive '[' tokens on g++ with objcpp files (#1246)Mohammed Alyousef
Applying MoAlyousef's PR. -erco
2025-04-04Remove reference to 'configure', fix typosAlbrecht Schlosser
Note: this file is not used in normal compilation, it can be used to help debugging. I'm not sure if it's still helpful, but anyway...
2025-04-03Remove redundant Fl_Group::clear() from ~Fl_Scroll()Albrecht Schlosser
Fl_Group::clear() is called in Fl_Group's d'tor anyway. Technically we don't need to remove hscrollbar and scrollbar because they are destroyed (and thus removed from Fl_Group) before Fl_Group's d'tor is executed but this is left for clarity and to guarantee the order (see comment).
2025-04-03Fix "Minor drawing artifact at scale 200% under X11 session" (#1243)ManoloFLTK
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-30Fixes a couple of compiler warnings on AppleClang.Matthias Melcher
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-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-27Remove reference to 'configure' from commentAlbrecht Schlosser
Explain details of the mentioned 'hack' referring to and citing parts of the original commit log.
2025-03-25Fix: Windows: Clipboard gets stuck when text is copied while window is ↵ManoloFLTK
hidden (#1233)
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-19Fix "FLTK apps broken under LabWC compositor" (#1231)ManoloFLTK
2025-03-18Wayland: improve support of screen removal while FLTK runsManoloFLTK
2025-03-18Wayland: fix unsetting fullscreen state for window created fullscreenManoloFLTK
In some multi-screen settings, the un-fullscreened window would leave its screen but would not enter any screen.
2025-03-18Fix "Inconsistent FL_FULLSCREEN when creating full-screen window" (#1225)ManoloFLTK
The commit has all platforms send the FL_FULLSCREEN event when a window is created fullscreen.
2025-03-17Fix comparison that's always trueAlbrecht Schlosser
... because base_dir[0] and dest_dir[0] are *signed* chars.
2025-03-17Windows: fix "heap-use-after-free" in home_directory_name()Albrecht Schlosser
Calling getenv() twice with different output vars and accessing both later could cause "heap-use-after-free" error in some Windows versions. The result of home_directory_name() would be unpredictable. Found using Wine and/or MSYS2/clang/libc++ with Address Sanitizer.
2025-03-17Wayland: improve support of addition/removal of displays while FLTK runsManoloFLTK
2025-03-17Wayland: compute work area size under MUTTER or when single displayManoloFLTK