summaryrefslogtreecommitdiff
path: root/FL/Fl.H
AgeCommit message (Collapse)Author
2024-06-21Remove trailing whitespaceAlbrecht Schlosser
no code changes
2024-06-21Add Fl::remove_next_timeout(...) to remove only one timeout (#992)Albrecht Schlosser
This method also returns the data pointer of the removed timeout. This new method is generally useful for user code and particularly necessary to fix issue #991. Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2024-04-26Box types can now defined and draw their own focus frame, STR 2145, #659Matthias Melcher
2024-04-22 Fix for Fl_Native_File_Chooser::filter_value() - cont'd (#899)ManoloFLTK
2024-04-22 Fix: Fl_Native_File_Chooser::filter_value() [Kdialog] always returns 0 (#899)ManoloFLTK
- remove build option FLTK_USE_KDIALOG replaced by an Fl::option() option - new run-time option OPTION_FNFC_USES_KDIALOG - make options OPTION_FNFC_USES_KDIALOG and OPTION_FNFC_USES_ZENITY false by default - add mention of new program fltk-options in the doc of Fl::option() - change logic of choice of the native file chooser under X11/Wayland: the zenity and kdialog choosers are opt-in; otherwise the GTK file chooser is used, unless opted out with OPTION_FNFC_USES_GTK - document that zenity may be interesting for sandboxed apps - document that both zenity and kdialog make member functions Fl_Native_File_Chooser::filter_value() inoperable
2024-04-04Fix compiler warning, part 1 of #946Albrecht Schlosser
2024-03-03Update doc about Ctrl/+/-/0/ zoom shortcutsManoloFLTK
2024-03-02Add OPTION_SIMPLE_ZOOM_SHORTCUT to fine tune zoom-in shortcutManoloFLTK
2024-02-27Improve prioritization of event handlers added at open display timeManoloFLTK
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.
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-01Fix: Fl::clipboard_contains() cannot query selection buffer (#690)ManoloFLTK
2023-10-06Change prototype to Fl::now(double offset = 0) - cont'dManoloFLTK
2023-10-06Change prototype to Fl::now(double offset = 0)ManoloFLTK
2023-09-26Add Fl_Timestamp Fl::distant_past()ManoloFLTK
Can be handy when Fl::seconds_since() is used early at program startup
2023-08-26Fixes a bunch of typos in comments.Matthias Melcher
2023-03-14Cairo: introduce Fl::cairo_flush() in FLTK APIAlbrecht Schlosser
Flushing the Cairo context is necessary on Windows to make Cairo drawings appear on the device (screen). This new method makes it easy for user code to do this correctly after using Cairo drawings. - add Fl::cairo_flush(cairo_t *) - document Fl::cairo_flush(cairo_t *) - reformat Cairo doxygen docs and code (partially) - use the new method in Fl_Cairo_Window - use the new method in test/cairo_test.cxx - other minor (text) changes in test/cairo_test.cxx - add test/cairo_test to the demo menu (test/demo.menu)
2023-02-09Expose elapsed time API (#670)Matthias Melcher
2023-01-20STR 2658: documentation fixes on Fl::set_fontsMatthias Melcher
2023-01-06X11: Optionally copy selection buffer to clipboard (STR 3229)Albrecht Schlosser
The new method Fl::selection_to_clipboard(int) enables copying selection data to the clipboard on X11 if it is set to 1. This feature was requested by STR 3229 and the implementation was inspired by an `xterm` feature named "Select to Clipboard" which can be enabled by 'ctrl + middle mouse button + "Select to Clipboard"' in an xterm window.
2023-01-05Adding Fl::hide_all_windows()Matthias Melcher
2023-01-05Add close buttons for individual tabs in Fl_Tabs (#628)Matthias Melcher
Add close buttons for Fl_Tabs Introducing callback reasons FLUID shows all FL_WHEN_... options Adding Fl_Tabs overflow types Improved test/tabs to show new features
2023-01-03Clarify and improve Fl::scheme() related documentationAlbrecht Schlosser
2022-12-16Derive Fl_Zenity_Native_File_Chooser_Driver from Fl_Kdialog_Native_…ManoloFLTK
Also add Fl::option(OPTION_FNFC_USES_ZENITY)
2022-12-11Use correct syntax to befriend a classManoloFLTK
2022-12-10"Public members Fl::awake_ring_*_ should be private" (#559) - cont'dManoloFLTK
2022-12-09Fix for "Public members Fl::awake_ring_*_ should be private" (#559)ManoloFLTK
2022-11-05Wayland/X11 hybrid: use "bool fl_disable_wayland;" declaration.ManoloFLTK
2022-10-20Improve and clarify documentation of timeout functionsAlbrecht Schlosser
Some functions didn't document the handling of arguments properly, particularly Fl::has_timeout() and Fl::remove_timeout(). This is now fixed by documenting the correct behavior that was preserved (re-implemented) from FLTK 1.3.x in the new class Fl_Timeout. Unfortunately there have been some inconsistencies (likely unexpected behavior) which have been preserved and which are now documented.
2022-08-30Hybrid Wayland/X11 platform: improve control of chosen backend.ManoloFLTK
2022-08-20Add int Fl::system(const char *command) static member function.ManoloFLTK
2022-02-06OpenGL implementation of all `fl_` "Drawing Fast Shapes" graphics calls (#385)Matthias Melcher
* Fix build system for unites, * Updated unittest to check OpenGL drawing. Making sure that OpenGL drawing is exactly the same as native drawing to make FLTK widget rendering look the same in GL windows. * Make OpenGL optional. * Implemented clipping in OpenGL * unites drawing fast shapes * Fixed CMake * Updating unittest. Added tests for fl_pi and fl_arc (int) Renamed tab to render complex shapes. * Improved OpenGL FLTK drawing emulation. * Fixed GTK ROUND DOWN BOX * Fixing Makefile for unittest * Correctly aligning OpenGL text. * Fixed text alignment in GL windows. Explained the "FLTK over GL " example in Cube. * Overlapping test. * Better GL graphics alignment. * Drawing the focus rect. * Adding Alpha Channel support for GL. * Added FLTK-on-GL documentation.
2022-01-31Consolidate timeout handling across platforms (#379)Albrecht Schlosser
Add Fl_Timeout class Move platform independent code of Fl::wait() to main part - basic timeout handling - Fl::run_checks() - Fl::run_idle() - Fl::idle() - waiting time calculation (next timeout) - remove platform dependent "screen driver" stuff
2022-01-07Re-organize cross-platform support for text input methods.ManoloFLTK
FLTK 1.3 supports complex text input methods (TIMs) for the 3 platforms (X11, Windows, macOS). This support has an interface with FLTK that is common for X11 and Windows, via (undocumented) functions fl_set_spot(), fl_set_status() and fl_reset_spot(). In contrast, and because it's been developed independently, the interface between the macOS TIM and FLTK 1.3 is completely different : static functions FL::insertion_point_location() and Fl::reset_marked_text(). The present change implements a single TIM/FLTK interface used by all platforms based on functions fl_set_spot() and fl_reset_spot(). The previous macOS-specific functions FL::insertion_point_location() and Fl::reset_marked_text() are maintained only for compatibility with 1.3 and deprecated.
2021-12-18Generate FL/fl_config.h rather than FL/abi-version.hAlbrecht Schlosser
... as discussed in fltk.coredev in thread "RFC: introduce public config header <FL/fl_config.h>", see: https://groups.google.com/g/fltkcoredev/c/xLCs1AIXMVo/m/MHZpQggzAQAJ - Rename abi-version.h to fl_config.h, rename input files, update dependencies, .gitignore, CMake, configure and Makefiles. - Include Cairo options in FL/fl_config.h - Rename FLTK_USE_CAIRO to FLTK_HAVE_CAIROEXT for consistency. - Include <FL/fl_config.h> in config.h and wherever necessary, fix include order (move FL/Fl.H to the top) and more. - Move USE_X11 to fl_config.h and rename to FLTK_USE_X11 - Do not include <config.h> in Cairo demo program which is no longer required in Cairo programs since FLTK 1.4.0
2021-10-17Documentation updates (formatting)Albrecht Schlosser
no code changes
2021-08-30Add experimental FL/fl_casts.H (issue #109)Albrecht Schlosser
2021-08-27Remove an extra semicolontetsuhaut
One less warning, yay !
2021-03-21Remove unnecessary system includes from public headersAlbrecht Schlosser
Add includes of system headers in the implementation files where necessary.
2021-02-27Remove config_lib.h and runtime configuration infoAlbrecht Schlosser
... as discussed in fltk.coredev.
2020-11-23Documentation: clarify how keypad keys are named.ManoloFLTK
2020-11-03Clarify doc about how FLTK_SCALING_FACTOR operates.ManoloFLTK
2020-09-01Customize corner radius for rounded box/frame (#130)Albrecht Schlosser
Make maximum box corner radius and shadow width configurable. See Fl::box_border_radius_max() and Fl::box_shadow_width(). Documentation: update image of box types. Fixes #130
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2020-06-30Clarify documentation (STR 3532)Albrecht Schlosser
Make clear that Fl::repeat_timeout() must only be called for the same timeout it is handling. Related STR's: https://www.fltk.org/str.php?L3532 https://www.fltk.org/str.php?L3516
2020-01-31Update Fl::keyboard_screen_scaling()Albrecht Schlosser
- make the internal variable static - make it callable after fl_open_display() - document that it's currently only usable to switch scaling off
2020-01-31Add Fl::keyboard_screen_scaling(int) to control recognition of ctrl/+/-/0/ManoloFLTK
2020-01-28Fix Doxygen formatting problem.ManoloFLTK
2019-09-15X11 platform: use Gnome printer dialog when the GTK library is available at ↵ManoloFLTK
run-time The code to determine whether the GTK library is available is now in Fl_X11_System_Driver::probe_for_GTK() called both by Fl_Printer::begin_job() and Fl_Native_File_Chooser. New Fl::option OPTION_PRINTER_USES_GTK allows to deactivate use of the Gnome print dialog. Minor change in Fl_Native_File_Chooser: GTK version 3 is searched before version 2, whereas the search order was the opposite before.
2019-05-22Fix Doxygen comment badly processed by Doxygen 1.8.15ManoloFLTK