- 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.
- move linker rule from 'all' to '$(TARGET)'
- remove '$(TARGET) $(OBJS)' from rule 'clean'
The 'clean' rule required to build everything before it was deleted
which was obviously not intended.
New compiler warning detected by g++ 14.2.0 building with CMake
in Release mode. This *temporary* fix suppresses the warning but uses
even larger fixed size buffers.
Todo: these nasty warnings caused by using fixed buffer sizes should
be removed by using std::string in FLTK 1.5.0.