summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-01-20STR 2894: pressed_menubutton_ now protected in Fl_Menu_ButtonMatthias Melcher
2023-01-20STR 2909: Fl_Tile now forwards FL_RELEASE event to childrenMatthias Melcher
2023-01-20STR 3408: Fl_Scroll draws background inactive if neededMatthias Melcher
2023-01-20STR 3461: fix menu linespacingMatthias Melcher
2023-01-16Wayland menus: support tall popup menu + Sway supportManoloFLTK
2023-01-16Wayland menus: support tall popup menuManoloFLTK
2023-01-16Fl_Chart: minor update and additional documentationAlbrecht Schlosser
Add forgotten parameter docs and some minor code fixes.
2023-01-15Improve deriving from Fl_Chart (STR 2022)Albrecht Schlosser
This commit makes the local, static drawing functions in the source file available for subclasses by converting them to static protected methods as requested by STR 2022. The source and header files have been reformatted according to the CMP, documentation for the new protected methods was added. Source code *functionality* has not been changed. This resolves and closes STR 2022. Todo: - investigate whether these drawing methods wouldn't better be member functions and "convert" them if applicable - investigate whether the internal struct FL_CHART_ENTRY could become a local part of the Fl_Chart class, maybe Fl_Chart::Entry. - rename private member variables with trailing underscore (see CMP)
2023-01-15Rename static member Fl_Wayland_Window_Driver::tall_popup to new_popupManoloFLTK
The new name reflects better the role of this bool member variable. Also, add explanatory comments about the use of this variable.
2023-01-14Extend commit a4b33f8 to other uses of function convert_crlf()ManoloFLTK
Helper function convert_crlf() from file fl_wayland_clipboard_dnd.cxx has been repaired by commit a4b33f8 (13 jan 2023). But the same function was also in file Fl_cocoa.mm. This commit moves the repaired code to class Fl_Screen_Driver and has both fl_wayland_clipboard_dnd.cxx and Fl_cocoa.mm use it.
2023-01-14Add missing initialisation after dynamic memory allocationManoloFLTK
2023-01-13Fix set_fonts() in Xlib/xft and Cairo Graphics_DriverAlbrecht Schlosser
src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx: - fix font_name_process() out of bounds memory access - unify/align font_name_process() code (see also Xlib/xft) - fix font name string allocation src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx - unify/align font_name_process() code (see also Cairo_Graphics) - fix font name string allocation Todo: move common code to Fl_Graphics_Driver or another common file.
2023-01-13Fix for "Rename Fl_X* Fl_Window::i private class member" (#223)ManoloFLTK
2023-01-13Wayland menus: add missing use of scaling factorManoloFLTK
2023-01-13Fix "alloc-dealloc-mismatch" in Fl_Native_File_Chooser_KdialogAlbrecht Schlosser
Error was reported by Address Sanitizer (ASAN) when picking a file. Platform: Unix/Linux. ==1734703==ERROR: AddressSanitizer: alloc-dealloc-mismatch (malloc vs operator delete []) on 0x607000108420 #0 0x7f3357d846ef in operator delete[](void*) ../../../../src/libsanitizer/asan/asan_new_delete.cc:168 #1 0x4e195f in Fl_Native_File_Chooser_Driver::strfree(char*) ../../src/Fl_Native_File_Chooser.cxx:262 ... 0x607000108420 is located 0 bytes inside of 66-byte region [0x607000108420,0x607000108462) allocated by thread T0 here: #0 0x7f3357d0a3ed in __interceptor_strdup ../../../../src/libsanitizer/asan/asan_interceptors.cc:445 #1 0x57951a in Fl_Kdialog_Native_File_Chooser_Driver::filter(char const*) ../../src/Fl_Native_File_Chooser_Kdialog.cxx:245 #2 0x4e14a0 in Fl_Native_File_Chooser::filter(char const*) ../../src/Fl_Native_File_Chooser.cxx:176
2023-01-13Wayland: Fix "heap-buffer-overflow" errorAlbrecht Schlosser
- replace strchr() with memchr() because buffer is not nul-terminated - fix '*(p+1)' potentially accessing memory out of bounds This fix also prevents - multiple memmove() calls - multiple searches from the beginning of the string
2023-01-13Improve debug output of Fl_StringAlbrecht Schlosser
- add newline (\n) before string output - remove quotes (')
2023-01-13 Fix for "Screen resolution change (win32)" (#651)ManoloFLTK
2023-01-12Wayland Fix "Error "heap-use-after-free" when scaling twice" (#650)ManoloFLTK
2023-01-12Improve "Implementation note about menu windows under Wayland"ManoloFLTK
2023-01-12Add Fl_Scheme_Choice widget and use it in test programsAlbrecht Schlosser
This widget offers the selection of all known FLTK schemes as a simple widget based on Fl_Choice. Some test and demo programs use Fl_Scheme_Choice to enable the developer or user to switch schemes quickly for comparison. Todo: - add features to add new schemes during runtime (partially done) - update status when the scheme is changed by Fl::scheme("...")
2023-01-12Add the initial version of class Fl_SchemeAlbrecht Schlosser
This basic version of class Fl_Scheme contains only static methods that are needed for Fl_Scheme_Choice and further extensions.
2023-01-12New static member Fl_Window *Fl_Wayland_Window_Driver::previous_floatingtitleManoloFLTK
2023-01-12New static member bool Fl_Wayland_Window_Driver::tall_popupManoloFLTK
2023-01-12Remove repeated code in classes menuwindow and menutitleManoloFLTK
2023-01-12Remove useless #include directivesManoloFLTK
2023-01-12Simpler implementation of Fl_Window_Driver::scroll_to_selected_item()ManoloFLTK
2023-01-12Wayland menus: remove useless Fl_Window_Driver::extra_menutitle()ManoloFLTK
2023-01-12Fix buffer overflow in Fl_Tree_Item::show_self()Albrecht Schlosser
2023-01-11 Fix "Wayland: compilation warnings" (#649)ManoloFLTK
2023-01-11Fix "Long line crashes Fl_Hold_Browser" (#645)ManoloFLTK
This is in fact a regression introduced at commit be0f06e.
2023-01-11Wayland: Further improved implementation of menu windowsManoloFLTK
Tall menus now work also as single popup window and show the correct selected item. Groups of popups with a menutitle, an associated menuwindow, and possibly submenus are constructed around the menuwindow, the menutitle being a child popup of the menuwindow. This positions these popup groups better than before.
2023-01-11Fix ";" inadvertently written ","ManoloFLTK
2023-01-09Virtual member Fl_Window_Driver::makeWindow() now returns voidManoloFLTK
2023-01-09Wayland: Possibly better way to complete popup constructionManoloFLTK
2023-01-09 Doc only: fix for "Fl::awake() and Fl::add_timeout()" (#524)ManoloFLTK
2023-01-09Wayland: fix Fl::event_key(int)ManoloFLTK
2023-01-08FLUID: add drag'n'drop for images (#642)Matthias Melcher
FLUID dnd for desktop images into the design Documentation for fl_access
2023-01-08 Fix "Xrender blurs adjacent images with bilinear scaling" (#633)ManoloFLTK
Many thanks to @wcout for providing this fix. Xrender now draws images in the same way when tiling images or not when FL_RGB_SCALING_BILINEAR is on. This allows to remove static bool Fl_Tiled_Image::drawing_tiled_image() which becomes unused.
2023-01-08Wayland: Improved implementation of menu windowsManoloFLTK
2023-01-08Fix missing parameter documentationMatthias Melcher
2023-01-07Fix Fl_Spinner draw problem - closes #638Greg Ercolano
2023-01-07 Fix for "Shift-Ctrl-C shortcut in fluid not working on newer linux OS's" (#637)ManoloFLTK
2023-01-06X11: Optionally copy selection buffer to clipboard (STR 3229)Albrecht Schlosser
The new method Fl::selection_to_clipboard(int) enables copying selection data to the clipboard on X11 if it is set to 1. This feature was requested by STR 3229 and the implementation was inspired by an `xterm` feature named "Select to Clipboard" which can be enabled by 'ctrl + middle mouse button + "Select to Clipboard"' in an xterm window.
2023-01-05Add Fl_Tabs dragging in pulldown modeMatthias Melcher
2023-01-05Adding Fl::hide_all_windows()Matthias Melcher
2023-01-05Add close buttons for individual tabs in Fl_Tabs (#628)Matthias Melcher
Add close buttons for Fl_Tabs Introducing callback reasons FLUID shows all FL_WHEN_... options Adding Fl_Tabs overflow types Improved test/tabs to show new features
2023-01-05Refactor drawing small circles: add fl_draw_circle()Albrecht Schlosser
This method can be used to draw small circles as part of the GUI. It is independent of the current scheme. Very small circles are approximated by drawing several rectangles.
2023-01-04 Fix for "Fl_Native_File_Chooser_MAC.mm compilation warning" (#627)ManoloFLTK
2023-01-04Cairo/Pango: compute character widths fast and string widths accuratelyManoloFLTK
This commit has Fl_Cairo_Graphics_Driver compute string widths in 2 ways: 1) when the string contains several unicode characters, the width of the whole string is computed, accounting for kerning when it occurs; 2) when the string contains a single unicode character, its width is computed, memorised, and re-used next time it's necessary. The effect of this approach is - Fl_Text_Display is fast because it uses memorised single character widths repeatedly - Fl_Input is drawn accurately because the cursor position is determined by string widths, not by sums of character widths.