diff --git a/CHANGES.txt b/CHANGES.txt index 08de883c2..36c3c0031 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,24 @@ +Changes in FLTK 1.4.4 Released: XXX xx 2025 + + This is a maintenance release with improvements and fixes backported + from the current development branch 1.5 (master). + + --- TBD, see `git shortlog release-1.4.3..` --- + + + Bug Fixes + + + Other Improvements + + + CMake And Other Build Procedure Improvements + + + ABI changes (FL_ABI_VERSION >= 10403) + + + Changes in FLTK 1.4.3 Released: Apr 29 2025 FLTK 1.4.3 is a maintenance release with improvements and fixes backported diff --git a/CMakeLists.txt b/CMakeLists.txt index 1f0bbfabe..d397e0999 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,7 @@ cmake_minimum_required(VERSION 3.15.0 FATAL_ERROR) # define the FLTK project and version ####################################################################### -project(FLTK VERSION 1.4.3) +project(FLTK VERSION 1.4.4) ####################################################################### # include macro and function definitions for general usage diff --git a/FL/Enumerations.H b/FL/Enumerations.H index 074eb0f4d..5ea4ca3ce 100644 --- a/FL/Enumerations.H +++ b/FL/Enumerations.H @@ -37,7 +37,7 @@ # include // for FL_COMMAND and FL_CONTROL // Keep the following comment in sync with the values below for searching -// Current FLTK version: 1.4.3 +// Current FLTK version: 1.4.4 /** \name Version Numbers @@ -65,8 +65,10 @@ The patch version for this library. FLTK remains binary compatible between patches. + + Version: 1.4.4 */ -#define FL_PATCH_VERSION 3 +#define FL_PATCH_VERSION 4 /** The FLTK version number as a \em double. diff --git a/FL/Fl_File_Chooser.H b/FL/Fl_File_Chooser.H index 4e0185a3f..6a408fb04 100644 --- a/FL/Fl_File_Chooser.H +++ b/FL/Fl_File_Chooser.H @@ -21,7 +21,7 @@ // ======================================================================= // -// generated by Fast Light User Interface Designer (fluid) version 1.0403 +// generated by Fast Light User Interface Designer (fluid) version 1.0404 #ifndef Fl_File_Chooser_H #define Fl_File_Chooser_H diff --git a/FL/Fl_Help_Dialog.H b/FL/Fl_Help_Dialog.H index ae7b1191f..c51d628f6 100644 --- a/FL/Fl_Help_Dialog.H +++ b/FL/Fl_Help_Dialog.H @@ -21,7 +21,7 @@ // ======================================================================== // -// generated by Fast Light User Interface Designer (fluid) version 1.0403 +// generated by Fast Light User Interface Designer (fluid) version 1.0404 #ifndef Fl_Help_Dialog_H #define Fl_Help_Dialog_H diff --git a/README.txt b/README.txt index 1b685271e..a73e1a7e6 100644 --- a/README.txt +++ b/README.txt @@ -1,21 +1,21 @@ -README - Fast Light Tool Kit (FLTK) Version 1.4.3 -------------------------------------------------- +README - Fast Light Tool Kit (FLTK) Version 1.4.4 +-------------------------------------------------- -WHAT IS FLTK? +What is FLTK? - The Fast Light Tool Kit is a cross-platform C++ GUI toolkit for - UNIX®/Linux® (X11 or Wayland), Microsoft® Windows®, and macOS®. - FLTK provides modern GUI functionality without bloat and - supports 3D graphics via OpenGL® and its built-in GLUT - emulation. It was originally developed by Mr. Bill Spitzak - and is currently maintained by a small group of developers - across the world with a central repository on GitHub. + The Fast Light Tool Kit (FLTK) is a cross-platform C++ GUI toolkit + for UNIX®/Linux® (X11 or Wayland), Microsoft® Windows®, and macOS®. + FLTK provides modern GUI functionality without bloat and supports + 3D graphics via OpenGL® and its built-in GLUT emulation. + It was originally developed by Mr. Bill Spitzak and is currently + maintained by a small group of developers across the world with + a central repository on GitHub. https://www.fltk.org/ https://github.com/fltk/fltk/ -LICENSING +Licensing FLTK comes with complete free source code. FLTK is available under the terms of the GNU Library General Public License with @@ -24,31 +24,31 @@ LICENSING software! (Even Bill Gates could use it.) -ON-LINE DOCUMENTATION +Online Documentation The documentation in HTML and PDF forms can be created by Doxygen from the source files. HTML and PDF versions of this - documentation is also available from the FLTK web site at: + documentation are also available from the FLTK web site at: https://www.fltk.org/documentation.php -BUILDING AND INSTALLING FLTK UNDER UNIX AND macOS +Building and Installing FLTK under Unix and macOS Beginning with FLTK 1.4 the main and recommended build system is CMake. CMake is a "build system generator" and can be used - to create Makefile's, Ninja build files, Xcode (macOS), + to create Makefile's, Ninja build files, Xcode (macOS) and Visual Studio (Windows) IDE files and many more. Please see README.CMake.txt for further information. - Alternatively FLTK can be built with autoconf + make, the - build system used in FLTK 1.3 and earlier versions. Please + Alternatively FLTK can be built with autoconf (configure) + make, + the build system used in FLTK 1.3 and earlier versions. Please be aware that the following information may be outdated because it is no longer actively maintained. Note: autoconf + configure + make is still supported in FLTK 1.4.x - but will be removed in FLTK 1.5.0 or any higher version. + but will be removed in FLTK 1.5.0. In most cases you can just type "make". This will run configure with the default (no) options and then compile everything. @@ -58,8 +58,7 @@ BUILDING AND INSTALLING FLTK UNDER UNIX AND macOS look for are the X11, OpenGL (or Mesa), and JPEG header and library files. Make sure that they are in the standard include/library locations. If they aren't you need to - define the CFLAGS, CXXFLAGS, and LDFLAGS environment - variables. + define the CFLAGS, CXXFLAGS, and LDFLAGS environment variables. If you aren't using "gcc", "g++", "c++", or "CC" for your C++ compiler, you'll also need to set the CXX environment @@ -106,15 +105,19 @@ BUILDING AND INSTALLING FLTK UNDER UNIX AND macOS need to run "make install-desktop" as root. -GIT USERS +Git Users If you've just checked out a fresh copy of FLTK from Git (GitHub), - you'll need to generate an initial version of 'configure' + you need to switch to the FLTK 1.4 branch: + + $ git checkout branch-1.4 + + Then you need to generate an initial version of 'configure' by running 'make makeinclude' or 'make clean' (we don't include a copy of configure in git). -MAKE TARGETS +Make Targets make -- builds the library + test programs (does not install) make install -- builds and installs @@ -123,23 +126,32 @@ MAKE TARGETS ( cd src; make ) -- builds just the fltk libraries -BUILDING FLTK UNDER MICROSOFT WINDOWS +Building FLTK under Microsoft Windows - There are two ways to build FLTK under Microsoft Windows. + There are three ways to build FLTK under Microsoft Windows. - The first is to use CMake to create the Visual C++ project or NMake files - in your favorite development directory, then build FLTK with Visual Studio. + The first is to use CMake to create the Visual Studio IDE project or + NMake files with CMake, then build FLTK with Visual Studio or NMake. - The second method is to use a GNU-based development tool. To build with - the Cygwin or MinGW tools, use the supplied configure script as specified - in the UNIX section above: + The second method is to use a GNU-based development tool with CMake. To + build with Cygwin, MinGW, or MSYS2 tools, use CMake to create the build + files from the `cmake` commandline and build the library as described + above. On some of these systems you may also install and use `cmake-gui`. + + The third method is to use autoconf (configure/make) with a GNU-based + development tool. To build with the Cygwin or MinGW tools, use the + supplied configure script as specified in the UNIX section above: ./configure ...options... See README.Windows.txt and README.CMake.txt for more info. -BUILDING HTML DOCUMENTATION +Building HTML Documentation + + FLTK uses Doxygen for documentation, so you'll at least need doxygen + installed for creating HTML docs, and additionally LaTeX for creating + PDF documentation. If you want to build the HTML documentation: @@ -149,32 +161,39 @@ BUILDING HTML DOCUMENTATION ( cd documentation && make pdf ) - FLTK uses doxygen for documentation, so you'll at least need doxygen - installed for creating html docs, and LaTeX for creating PDF docs. + +Internet Resources + + FLTK is available on the internet in a bunch of locations: + + - https://www.fltk.org/ - homepage + - https://github.com/fltk/fltk - source code and discussions + - https://www.fltk.org/bugs.php - info for reporting bugs + - https://www.fltk.org/software.php - download source code + - https://github.com/fltk/fltk/releases - source code and documentation + + Note that we don't provide pre-compiled (binary) distributions. Consult + the package manager of your (Linux, Unix, macOS) operating system. -INTERNET RESOURCES +General Questions - FLTK is available on the 'net in a bunch of locations: - - - WWW: https://www.fltk.org/ - https://www.fltk.org/bugs.php [for reporting bugs] - https://www.fltk.org/software.php [source code] - - -GENERAL QUESTIONS - - To join the FLTK mailing list, go the following web page: + To join the FLTK mailing list, go to the following web page: https://groups.google.com/forum/#!forum/fltkgeneral - You can find detailed instructions how you can register for the mailing - list (even w/o a Google mail address) at the bottom of this page: + Detailed instructions on how to register for the mailing list (even + without a Google account) can be found further down on this page: https://www.fltk.org/newsgroups.php + Since July 2024 we offer GitHub Discussions on our GitHub project page. + Use the 'Q&A' section for general questions on building and using FLTK. -REPORTING BUGS + https://github.com/fltk/fltk/discussions/categories/q-a + + +Reporting Bugs If you are new to FLTK, or have general questions about how to use FLTK, or aren't sure if you found a bug, please ask first on the fltk.general @@ -182,24 +201,28 @@ REPORTING BUGS https://groups.google.com/forum/#!forum/fltkgeneral - See paragraph GENERAL QUESTIONS above for more info. + or on GitHub Discussions (Q&A) as noted above: + + https://github.com/fltk/fltk/discussions/categories/q-a + + + See also paragraph "General Questions" above for more info. If you are sure you found a bug, please see the following page for - further information: + further information on how to report a bug: https://www.fltk.org/bugs.php -TRADEMARKS +Trademarks - Microsoft and Windows are registered trademarks of Microsoft - Corporation. UNIX is a registered trademark of the X/Open - Group, Inc. OpenGL is a registered trademark of Silicon - Graphics, Inc. macOS is a registered trademark of Apple - Computers, Inc. + - Microsoft and Windows are registered trademarks of Microsoft Corporation. + - UNIX is a registered trademark of the X/Open Group, Inc. + - OpenGL is a registered trademark of Silicon Graphics, Inc. + - macOS is a registered trademark of Apple Computers, Inc. -COPYRIGHT +Copyright FLTK is copyright 1998-2025 by Bill Spitzak and others, see the CREDITS.txt file for more info. diff --git a/configure.ac b/configure.ac index d18e3975e..43c351ed2 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ AC_PREREQ([2.50]) dnl Package name and version -AC_INIT([fltk], [1.4.3], [https://github.com/fltk/fltk/issues], [fltk], [https://www.fltk.org/]) +AC_INIT([fltk], [1.4.4], [https://github.com/fltk/fltk/issues], [fltk], [https://www.fltk.org/]) FLTK_VERSION="AC_PACKAGE_VERSION" FLTK_VERSION_MAJOR=$(echo AC_PACKAGE_VERSION | awk -F. '{print $1}') diff --git a/documentation/src/index.dox b/documentation/src/index.dox index 94ac15aa1..5328e8165 100644 --- a/documentation/src/index.dox +++ b/documentation/src/index.dox @@ -8,7 +8,7 @@ \image latex FL200.png "" width=5cm
- FLTK 1.4.3 Programming Manual + FLTK 1.4.4 Programming Manual By F. Costantini, M. Melcher, A. Schlosser, B. Spitzak and M. Sweet. diff --git a/documentation/src/preface.dox b/documentation/src/preface.dox index 8050abd7f..b6ca5dcc5 100644 --- a/documentation/src/preface.dox +++ b/documentation/src/preface.dox @@ -2,7 +2,7 @@ \page preface Preface -This manual describes the Fast Light Tool Kit ("FLTK") version 1.4.3, +This manual describes the Fast Light Tool Kit ("FLTK") version 1.4.4, a C++ Graphical User Interface ("GUI") toolkit for UNIX, Microsoft Windows, and Apple macOS. diff --git a/fltk-options/fltk-options.plist b/fltk-options/fltk-options.plist index 385a73781..580111b84 100644 --- a/fltk-options/fltk-options.plist +++ b/fltk-options/fltk-options.plist @@ -9,7 +9,7 @@ CFBundleIdentifier org.fltk.fltk-options CFBundleVersion - 1.4.3 + 1.4.4 CFBundleDevelopmentRegion English NSHumanReadableCopyright @@ -25,9 +25,9 @@ CFBundleIconFile fltk-options.icns CFBundleShortVersionString - 1.4.3 + 1.4.4 CFBundleGetInfoString - 1.4.3, Copyright 2023-2025 by Bill Spitzak and others + 1.4.4, Copyright 2023-2025 by Bill Spitzak and others NSHighResolutionCapable diff --git a/fltk_version.dat b/fltk_version.dat index 428b770e3..1c99cf0e8 100644 --- a/fltk_version.dat +++ b/fltk_version.dat @@ -1 +1 @@ -1.4.3 +1.4.4 diff --git a/fluid/documentation/src/index.dox b/fluid/documentation/src/index.dox index 79ce6139e..5c5a3af4b 100644 --- a/fluid/documentation/src/index.dox +++ b/fluid/documentation/src/index.dox @@ -14,7 +14,7 @@ \image latex fluid-128.png "" width=3cm
- FLUID 1.4.3 User Manual + FLUID 1.4.4 User Manual By F. Costantini, M. Melcher, A. Schlosser, B. Spitzak and M. Sweet. diff --git a/fluid/fluid.plist b/fluid/fluid.plist index 6e03f6875..d5612a52d 100644 --- a/fluid/fluid.plist +++ b/fluid/fluid.plist @@ -9,7 +9,7 @@ CFBundleIdentifier org.fltk.fluid CFBundleVersion - 1.4.3 + 1.4.4 CFBundleDevelopmentRegion English NSHumanReadableCopyright @@ -25,9 +25,9 @@ CFBundleIconFile fluid.icns CFBundleShortVersionString - 1.4.3 + 1.4.4 CFBundleGetInfoString - 1.4.3, Copyright 1998-2025 by Bill Spitzak and others + 1.4.4, Copyright 1998-2025 by Bill Spitzak and others CFBundleDocumentTypes diff --git a/src/Fl_File_Chooser.cxx b/src/Fl_File_Chooser.cxx index 8abb4f39c..5135d5490 100644 --- a/src/Fl_File_Chooser.cxx +++ b/src/Fl_File_Chooser.cxx @@ -21,7 +21,7 @@ // ======================================================================= // -// generated by Fast Light User Interface Designer (fluid) version 1.0403 +// generated by Fast Light User Interface Designer (fluid) version 1.0404 #include "../FL/Fl_File_Chooser.H" #include diff --git a/src/Fl_File_Chooser.fl b/src/Fl_File_Chooser.fl index 3ed75e6d6..aace79a69 100644 --- a/src/Fl_File_Chooser.fl +++ b/src/Fl_File_Chooser.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0403 +version 1.0404 header_name {../FL/Fl_File_Chooser.H} code_name {.cxx} comment {// diff --git a/src/Fl_Help_Dialog.cxx b/src/Fl_Help_Dialog.cxx index 81f1d0e17..abe867f3a 100644 --- a/src/Fl_Help_Dialog.cxx +++ b/src/Fl_Help_Dialog.cxx @@ -21,7 +21,7 @@ // ======================================================================== // -// generated by Fast Light User Interface Designer (fluid) version 1.0403 +// generated by Fast Light User Interface Designer (fluid) version 1.0404 #include "../FL/Fl_Help_Dialog.H" #include diff --git a/src/Fl_Help_Dialog.fl b/src/Fl_Help_Dialog.fl index b39080a8b..08119e371 100644 --- a/src/Fl_Help_Dialog.fl +++ b/src/Fl_Help_Dialog.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0403 +version 1.0404 header_name {../FL/Fl_Help_Dialog.H} code_name {.cxx} comment {// diff --git a/src/Fl_Terminal.cxx b/src/Fl_Terminal.cxx index 5da2a0a0e..8b9ac0b16 100644 --- a/src/Fl_Terminal.cxx +++ b/src/Fl_Terminal.cxx @@ -1086,7 +1086,7 @@ const Fl_Terminal::Utf8Char* Fl_Terminal::u8c_disp_row(int drow) const // on-screen. // For walking the terminal lines in order, see examples // for u8c_hist_use_row() and u8c_disp_row(). - // + // for (int row=0; rowkind == Fl_Wayland_Window_Driver::DECORATED && !origin_win->fullscreen_active()) libdecor_frame_translate_coordinate(parent_xid->frame, popup_x, popup_y, &popup_x, &popup_y); } else if (Fl_Window_Driver::menu_title(pWindow) && Fl_Window_Driver::menu_bartitle(pWindow)) { - + xdg_positioner_set_anchor_rect(positioner, 0, 0, Fl_Window_Driver::menu_title(pWindow)->w() * f, Fl_Window_Driver::menu_title(pWindow)->h() * f); diff --git a/src/makedepend b/src/makedepend index 123d90b33..e3c5e9342 100644 --- a/src/makedepend +++ b/src/makedepend @@ -2724,21 +2724,27 @@ Fl_Menu_Bar.o: ../FL/platform_types.h Fl_Menu_Button.o: ../FL/Enumerations.H Fl_Menu_Button.o: ../FL/Fl.H Fl_Menu_Button.o: ../FL/fl_attr.h +Fl_Menu_Button.o: ../FL/Fl_Bitmap.H Fl_Menu_Button.o: ../FL/Fl_Cairo.H Fl_Menu_Button.o: ../FL/fl_casts.H Fl_Menu_Button.o: ../FL/fl_config.h +Fl_Menu_Button.o: ../FL/Fl_Double_Window.H Fl_Menu_Button.o: ../FL/fl_draw.H Fl_Menu_Button.o: ../FL/Fl_Export.H +Fl_Menu_Button.o: ../FL/Fl_Group.H Fl_Menu_Button.o: ../FL/Fl_Image.H Fl_Menu_Button.o: ../FL/Fl_Menu_.H Fl_Menu_Button.o: ../FL/Fl_Menu_Button.H Fl_Menu_Button.o: ../FL/Fl_Menu_Item.H Fl_Menu_Button.o: ../FL/Fl_Multi_Label.H +Fl_Menu_Button.o: ../FL/Fl_Overlay_Window.H Fl_Menu_Button.o: ../FL/Fl_Rect.H Fl_Menu_Button.o: ../FL/fl_types.h Fl_Menu_Button.o: ../FL/fl_utf8.h Fl_Menu_Button.o: ../FL/Fl_Widget.H +Fl_Menu_Button.o: ../FL/Fl_Window.H Fl_Menu_Button.o: ../FL/platform_types.h +Fl_Menu_Button.o: Fl_Window_Driver.H Fl_Menu_global.o: ../FL/Enumerations.H Fl_Menu_global.o: ../FL/Fl.H Fl_Menu_global.o: ../FL/fl_attr.h diff --git a/test/makedepend b/test/makedepend index 0c0810c60..ea2d440f6 100644 --- a/test/makedepend +++ b/test/makedepend @@ -2513,8 +2513,6 @@ threads.o: ../FL/Fl.H threads.o: ../FL/fl_ask.H threads.o: ../FL/fl_attr.h threads.o: ../FL/Fl_Bitmap.H -threads.o: ../FL/Fl_Browser.H -threads.o: ../FL/Fl_Browser_.H threads.o: ../FL/Fl_Cairo.H threads.o: ../FL/fl_casts.H threads.o: ../FL/fl_config.h @@ -2522,12 +2520,14 @@ threads.o: ../FL/Fl_Double_Window.H threads.o: ../FL/Fl_Export.H threads.o: ../FL/Fl_Group.H threads.o: ../FL/Fl_Image.H +threads.o: ../FL/Fl_Input.H +threads.o: ../FL/Fl_Input_.H +threads.o: ../FL/Fl_Output.H +threads.o: ../FL/Fl_Rect.H threads.o: ../FL/Fl_Scrollbar.H -threads.o: ../FL/Fl_Slider.H +threads.o: ../FL/Fl_Terminal.H threads.o: ../FL/fl_types.h threads.o: ../FL/fl_utf8.h -threads.o: ../FL/Fl_Valuator.H -threads.o: ../FL/Fl_Value_Output.H threads.o: ../FL/Fl_Widget.H threads.o: ../FL/Fl_Window.H threads.o: ../FL/platform_types.h