summaryrefslogtreecommitdiff
path: root/src/Fl.cxx
AgeCommit message (Collapse)Author
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-06-15Improve Fl::option documentation.Matthias Melcher
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-03-19Document fl_close_display()ManoloFLTK
2024-03-04Fix Scaling window up/down also scales X/Y position on secondary displays ↵ManoloFLTK
only (#925)
2024-03-02Add OPTION_SIMPLE_ZOOM_SHORTCUT to fine tune zoom-in shortcutManoloFLTK
2024-03-01Windows: make Ctrl/+/-/0/ scaling system-wide if all screens have same DPIManoloFLTK
2024-02-27Improve prioritization of event handlers added at open display timeManoloFLTK
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-20Fl::check() docs fix: example indentedGreg Ercolano
2023-11-14Fix dependencies and whitespace issuesAlbrecht Schlosser
2023-10-21 Fix "Keyboard sometimes stops working after Ctrl/+ or Ctrl/-" (#794)ManoloFLTK
2023-09-03Adds compact buttons feature to create keypads.Matthias Melcher
See test/buttons for an example.
2023-08-10Improve docs of Fl::hide_all_windows()Albrecht Schlosser
+ update fluid dependencies No code changes.
2023-07-14Keep sending FL_DRAG until all mouse buttons are releasedAlbrecht Schlosser
The old version would send FL_MOVE events after dragging with more than one mouse buttons pressed, as soon as the first button was released. The new version sends FL_DRAG until the last mouse button is released and then FL_MOVE, as usual. This change affects dragging only if more than one mouse button is pushed and held while dragging. The order of pushing and releasing mouse buttons does not affect the behavior.
2023-04-11Add public accessor methods Fl_Widget::needs_keyboard()Albrecht Schlosser
- add public getter and setter for - document the new methods - document that these methods are not yet used internally - remove unnecessary friend declaration 'NEEDS_KEYBOARD' flag - simplify Fl::focus(Fl_Widget *) using the new methods.
2023-02-02Update dependencies and fix whitespace errorsAlbrecht Schlosser
- replace tabs with spaces - remove trailing whitespace
2023-01-30Document that Fl::add_fd() opens display under macOSManoloFLTK
2023-01-13Fix for "Rename Fl_X* Fl_Window::i private class member" (#223)ManoloFLTK
2023-01-09 Doc only: fix for "Fl::awake() and Fl::add_timeout()" (#524)ManoloFLTK
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
2022-12-16Derive Fl_Zenity_Native_File_Chooser_Driver from Fl_Kdialog_Native_…ManoloFLTK
Also add Fl::option(OPTION_FNFC_USES_ZENITY)
2022-11-28Doc: repeat that screens are numbered starting from 0 in the APIManoloFLTK
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
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-30Attempt to improve fl_disable_wayland().ManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-08-20Add int Fl::system(const char *command) static member function.ManoloFLTK
2022-03-20 Fix issue #413: Commit 29d9e31 creates memory handling problem under macOS.ManoloFLTK
2022-02-03Reorganize classes Fl_System_Driver and Fl_Screen_DriverManoloFLTK
These virtual members are moved from Fl_Screen_Driver to Fl_System_Driver - wait(double) - ready() These virtual members are moved from Fl_System_Driver to Fl_Screen_Driver - copy(const char *stuff, int len, int clipboard, const char *type) - void paste(Fl_Widget &widget, int clipboard, const char *type) - clipboard_contains(const char *type) - clipboard_notify_change() These members are moved from Fl_X11_Screen_Driver to Fl_X11_System_Driver - poll_or_select_with_delay(double time_to_wait) - poll_or_select() and are made virtual in preparation for the introduction of class Fl_Unix_System_Driver.
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-17Fix a tiny documentation bugAlbrecht Schlosser
2021-07-01Fix FL_MOUSEWHEEL event coordinates in subwindow (#210)Albrecht Schlosser
Issue #210: "Fl::event_x() & event_y() doesn't take into account embedded window's coords with Mouse wheel events" In fact the calculation of Fl::event_x() and Fl::event_y() used the wrong window coordinates if the event was sent to a subwindow.
2021-02-27Remove config_lib.h and runtime configuration infoAlbrecht Schlosser
... as discussed in fltk.coredev.
2020-11-07Simpler code and doc of Fl::screen_scale(int n, float factor)ManoloFLTK
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-24Avoid crash in Fl::next_window(win)Albrecht Schlosser
As documented, Fl::next_window(win) must only be called with a valid *shown* window. The old code would crash if the argument was NULL or the window was not shown. The new code avoids the crash, issues an error message, and returns NULL to the caller.
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-31Fix typoAlbrecht Schlosser
2020-01-31Add Fl::keyboard_screen_scaling(int) to control recognition of ctrl/+/-/0/ManoloFLTK
2020-01-17Make Fl::screen_scale(int, float) functional also after initial window display.ManoloFLTK
2019-12-31Limiting file access for Fl_Preferences.Matthias Melcher
Added Fl_Preferences::file_access() and various flags that make it possible to limit or completely deny file access to the preferences system, either for the core library or for the application or both.
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-03-27Correct typo in Doxygen doc of Fl::focus()ManoloFLTK
2018-12-27Fixing some minor lint, found by Pavel Shlyak using PVS studioMatthias Melcher