summaryrefslogtreecommitdiff
path: root/src/Fl.cxx
AgeCommit message (Collapse)Author
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
2018-08-30Doc only: better doc of recently added events: ↵Manolo Gouy
FL_SCREEN_CONFIGURATION_CHANGED, FL_FULLSCREEN,... git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13035 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-23Remove the need to call fl_open_display() before using Fl::screen_scale(int, ↵Manolo Gouy
float). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13025 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-09Fix typo in Doxygen docManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13012 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-08Support for GUI scaling: add API to get/set the scaling factor value.Manolo Gouy
Also, define an FLTK event triggered when the scaling is changed and an option to disable the transient window showing the new scaling factor. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13011 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_System_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12976 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_Screen_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12975 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-26Move Fl_Window_Driver.H from FL/ to src/Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12974 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23Doxygen only: fixed all block comments starting with an asterisk to ↵Matthias Melcher
space-only, fixed doxygen keywords prepended with @ to use a backward slash instead. No code was changed. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12970 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-24Slightly improve the doc of Fl::reset_marked_text().Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12931 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-24Add documentation for Fl::reset_marked_text() and ↵Manolo Gouy
Fl::insertion_point_location(). git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12930 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-22Add Fl::screen_scale(int) function to get the scaling factor value of a screen.Manolo Gouy
This allows to keep class Fl_Screen_Driver away from the public API. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12926 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-05-12Remove public member function Fl_Window_Driver *Fl_Window::driver() so class ↵Manolo Gouy
Fl_Window_Driver is not in FLTK public API. This function is replaced by static Fl_Window_Driver* Fl_Window_Driver::(const Fl_Window *win). The purpose is to have class Fl_Window_Driver outside from FLTK ABI. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12915 ea41ed52-d2ee-0310-a9c1-e6b18d33e121