Documentation only: users must load a font with fl_font(face, size)
before measuring text with methods like fl_measure(), fl_height(),
fl_width(), fl_text_extents() etc.
#146: Add access to scrollbars widget in Fl_Help_View
- new methods are Fl_Help_View::scrollbar()
and Fl_Help_View::hscrollbar(), taking inspiration from
Fl_Browser.
1. src/Fl_add_idle.cxx: add missing parameter docs,
backport documentation of several functions from 1.5
2. FL/fl_draw.H: rename 1st parameter of fl_draw_pixmap(...) from
'data' to 'cdata'.
Backported from 3114ef0e2f
This method was erroneously declared 'deprecated' in previous versions.
However, this method is public and calls the *protected* method
Fl_Window::force_position(). Therefore it is kept as a regular
public method.
Backported from master: 0960f1c066
Original issue title:
"Windows: dotted lines may be drawn solid when GUI is rescaled"
Unfortunately commit 880636eb12 broke
the ABI because it added a variable to a public header. This commit
uses ABI guards '#if FL_ABI_VERSION >= 10403" for the same fix.
Note: The full fix w/o ABI guards is already available in FLTK 1.5.
so users can enable ABI features designated for the *next* release
when using FLTK from Git (or snapshots) before the API version has
been raised for the next release.
For reference, see fltk.general thread started Mar 26 2025, entitled:
"Make some Fl_Tree_Item methods virtual?"
Backported Greg's commit from master (1.5.0) by Albrecht-S,
added ABI guards for FLTK 1.4.3
Unfortunately this *appears* to be a new constraint caused by the great
new features of Fl_Tabs like overflow handling etc. and fixing drawing
issues in the tab area (since FLTK 1.4).
However, this conflict has already been there in 1.3 but didn't cause
visual artifacts in normal use.
As discussed in the context of PR #1187 the previous return value '-1'
was misleading and undocumented. The docs mentioned only '1' and '0'.
User code that used the return value as documented (like a `bool`)
would make the wrong decision if the return value was '-1': true
(selected) instead false (out of range).
This commit fixes the code by doing what the docs define and clarifies
the documentation.
Further documentation improvements of Fl_Table (example code used a
method that is not defined in Fl_Table) and of Fl_Table_Row are
included as well.
Doxygen docs of two methods of Fl_Table_Row moved to the .cxx file
where they belong according to the CMP.
This reverts the improvement of #1139 in the default build which is
now only available with FL_ABI_VERSION=10401 or higher.
Users that need this improvement need to build with the required
ABI version by setting it with configure or CMake.
New compiler warning detected by g++ 14.2.0 building with CMake
in Release mode. This *temporary* fix suppresses the warning but uses
even larger fixed size buffers.
Todo: these nasty warnings caused by using fixed buffer sizes should
be removed by using std::string in FLTK 1.5.0.
This bit mask was added in commit 53b40f4138 in an attempt
to *document* reserved bits but it turned out that this mask could
have negative side effects on some newer compilers by propagating
the enum to an 'unsigned int' and issuing compiler warnings.
See this comment and follow-up's in fltk.general:
https://groups.google.com/g/fltkgeneral/c/7xrDkbkxiyw/m/rzEIJ7XhAgAJ
This work is based on PR 1068 (patch by @CendioHalim) and
extended to store button status (4,5) in Fl::event_state() like
it's done for other mouse buttons (1-3).
Changes:
- new symbol: FL_BUTTON4 = side button 1 = "back"
- new symbol: FL_BUTTON5 = side button 2 = "forward"
- modified : FL_BUTTONS now includes bits for two side buttons
Note: the status of these new buttons is not maintained by X11,
therefore we need to maintain them in internal variables for
this platform.