summaryrefslogtreecommitdiff
path: root/examples
AgeCommit message (Collapse)Author
46 hourswipmaxim nikonov
46 hourswipmaxim nikonov
3 dayswip: forkmaxim nikonov
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-02Fix two compiler warnings [-Wsign-compare]Albrecht Schlosser
2025-12-01Fix DIR parsing on windows for non-US locale (#1344)Greg Ercolano
2025-03-16Remove libfltk_cairo (fltk::cairo)Albrecht Schlosser
This library is no longer needed and was "empty" for backwards compatibility since FLTK 1.4.0.
2025-03-06Update version numbers to 1.5.0Albrecht Schlosser
2025-03-06Remove autotools (configure/make) supportAlbrecht Schlosser
2024-12-09Update Fluid (.fl) files for release 1.4.1Albrecht Schlosser
2024-11-01Fix memory leaks in examples/shapedwindow.cxxAlbrecht Schlosser
Note: usually we don't (need to) care for pseudo "leaks" at the end of the program, we could just return, but this is a test and demo program.
2024-05-13CMake: improve linking OpenGL3 example programs (#959)Albrecht Schlosser
- Remove find_library(LIB_GLEW ...) from 'resources.cmake' - Use the variable FLTK_GLEW_DIR to "find" a user supplied GLEW library for OpenGL3 example programs (examples/OpenGL3*.cxx). Both static and shared libs (DLLs) are supported, but the static library is preferred to avoid DLL dependencies. - Define preprocessor macro 'GLEW_STATIC' by CMake compile definitions if and only if the static glew library (glew32s) was found and linked. The previous code defined 'GLEW_STATIC' unconditionally in the source code which led to undefined references if a shared lib (DLL) was used.
2024-05-05Fix Visual Studio compiler warnings, make output visible...Albrecht Schlosser
on Windows w/o a console device ("DOS"/Debug window) if OpenGL3 is not available.
2024-03-17Simplify examples/CMakeLists.txt (libcairo linkage)Albrecht Schlosser
Fl_Cairo_Window is included in fltk::fltk and libcairo is linked implicitly if FLTK was built with Cairo support.
2024-02-11Update examples/CMakeLists.txt to modern CMakeAlbrecht Schlosser
Also: set build requirement of OpenGL3 tests to C++11 to enable building in C++98 mode (if the compiler allows C++11). Note: this may be removed in 1.5.0 when FLTK requires C++11 anyway.
2024-02-07Introduce "Modern CMake" in FLTKAlbrecht Schlosser
This is a big commit and there are too many changes to list them all. The main changes are: - rename all CMake build options to 'FLTK_*' - export library targets with namespace (prefix) 'fltk::' - standardize shared library target names with suffix '-shared' - set public build properties on libraries for consumers - document library names and aliases in README.CMake.txt - document changes in "Migrating Code from FLTK 1.3 to 1.4" - partial backwards compatibility for old user projects Included but not directly related changes: - fix Windows (Visual Studio) DLL build - add CMake function fl_debug_target() to show target properties - don't build test programs if FLTK is a subproject - internal: reformat CMake code: remove space before '(' Thanks to Matthias and Manolo for their help, testing, and feeback.
2024-01-06Fix numeric keyboard example programAlbrecht Schlosser
examples/howto-remap-numpad-keyboard-keys.cxx: Substitute Fl::event_key() as well which is required for some input widgets - maybe only on some platforms (seemed to work on X11 but not on Wayland). Also: fix typos and whitespace.
2023-12-23Improve docs and add two new Fl_Menu_Item methods (#875)Albrecht Schlosser
This addresses some issues pointed out by GitHub Issue #875. Documentation lacked details about Fl_Multi_Label assignment and correct memory handling. The new methods - Fl_Menu_Item::image_label(const Fl_Image *) and - Fl_Menu_Item::multi_label(const Fl_Multi_Label *) provide a cleaner interface to assign images and Fl_Multi_Label's to menu items. examples/howto-menu-with-images.cxx: carify some issues, fix leak, and use new Fl_Menu_Item::multi_label(const Fl_Multi_Label *).
2023-12-16STR#3283: Add new Fl_Table right-click popup menu exampleGreg Ercolano
2023-12-14fix window titles for table examplesGreg Ercolano
2023-11-29Add commandline conversion for Windows (no-op on other platforms)Albrecht Schlosser
- add Fl::args_to_utf8() to convert commandline arguments to UTF-8 This new function closes the gap that previously only Visual Studio applications converted their commandlines to UTF-8. Tested with MinGW, MSYS2/MinGW-w64, and Visual Studio (2019).
2023-11-20Change Fl_Terminal default color() 0x0 -> FL_BLACKGreg Ercolano
2023-11-14Fl_Terminal widget (#800)erco77
Pull Fl_Terminal widget from Greg's fork
2023-10-22Make Fl_String and Fl_Int_Vector private (#789)Albrecht Schlosser
- add CMake option 'OPTION_USE_STD' - add configure option '--enable-use_std' - move FL/Fl_String.H to src/Fl_String.H - move FL/Fl_Int_Vector.H to src/Fl_Int_Vector.H - remove Fl_String from demo program examples/callbacks.cxx - remove Fl_Int_Vector from public header FL/Fl_Table.H - some methods of Fl_Table are no longer inline - add CMake option OPTION_USE_STD to allow std::string in some selected functions and methods Experimental, may be removed before release: - use either Fl_Int_Vector or std::vector in Fl_Table depending on CMake OPTION_USE_STD or configure --enable-use_std Move all fl_filename* functions that use Fl_String to fluid Main changes in fluid: - add fluid_filename.h and .cxx - include "fluid_filename.h" rather than <FL/filename.H> Update fl_input(), fl_password() and test/ask - add maxchar parameter to fl_input() and fl_password() - fl_input_str() and fl_password_str() are optional and return std::string if enabled (FLTK_USE_STD)
2023-10-19Improve Fl_Grid example codeAlbrecht Schlosser
Add 'grid->end();' although it's redundant in this specific example.
2023-10-16Add Fl_Grid widget and test and demo programsAlbrecht Schlosser
- FL/Fl_Grid.H: header file - src/Fl_Grid.cxx: implementation - examples/grid-simple.cxx: simple example program - test/cube.cxx: use Fl_Grid for layout - test/grid_alignment.cxx: test cell alignment and other functions - test/grid_buttons.cxx: demo program as discussed in fltk.general - test/grid_login.cxx: like test/flex_login.cxx but with Fl_Grid - test/flex_login.cxx: modified to match test/grid_login.cxx
2023-10-16Update .gitignore filesAlbrecht Schlosser
Add missing executables
2023-08-15Improved, yet compatible, widget callback system using macros (#729)Matthias Melcher
* adds FL/fl_callback.macros.H * adds FL_FUNCTION_CALLBACK_n(widget, function, [type, data]) * adds FL_METHOD_CALLBACK_n(widget, class, instance, method, [type, data]) * adds FL_INLINE_CALLBACK_n(widget, [type, name, data], callback_body) * adds `examples/callback` * full documentation
2023-07-19FLUID: RTTI improvements, 'is_a90' now const, apply RTTIMatthias Melcher
2023-03-09Fix Visual Studio (MSVC) compiler warningsAlbrecht Schlosser
2023-02-23Move animated gif images to the test/images folderAlbrecht Schlosser
... to make them accessible to the help_dialog test if built with CMake.
2023-02-07Fix clang compiler warningAlbrecht Schlosser
Warning was: "implicit conversion from 'int' to 'float' changes value from 2147483647 to 2147483648" Not a big deal in this context, but anyway.
2023-02-05Fix examples/.gitignore (add missing files)Albrecht Schlosser
2023-02-04Fix deprecated warnings in examples/table* demo programsAlbrecht Schlosser
Also: adjust comments, update copyright year
2023-02-02Update dependencies and fix whitespace errorsAlbrecht Schlosser
- replace tabs with spaces - remove trailing whitespace
2023-01-21Animated GIF support (Fl_Anim_GIF_Image class) (#375)wcout
2023-01-16Improve examples/chart-simple demo programAlbrecht Schlosser
Make sure that the first chart entry is not zero because this wouldn't show the first part of FL_SPECIALPIE_CHART separated from the circle.
2023-01-12Add Fl_Scheme_Choice to examples/tree-custom-draw-itemsAlbrecht Schlosser
- add Fl_Scheme_Choice widget for quick scheme selection - fix label alignment of selection box - set selection_color() - set selectbox() - make the tree the resizable() of the window
2022-12-30Use `FL_OVERRIDE` for all overridden virtual methods (#611)Matthias Melcher
FL_OVERRIDE is defined as `override` for C++11 and higher FL_OVERRIDE is defined as `override` for VisualC 2015 and newer Don't interfere with Fl_Widget::override()
2022-12-15Rename some Fl_Flex methods for FLTK compliance (#594)Albrecht Schlosser
Change some method names to comply with FLTK style as discussed in fltk.coredev, thread "Fl_Flex method name question". * Rename Fl_Flex::margins(...) to Fl_Flex::margin(...) (use singular form for all margin related methods) * Remove Fl_Flex::setSize() and isSetSize() "backwards compatibility" methods * Rename Fl_Flex::set_size(...) to fixed(...) Note: the latter affects existing (pre-release) fluid (.fl) files: you may want to edit and replace "set_size_tuples" with "fixed_size_tuples"
2022-11-19CMake: fix building examples w/o test programsAlbrecht Schlosser
As reported in fltk.coredev in thread "CMAKE build with build examples. On and test OFF fails" $ cmake .. -D FLTK_BUILD_EXAMPLES=ON -D FLTK_BUILD_TEST=OFF failed with: Unknown CMake command "FLTK_RUN_FLUID".
2022-11-01Fix trailing whitespaceAlbrecht Schlosser
2022-10-06Fix use of several FLTK widgets above an GL scene.ManoloFLTK
The code failed with 2 or more widgets when FLTK would trigger partial redraws of the widgets, unless the Fl_Gl_Window was FL_DAMAGE_ALL. This commit also adds a second FLTK widget to example/OpenGL3test to check this multiple widget situation, and fixes an error where operator ! was used instead of ~ .
2022-09-29Support of FLTK widgets in OpenGL 3 windows - cont'd.ManoloFLTK
This commit allows to switch between FL_DOUBLE / FL_SINGLE modes in widget-containing GL3 windows. Demo program examples/OpenGL3test is modified to show FLTK widgets even if the platform does not support OpenGL 3.
2022-09-28macOS: support of FLTK widgets in OpenGL 3 windows - cont'd.ManoloFLTK
This code is OK under macOS 10 9 and 13.
2022-09-27Simpler code to support FLTK widgets in macOS OpenGL 3 windows.ManoloFLTK
Also, the application-level code to add widgets to a GL3 window becomes platform-independent.
2022-09-26Replace all calls to sprintf() by calls to snprintf().ManoloFLTK
2022-09-25Add cross-platform support for adding widgets to an OpenGL3-based Fl_Gl_Window.ManoloFLTK
Under non-macOS platforms, the key is to call glUseProgram(0); after having used OpenGL 3 which allows to then use OpenGL 1 and draw FLTK widgets over the OpenGL3 scene. Under macOS, this is impossible because macOS GL3 contexts are not compatible with GL1. The solution implemented here is to create an additional Fl_Gl_Window placed above and sized as the GL3-based window, to give it a non opaque, GL1-based context, and to put the FLTK widgets in that additional window.
2022-09-23Use adequate #include for fl_wl_display().ManoloFLTK
2022-09-22Wayland: fix error detection during call to glewInit().ManoloFLTK