summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2025-05-08Simplify CMake build config for test and demo programsAlbrecht Schlosser
Define platform specific library names as CMake variables so they can be used to build demo programs w/o platform specific instructions. This includes optional components (e.g. OpenGL) and the MSVC specific extra object library (call_main) and the fact that we build only one "monolithic" shared library with MSVC. Also, enable building FLTK Forms library in CI builds.
2025-04-21Fix "fully support ... own shared libraries" (#1238)Albrecht Schlosser
- If shared libraries are built, then fluid, fltk-options, and the "games" are linked against the shared FLTK libraries. On some platforms the static and the shared versions of fluid and fltk-options are built. The games are only built if FLTK_BUILD_TEST is enabled. - The CMake 'install' target now installs the games (if built) and their man pages on all platforms (no matter if that is useful, for instance on Windows). - On macOS 'CMAKE_INSTALL_RPATH' is set so *installed* programs automatically find their shared FLTK libraries. The "shared" versions of fluid and fltk-options got their own '.plist' files. This works for both the executables themselves as well as those included in bundles. There may be more to do on the macOS platform.
2025-04-15Reactivating Mergeback functionality. (#1226)Matthias Melcher
Reactivated code. Various fixes. New documentation.
2025-04-01Adding the FL_MENU_CHATTY flag to Fl_Menu_Item.Matthias Melcher
If set, menu items will also call the callback when highlighting changes. The reason is given with Fl::callback_reason(). #941
2025-03-30Fixing a few more compiler warnings.Matthias Melcher
2025-03-30Somewhat better example for dynamic tooltip.Matthias Melcher
2025-03-29Adding missing `override`sMatthias Melcher
2025-03-29Adding `FL_BEFORE_MENU` event to classes derived from `Fl_Menu_`Matthias Melcher
2025-03-29Adds a new event FL_TOOLTIP_EVENT...Matthias Melcher
... and Fl_Tootip::override_text() to allow users to dynamically generate tooltips.
2025-03-19Remove obsolete build option 'FLTK_OPTION_STD'Albrecht Schlosser
This option is no longer needed since FLTK 1.5 always requires C++11.
2025-03-18Fix out-of-bounds access in test/checkers.cxxAlbrecht Schlosser
For details please see description in the source code in test/checkers.cxx lines 620++ This commit also disables unused code: function dumpnode() which is used only in VT100 mode.
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-10More (mostly) documentation updates for FLTK 1.5.0Albrecht Schlosser
All files: remove autoconf/configure related stuff, update links. - README.txt: describe prerequisites, provide generic instructions on how to use CMake to build FLTK - test/demo.cxx: remove code used for configure/make build - test/CMakeLists.txt: remove obsolete 'target_compile_definitions()'
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-08Remove 'configure' from README's and sources (partially)Albrecht Schlosser
More to come...
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-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-02-19test/editor: ensure buffer terminationAlbrecht Schlosser
... in source file and documentation
2025-02-03fullscreen test app: prevent combination of fullscreen + maximizeManoloFLTK
Also, use more explicit button names
2025-01-19tedst/utf8: Change default font used under Windows for "Unicode Display Test"ManoloFLTK
The Windows doc at https://learn.microsoft.com/en-us/typography/font-list/arial-unicode-ms of the "Arial Unicode MS" font reads "The font was included with Office but not Windows. … We stopped servicing and updating Arial Unicode and no longer install it as part of Office." Using that font is therefore not the best choice. This commmit uses "Microsoft Sans Serif" instead available in all Windows versions since Windows 2000.
2024-12-10Fix compiler warnings (VS 2019)Albrecht Schlosser
Found with warning level: /W3
2024-12-09Update Fluid (.fl) files for release 1.4.1Albrecht Schlosser
2024-12-06glpuzzle: smoother animation at 72fpsMatthias Melcher
2024-12-06glpuzzle: fixes timer and trackball max speedMatthias Melcher
Using 50fps instead of maximum render speed. Trackball limited to non-head-spinning speeds.
2024-12-04Improve timer statistics in test/cube demoAlbrecht Schlosser
These timer statistics are useful to see the interaction of OpenGL drawing and FLTK timers (Fl::add_timer + Fl::repeat_timer).
2024-12-04Fixes warning in cube.cxx.Matthias Melcher
2024-12-03Fi: Building with FLTK_BUILD_GL=0 fails on systems without opengl installed ↵ManoloFLTK
(#1151)
2024-12-01Use a constant frame rate (25 fps) in test/cube demoAlbrecht Schlosser
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)
2024-11-29Enable building the CubeView demo w/o requiring '<config.h>'Albrecht Schlosser
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
2024-11-18MSVC: Fix array allocation in test/fltk-versions (#1131)Albrecht Schlosser
2024-11-17Finish release 1.4.0Albrecht Schlosser
1) Improve and clarify documentation: - update, reformat, and reorder parts of CREDITS.txt - make sure that documentation appears in doxygen docs - add '\since 1.4.0' to documentation of new methods and functions - remove doxygen's '\brief' where not required (we're using JAVADOC_AUTOBRIEF = YES) - clarify screen scaling, scaling factor, and related stuff - add more info about backwards compatibility for X11 specific code 2) Update dependencies
2024-11-17Improve 'test/fltk-versions' demo programAlbrecht Schlosser
- add code to get the platform and backend - display platform and backend on screen - improve and simplify layout (using Fl_Grid) - add version check indicator
2024-11-01Fix compiler warning [-Wsign-compare]Albrecht Schlosser
Note: it is *unusual* (not FLTK style) that Fl_Window::border() returns 'unsigned int' instead of 'int'. This should be investigated in FLTK 1.5 but maybe we can't change it: it's been so already in FLTK 1.3 and maybe earlier.
2024-11-01Wayland: Fix issue in maximization of a borderless window (#1099)ManoloFLTK
Also fixes scenarios mixing fullscreen and maximization: - maximize - set fullscreen - unset fullscreen - un-maximize with and without window border.
2024-10-31macOS: prevent changing window border while window is fullscreenManoloFLTK
2024-10-18Remove unnecessary casts from glut demo programsAlbrecht Schlosser
These casts are no longer useful since commit 5cd9f6fb8058f92d: "STR #3323: glutAddMenuEntry now has a const label argument"
2024-10-15Update or remove version numbers, update copyright yearsAlbrecht Schlosser
Note: one goal is to have to edit fewer version numbers in source files for each release. We may be able to generate some files by the build procedure (CMake) to avoid editing them in the future (1.5.0 or later).
2024-10-07Add option to test scaling shortcuts in test/menubarAlbrecht Schlosser
Note: if enabled, then the usual global scaling shortcuts don't work and scaling by shortcuts is disabled. This is intended for testing and not for normal usage.
2024-10-07Update Widget order in test/keyboard.Matthias Melcher
2024-10-06Add fwd and back mouse buttons to test/keyboardMatthias Melcher
2024-10-06Update FLUID .fl files in the test/.Matthias Melcher
2024-08-27Adding horiizonatl and vertical label marginMatthias Melcher
- sizeof(Fl_Widget) not increased - label positions can be adjusted - try it out in test/label app - full support in FLUD
2024-08-23Fix CTRL/META state display in test/handle_keys.cxx (macOS)Albrecht Schlosser
This changes only the display of the mentioned state bits in the test program, and only on macOS. Thanks to Manolo for finding and reporting this.
2024-08-19Changing test/editor Shortcut Key Ctrl-i.Matthias Melcher
The original choice for split screen editing, Ctrl-2, did not work well on some platforms.
2024-08-14Adding Fl_Widget::label_image_spacing() (#1039)Matthias Melcher
- May need a better method name. - This makes the gap between the image in a label and the label text user settable. - Can be tested using test/label app
2024-08-10Fix tabs, trailing spaces, and update dependenciesAlbrecht Schlosser
2024-08-10Merge pull request #17 from mid-kid/patch-1Albrecht Schlosser
Quote variables that may contain spaces (#17)