summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2 dayswipmaxim nikonov
2 dayswipmaxim nikonov
3 dayswipmaxim nikonov
3 dayswip: forkmaxim nikonov
4 daysImprove test/utf8 demo by using Fl_Grid and moreAlbrecht Schlosser
- separate layout and contents of example text widgets - use Fl_Grid for more flexibility in the layout of the main window - reformat some parts but not all code to FLTK style - add comments, fix font style calculation ("near fixed pitch") - add tooltips with user instructions to some of the widgets - add "rainbow" emoji as colored emoji example - reformat contents of the "unichar drop box"
7 daysmacOS: remove code present only to support macOS versions 10.3 and 10.4.ManoloFLTK
This is a first step towards removing the code related to support of old macOS versions that are not compatible with C++11 which FLTK 1.5 requires.
10 daysCMake: add try_compile() to figure out if Pen/Tablet is supportedAlbrecht Schlosser
This test is specifically intended to disable Pen/Tablet support on classic MinGW (32-bit) platforms that lack required symbol definitions although Pen/Tablet support might be supported by the Windows system. This test can be extended for other platforms, but for now it's performed only on Windows.
13 daysRemove usage of fl_utf8froma(), improve layout of test/utf8Albrecht Schlosser
- use demo strings in UTF-8 encoding rather than converting them which also simplifies the code - replace some hard-coded width and pos. values with constants - enlarge width of text widgets (left column) of the main window - replace display of Unicode range U+D800 ... U+DFFF with a text explaining that this space is used by UTF-16 surrogate pairs to prevent warning messages about invalid Unicode text.
2026-01-08Add CMake option FLTK_OPTION_PEN_SUPPORT (default: ON)Albrecht Schlosser
This option can be used to disable pen/tablet support if there are build problems on a particular platform or build system (e.g. MinGW) so users can continue to build FLTK 1.5. Users can also choose to disable pen support if they don't need it.
2026-01-04Add C++11 Fl_Valuator::format API.Matthias Melcher
This is helpful for writing language wrapper, in this particular case for PyFLTK.
2025-12-30Clean up .gitignore filesAlbrecht Schlosser
Since FLTK 1.5 building FLTK in the source tree is prohibited by our CMake setup. Therefore all build artifacts are stored in the build tree and don't need to be "ignored" in the source tree. This simplifies the .gitignore files significantly. There are some exceptions though, for instance .cxx and .h files generated by fluid which might be created by a user/developer executing fluid in the source tree.
2025-12-29Fix Fl_Pack to support more box types.Matthias Melcher
Old code supported only frame styles, this code can now handle box types with a background.
2025-12-25Add Fl_Scheme::plastic_color_average() method [#464]Albrecht Schlosser
This method can be used to set a more appropriate color average to prevent "graying out" the box colors of the 'plastic' scheme. Alternatively environment variable 'FLTK_PLASTIC_AVERAGE' can be used to set the color average value. See docs for details. Set color average to 45% in test/unittests demo program.
2025-12-22FLUID: Add support for lambda callbacks.Matthias Melcher
Starting the callback text with a '[' assumes that the rest of the callback is a lambda and generates inlined code for it.
2025-12-11Add "Copy" button to test/pixmap_browserManoloFLTK
2025-11-29Improve access to C++ symbols.Matthias Melcher
For events, fonts, and callback reasons
2025-11-29Improve and simplify test/clipboard.cxxAlbrecht Schlosser
- replace FL_OVERRIDE and NULL with 'override' and 'nullptr', resp. - remove useless global variable (declare it locally in main) - standardize callbacks using standard callback signatures - rename some callbacks with more appropriate names - fix layout of image display and image size info - improve alignment of text display - set window size_range (minimal window size)
2025-11-26Add initial log support for sliders (#1232).Matthias Melcher
Works for all slider types. Adds tick marks to "nice slider". Defaults to linear if min or max is zero. There is room for improvement for drawing the tick marks.
2025-11-21Additional menu code cleanup.Matthias Melcher
Better variable names, More descriptive integer types.
2025-11-21Fix a few more warnings by Clang.Matthias Melcher
- Apple Clang 17.0.0. - png, z, jpeg lib integer cast warnings remain - FLTK callback function cast warnings remain.
2025-11-20Adjust some pen driver comments.Matthias Melcher
Made global variables private.
2025-11-19Add headline menu item style (#1059)Matthias Melcher
A menu item can be designated as a headline. Fully integrated and used in Fluid.
2025-11-19Remove hidden vector font editor from test/fontMatthias Melcher
Undiscovered for 10 years, this crude vector font generator snuck into the font test ten years ago through a careless commit by yours truly. It's time to go now.
2025-11-17Add display_columns() controllerGreg Ercolano
Also fixed 'c' shortcut described in the onscreen help to show "Color Bars".
2025-11-17Add pen/stylus/tablet API and driver for macOS (#1326)Matthias Melcher
* define the pen/tablet support API * add pen event handler stub as a fallback * add pen device test "penpal". * Add macOS pen/stylus/tablet driver. * Add Oxygen documentation.
2025-09-08Remove from Doxygen files information about removed configure-based build ↵ManoloFLTK
system.
2025-07-14Improve test/threads demo programAlbrecht Schlosser
- format "Max Prime" output as integer number - use a fixed font for better readability - close all windows when the user closes one of them - use standard background and text colors
2025-07-08Fix trailing whitespace and convert a few tabs to spacesAlbrecht Schlosser
... according to CMP
2025-07-05Fl_Help_View: Restoring bad includes for back compatibilityMatthias Melcher
2025-07-02Enable building "extra tests" with a newer C++ standardAlbrecht Schlosser
"extra tests" are defined in test/CMakeLists.txt for FLTK devs to allow quickly building test programs with minimal edits. The new feature can be used to set a higher C++ standard for these test programs. See instructions in test/CMakeLists.txt. Note: this is only intended to be used for quick tests and *must* not be committed and pushed to the main repository for obvious reasons.
2025-07-01Add wrap mode to clipboard viewerAlbrecht Schlosser
- use Fl_Flex to arrange multiple buttons - switch buttons dynamically depending on tabs (text or image)
2025-06-22Improve threads demo test/threads.cxx (#1263)Albrecht Schlosser
- Replace Fl_Browser with Fl_Terminal which uses a constant buffer size - Don't lock the GUI for every single prime. Collect primes for at least 0.25 seconds before calling Fl::awake(handler, buffer) - Use (two) alternate buffers for collecting prime data. - Use Fl::lock() *only* to protect thread data at initialization time. Observation on Debian 12, CPU: 12-core, 12th Gen Intel Core i7-1260P: speedup > factor 4, using multiple cores, GUI fully functional: scrolling the display, resizing, ... Tested natively (X11 + Wayland) and cross-compiled for Windows, using `wine`.
2025-06-19Update Fl::await() and friends API and documentationMatthias Melcher
This creates the base for #1263, but does not fix it yet.
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.