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.
- add chapter 2.2.5 : "Other CMake Cache Variables" and document
some cache variables and how to access and modify them,
- clarify and extend the toolchain-file example,
- explain how to find and use the correct fluid executable when
cross-compiling
- update FLTK version to "1.x" or "1.x.y"
- update and verify included links
- note that MinGW download links could not be verified
- add MSYS2 / MinGW-w64
The visual feedback is really important. I was not aware that my patch suppressed that. And for the state values, I find it best to get back to what 1.3 did at this point. `value` is essential for check boxes and radio and toggle buttons. On push buttons, it has really not much of a meaning.
The old version was "synchronized" by calling Fl::check() in a loop
which resulted in the highest speed possible on any platform.
It turned out that this was way too fast on the Wayland platform as
`valerius` posted on IRC/Matrix on Nov 30, 2024. Citation:
"anyone else notice the cube demo on Wayland is mega ultra hyper speed?".
I took the opportunity to change the demo to use a timer with a given
frame rate (see constant 'FPS') to synchronize drawing.
Note: the 'speed' slider is independent of the drawing frequency.
Finally this commit adds statistics output when the 'Stats / Exit' button
is pressed like
Iterations = 304, runtime = 12.167 sec, fps = 24.99, requested: 25
with the requested frame rate (default = 25) and allows the user to
continue to see more statistics.
To do (very likely not in 1.4.x):
1. integrate running statistics in the display
2. make the desired frame rate variable at runtime (new slider)
This allows to build the CubeView demo from the unmodified FLTK sources
w/o having to provide a 'config.h' file by defining HAVE_GL=1 on the
compiler commandline. See also comment in test/CubeView.h.
test/CubeMain.cxx: don't include <config.h> at all (not needed)
test/CubeView.h: #include <config.h> only if HAVE_GL is not defined
As discussed between Matthias, Albrecht and Manolo, the best procedure is
- use MAC_OS_X_VERSION_MAX_ALLOWED but not __MAC_OS_X_VERSION_MAX_ALLOWED;
- compile helper file CMake /macOSMaxAllowed.c to detect whether the SDK in use
is in version above a given threshold version number;
- based upon the result of this check, decide to weakly link or not a given framework.