summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-03-16Fluid: restructuring and rejuvenation of the source code.Matthias Melcher
* Add classes for application and project * Removed all globals from Fluid.h * Extracting args and project history into their own classes * Moving globals into Application class * Initialize values inside headers for some classes. * Undo functionality wrapped in a class inside Project. * File reader and writer are now linked to a project. * Avoid global project access * Nodes (former Types) will be managed by a new Tree class. * Removed static members (hidden globals) form Node/Fl_Type. * Adding Tree iterator. * Use nullptr instead of 0, NULL, or 0L * Renamed Fl_..._Type to ..._Node, FL_OVERRIDE -> override * Renaming ..._type to ...::prototype * Splitting Widget Panel into multiple files. * Moved callback code into widget panel file. * Cleaning up Fluid_Image -> Image_asset * Moving Fd_Snap_Action into new namespace fld::app::Snap_Action etc. * Moved mergeback into proj folder. * `enum ID` is now `enum class Type`.
2025-03-16Fix font termination bug from 2e1730d2f0f1 (#1221)Albrecht Schlosser
See also #1223, and thanks to Gonzalo for finding it.
2025-03-15Fix potential buffer overflow on Windows when loading fonts (#1221)Albrecht Schlosser
This commit is bigger than necessary to fix the buffer allocation but it also prevents some unnecessary string copies: the font name is converted from UTF-16 to UTF-8 directly in the buffer used later. Code reformatted and clarified as well, some duplicated code was removed.
2025-03-14Wayland: simplify handling of tall menu windowsManoloFLTK
2025-03-13Improve support of screen addition/removal while FLTK runsManoloFLTK
2025-03-12Restore support of the sway compositor destroyed by 9b5d40aManoloFLTK
2025-03-12Under KDE V6 and Wayland, handling of taller-than-display menu windows fails ↵ManoloFLTK
(#1216)
2025-03-11Fix "Wayland: Huge menu hiding unexpectedly when moving a mouse (#1115)ManoloFLTK
This commit also computes work-area size for single-display settings.
2025-03-10Fix handling of menu widnows taller than their screenManoloFLTK
A problem was visible with the menubar test app and a 2-screen system where screens are one above the other. When moving down the huge menu, it became positioned on the wrong screen.
2025-03-08Update README and configure related stuff for 1.5.0Albrecht Schlosser
- remove configure stuff from more README files - move documentation/README.txt to README.documentation.txt
2025-03-08Add Fl_Darwin_System_Driver::filename_relative()ManoloFLTK
This removes the last instance in FLTK of use of #if __APPLE__ instead of the driver mechanism.
2025-03-08Remove warning sent by Doxygen about too many #endifManoloFLTK
2025-03-08Remove 'configure' from README's and sources (partially)Albrecht Schlosser
More to come...
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-07Remove platform-specific code from file cp936ext.hManoloFLTK
2025-03-07Fixing error where std::string could be assigned NULL'Matthias Melcher
2025-03-07Fix "fltk autotools build does not link against libXft" (#1202)ManoloFLTK
libXft was erroneously present in the link command when using Pango and Cairo. This is fixed by disconnecting the GUI scaling code from use of Xft. This commit also makes sure that when Wayland is used, pkg-config is available on the build machine. This allows to remove from file CMake/options.cmake code that was labelled with "FIXME".
2025-03-07Removes the remaining references to Fl_String.Matthias Melcher
Still to do: rename fl_filename... to fl_filename..._str and introduce into core library.
2025-03-07Fixing a couple of warnings.Matthias Melcher
2025-03-07One more FL_String::apend fix,Matthias Melcher
2025-03-07Replce Fl_String in Fluid with std::string.Matthias Melcher
Also fix for Linux.
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-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-24Remove deprecated, commented-out code.ManoloFLTK
This code was used in the past to support a deprecated way to obtain the initial value of the GUI scaling factor for the X11 platform.
2025-02-22Fix "Fl_RGB_Image::draw() seg faults when offset is too big" - cont'd (#1211)ManoloFLTK
2025-02-22Fix "Fl_RGB_Image::draw() seg faults when offset is too big" (#1211)ManoloFLTK
2025-02-21Fix "Wayland: resizing window may crash the program" (#1210)ManoloFLTK
2025-02-21Update dependenciesAlbrecht Schlosser
2025-02-21Bump version numbers to 1.4.2Albrecht Schlosser
2025-02-21Fix copyright, a typo, and remaining casts (#1207)Albrecht Schlosser
make remaining casts consistent with other casts of the same variables
2025-02-20Fix "Fl_JPEG_Image infinite longjmp loop on Mac release builds" (#1207)ManoloFLTK
2025-02-08Make Fl_Cocoa_Gl_Window_Driver::capture_gl_rectangle() return a depth-4 imageManoloFLTK
This change allows to capture the rounded corners of a top-level GL window. Also, rename Fl_Cocoa_Window_Driver::capture_decorated_window_10_5() from capture_decorated_window_10_6() because this function uses CGWindowListCreateImageFromArray() available from macOS 10.5.
2025-02-06fix macOS Sonoma/Sequoia not capturing OpenGL text on macOS - cont'd (#1197ManoloFLTK
2025-02-06fix "macOS Sonoma/Sequoia not capturing OpenGL 1 text on macOS" (#1197)ManoloFLTK
2025-02-05macOS: restore building with SDK versions between 10.7 and 10.11ManoloFLTK
2025-02-05Fix typos and trailing whitespaceAlbrecht Schlosser
Also replace 'MSWindows' with 'Windows' where appropriate, leaving only old documents like README files from 1.3 and older as-is.
2025-02-04macOS: fix when fullscreen window looses and regains focus with SDK 10.6 (#1192)ManoloFLTK
2025-02-03macOS: Restore fullscreen window mode when using SDK < 10.7 (#1192)ManoloFLTK
2025-02-03macOS: fix transition from single-screen fullscreen to "All Screens" fullscreenManoloFLTK
2025-02-03Avoid code repetitions among Fl_{X11_}Window_Driver::{un_}maximize() functionsManoloFLTK
2025-02-01Fix potential buffer overflow in Fl_Help_View (#1196)Albrecht Schlosser
2025-01-30macOS: add support of showing window to multi-screen fullscreen stateManoloFLTK
2025-01-30macOS: Fix "Full screen broken on macOS in FLTK 1.3.10 (regression)" (#1192)ManoloFLTK
FLTK now supports 2 types of fullscreen modes under macOS: 1) normal macOS fullscreen mode where the menubar and titlebar appear when mouse is moved to top of screen and the window covers one screen only; 2) multiple-screen mode that requires calling Fl_Window::fullscreen_screens() before. This commit fixes all possible transitions between these fullscreen modes and normal window mode.
2025-01-27CMake: fix include directories of bundled image libsAlbrecht Schlosser
If FLTK has been built with bundled image libs the include directory of the *installed* library headers is 'FL/images' relative to the normal 'include' directory. The CMake property "include_directories" is now added to the installed fltk_images library so it is used when building user programs with bundled image libs.
2025-01-26Refrain static function capture_decorated_window_SCK() from capturing the cursorManoloFLTK
2025-01-24Same effect as a49b5ea with less lines of codeManoloFLTK
2025-01-24Fix "Wayland: redrawing of a surface may fail if a subsurface is being ↵ManoloFLTK
moved" (#1191) This commit adds support of scenarios where a child window is moved while its parent is simultaneously modified.