2751 Commits

Author SHA1 Message Date
Matthias Melcher 4f9d7794f8 Completing access to FL_BLINE in Fl_Browser.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
May be used by derived classes like Fl_File_Browser
for fast access.
2026-04-27 01:02:47 +02:00
Matthias Melcher d2ed9a50cc Update test/cube layout 2026-04-26 15:00:03 +02:00
Matthias Melcher e75549f0f9 Remove dangerous code duplication.
Fl_File_Browser was duplicating a hidden
struct, warning that they need to be kept in
sync with Fl_Browser. Remove that limitation.
2026-04-24 23:13:22 +02:00
Matthias Melcher 9fe0496f3b Fix missing pen event name and a warning 2026-04-24 20:34:25 +02:00
ManoloFLTK 6dd2f81ae6 Documentation: refer to image-saving functions when describing images (#1419) 2026-04-24 07:37:05 +02:00
ManoloFLTK 71c26d47f5 Discussion "More built-in named colors for FLTK 1.5?" (#1259).
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
A new file FL/rgb_colors.H is created to define 490 color names.
This file derives from Xorg's rgb.txt list of color names.
The purpose and use of this file is documented.
2026-04-20 16:34:07 +02:00
Matthias Melcher 15448c45b0 Add fl_write_jpeg function (STR 460) (#1405)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-04-12 23:49:20 +02:00
ManoloFLTK dfc930d346 Wayland: partial implementation of multi-screen fullscreen windows (#1397)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Wayland doesn't seem to allow creation of true multi-screen fullscreen windows.
This commit implements an approximation of a multi-screen fullscreen window.
It resizes a window to the total width and the total height of targetted screens.
Under Mutter, this produces a window that covers all screens except the
main screen's menubar.
Other compositors may reply differently to this request.
KWin produces a multi-screen fullscreen window only if the window is initially
decorated and in the main screen.
2026-04-08 10:45:50 +02:00
Albrecht Schlosser 1377c60100 Fl_Tree: make automatic resizing of children optional (STR 3030)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
- add getter and setter methods:
  - int Fl_Tree::auto_resize_children()
  - void Fl_Tree::auto_resize_children(int mode)

Note: the default in 1.5.0 is "OFF", i.e. no automatic resizing.
  The methods above can be used to switch it on if required.

This is a behavioral change to fix a bug in 1.4 and lower. It will not
be backported because it would break the ABI.
2026-04-07 20:41:08 +02:00
ManoloFLTK 3d4be2470c Fl_OpenGL_Graphics_Driver: add support of Fl_Bitmap and a cache of textures. 2026-03-30 16:31:26 +02:00
Albrecht Schlosser 33609ba730 Fl_Scroll: replace two local structs with Fl_Rect
- replace struct Fl_Region_XYWH with Fl_Rect
- replace struct Fl_Region_LRTB with Fl_Rect
- rename  struct Fl_Scrollbar_Data to Scrollbar_Data

Note: these local structs were created before Fl_Rect existed and
are now obsolete.
2026-03-28 19:25:38 +01:00
ManoloFLTK ed2238bc2a Override virtual function Fl_Image::scale(int,int) for class Fl_SVG_Image.
An SVG image has no intrinsic size, so it makes no sense to prohibit enlarging it beyond an intrinsic size.
2026-03-27 17:10:35 +01:00
ManoloFLTK d8b9180dc7 Documentation change related to "RGB sub image drawing slow with larger images" (#1384)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-03-24 09:08:25 +01:00
ManoloFLTK 2b92bbe933 Fix typo in doxygen documentation.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-03-23 12:59:29 +01:00
ManoloFLTK b4f73314a7 Add int return type to Fl::get_mouse(int&, int&) providing the number of mouse-containing screen.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-03-13 15:53:52 +01:00
ManoloFLTK e0405d2135 macOS: remove code present only to support macOS versions 10.3 and 10.4.
This is a first step towards removing the code related to support of old macOS versions
that are not compatible with C++11 which FLTK 1.5 requires.
2026-02-01 16:32:21 +01:00
ManoloFLTK 521f7b3c5b Let text widgets handle gracefully composed unicode characters - Cont'd.
This commit adds support of another type of composed characters: flags.
It also fixes Fl_Text_Buffer::prev_char() and Fl_Text_Buffer::next_char()
that must use Fl_Text_Buffer::byte_at() to access to the content of the text buffer.
2026-01-26 09:17:18 +01:00
ManoloFLTK bd4ad3e4a0 Let Fl_Text_Editor and Fl_Input handle gracefully composed unicode characters.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-01-24 16:15:47 +01:00
ManoloFLTK 05a3f82a5c Fix "Setting window custom cursor from SVG image crashes" (#1363)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-01-22 14:27:13 +01:00
ManoloFLTK d30ca18664 Improve docu of member variable Fl_SVG_Image::proportional - cont'd (#1361) 2026-01-20 17:08:08 +01:00
ManoloFLTK fbc3f7a69f Improve documentation of member variable Fl_SVG_Image::proportional (#1361) 2026-01-15 19:12:56 +01:00
Albrecht Schlosser afacd1b8fe Fix documentation (comment only) 2026-01-13 16:50:24 +01:00
Matthias Melcher 52452f117f Remove event names that would be generated by fl_eventname_str 2026-01-07 11:34:29 +01:00
Matthias Melcher 0e570fb672 Add C++11 Fl_Valuator::format API.
This is helpful for writing language wrapper, in
this particular case for PyFLTK.
2026-01-04 15:50:56 +01:00
Albrecht Schlosser 4a9a417860 Clarify that a font must be loaded before measuring text (#1356)
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.
2026-01-03 13:54:44 +01:00
Albrecht Schlosser d5ed136642 Reorganize documentation source directories
- move all images (screenshots) to new folder documentation/images/
- move documentation/src/fltk-title.tex.in to documentation/
- fix .gitignore files (remove obsolete entries etc.)
- FL/Fl_Tooltip.H: fix '\image latex' reference
- documentation/CMakeLists.txt: update ref. to fltk-title.tex.in
- documentation/Doxyfile.in: adjust image path (IMAGE_PATH)
2025-12-30 15:49:02 +01:00
Matthias Melcher 83fab8cb0f Fix Fl_Pack to support more box types.
Old code supported only frame styles, this code
can now handle box types with a background.
2025-12-29 16:21:17 +01:00
Matthias Melcher 2fb67053a1 Fixes Code Viewer widget height calculation
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-28 23:15:30 +01:00
Albrecht Schlosser 22c1730261 Add Fl_Scheme::plastic_color_average() method [#464]
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
This method can be used to set a more appropriate color average to
prevent "graying out" the box colors of the 'plastic' scheme.
Alternatively environment variable 'FLTK_PLASTIC_AVERAGE' can be used
to set the color average value. See docs for details.

Set color average to 45% in test/unittests demo program.
2025-12-25 19:34:08 +01:00
ManoloFLTK 0105b593b6 Fix typos in documentation of FL_APP_ACTIVATE
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-23 12:26:31 +01:00
Matthias Melcher d0d2e104e9 X11: Add documentation: FL_APP_ACTIVATE not supported
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-22 00:29:20 +01:00
Matthias Melcher 8ec5d86fe1 MacOS: Add FL_APP_ACTIVATE and DEACTIVATE.
This event is sent on application level. Add a handler
with Fl::add_handler to receive the event.
2025-12-21 22:49:42 +01:00
Matthias Melcher bad956cdd6 Add Fl_Gl_Window 32 bit depth buffer option.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-19 16:23:46 +01:00
Matthias Melcher fe6838e843 Add access to a list of registered plugin klasses. 2025-12-10 21:09:13 +01:00
Albrecht Schlosser 9fa438df68 Fix doxygen warnings
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-06 21:53:32 +01:00
Matthias Melcher b2746ad286 Change arrow keys in log slider to even increments. #1232 2025-12-06 00:16:04 +01:00
Matthias Melcher 87160b6eb9 Remove boxtype linke trick.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
By defining boxtypes with underscores, box
drawing cod ethat was not used was not linked,
but with the introduction of themes, all boxes
are available at all times. Reducing complexity.
2025-12-03 23:33:14 +01:00
Albrecht Schlosser 5a6a7eb009 Add background (bg) attribute to table of boxtypes
This is a first step to fix some background (re-)drawing issues in
widgets. A new bit in the array of boxtypes can be used to determine
if a particular boxtype uses a solid background (e.g. all FL_*_BOX
types) or if the parent widget is responsible for drawing it (FL_NO_BOX
and all FL_*_FRAME) types, and maybe more ...

The old struct member `set` in the struct of boxtypes has been
renamed to `flags` and is now used as a bit field.

Except these changes, this first commit fixes the focus box drawing
of specific boxtypes, as seen in unittest_schemes.cxx in the
Fl_Check_Button with label "Check", and very likely more.
2025-12-01 23:06:37 +01:00
Matthias Melcher 110857a6fc Fix names map for multiple includes. 2025-11-29 23:24:10 +01:00
Matthias Melcher 039ef2d322 Fix include fiel list.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-11-29 21:19:10 +01:00
Matthias Melcher 70527b3bf0 Improve access to C++ symbols.
For events, fonts, and callback reasons
2025-11-29 21:01:53 +01:00
Matthias Melcher 349b818d3f Fluid: convert modal panels into tabs in the widget panel (#1339)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-11-29 12:57:08 +01:00
Matthias Melcher ee43155a4b Add method to list running timeouts (#1306).
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
\see Fl::timeout_list();
2025-11-28 00:55:57 +01:00
Matthias Melcher 86b9df01ee Add initial log support for sliders (#1232).
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Works for all slider types.
Adds tick marks to "nice slider".
Defaults to linear if min or max is zero.
There is room for improvement for drawing the tick marks.
2025-11-26 14:08:58 +01:00
Matthias Melcher 8dcc99279e Adjust some pen driver comments.
Made global variables private.
2025-11-20 22:24:21 +01:00
Matthias Melcher 94008f57c3 Add headline menu item style (#1059)
A menu item can be designated as a headline.
Fully integrated and used in Fluid.
2025-11-19 16:58:08 +01:00
Matthias Melcher fa65cd6321 Add pen/stylus/tablet API and driver for macOS (#1326)
* define the pen/tablet support API
* add pen event handler stub as a fallback
* add pen device test "penpal".
* Add macOS pen/stylus/tablet driver.
* Add Oxygen documentation.
2025-11-17 21:10:01 +01:00
Albrecht Schlosser d623ad08a9 Fix Cairo build and add FLTK_OPTION_CAIRO_WINDOW to CI build
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
... on GitHub (GitLab CI builds used it already)
2025-11-17 13:53:24 +01:00
ManoloFLTK 4b141bb2f8 Document with more details function fl_wl_gc()
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-11-16 10:09:01 +01:00
Matthias Melcher 646bd55764 Refactor large static class Fl into an expandable namespace Fl (#1325)
* Change class Fl into namespace Fl.
* Untangle Fl namespace into themed headers.
* cut line count of FL/Fl.H in half
* FL/core subdirectory now holds short headers 
  grouped by functionality.
2025-11-16 01:58:54 +01:00