12219 Commits

Author SHA1 Message Date
Matthias Melcher
b1d3ee13bd Fluid: modernize Function Node class
Some checks are pending
Build and Test / build-linux (push) Waiting to run
Build and Test / build-wayland (push) Waiting to run
Build and Test / build-macos (push) Waiting to run
Build and Test / build-windows (push) Waiting to run
2025-12-06 02:50:28 +01:00
Matthias Melcher
5e7ed2f653 Fluid: fix class prefix user input check. 2025-12-06 02:29:57 +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.
Some checks failed
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
20b07572df Fix two compiler warnings [-Wsign-compare]
Some checks failed
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-02 14:07:01 +01:00
Albrecht Schlosser
feed81e124 Fix more box drawing stuff - using Fl::box_bg(box())
Some checks failed
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
The biggest changes are in src/Fl_Scroll.cxx where most of the changes
are caused only by formatting (alignment). The behavior is the same
for all boxtypes that had been covered by the old switch/case code
and should be improved for other FL_*_FRAME boxtypes that had been
ignored.
2025-12-01 23:06:37 +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
Greg Ercolano
2e16977039 Fix DIR parsing on windows for non-US locale (#1344)
Some checks failed
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-01 12:39:21 -08:00
Matthias Melcher
89c116bf5f Fix menu crash dereferencing nullptr (#1335)
Some checks failed
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-30 00:40:11 +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.
Some checks failed
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
Albrecht Schlosser
6aa95584e0 Improve and simplify test/clipboard.cxx
- replace FL_OVERRIDE and NULL with 'override' and 'nullptr', resp.
- remove useless global variable (declare it locally in main)
- standardize callbacks using standard callback signatures
- rename some callbacks with more appropriate names
- fix layout of image display and image size info
- improve alignment of text display
- set window size_range (minimal window size)
2025-11-29 20:05:13 +01:00
Matthias Melcher
8f55e0634c Fluid: Fix crash when saving an empty project. 2025-11-29 17:21:47 +01:00
Matthias Melcher
349b818d3f Fluid: convert modal panels into tabs in the widget panel (#1339)
Some checks failed
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
725be0116f Fluid: Fix unique id reader. 2025-11-29 12:38:55 +01:00
ManoloFLTK
92a1558a0e Wayland: remove code path that left workarea_xywh[*] unassigned (#1334) 2025-11-29 07:31:20 +01:00
ManoloFLTK
940871d5c8 Slight improvement of DnD support under Wayland
Some checks failed
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-28 16:49:37 +01:00
Matthias Melcher
ee43155a4b Add method to list running timeouts (#1306).
Some checks failed
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
6568f60ab8 Fix typo for all but macOS 2025-11-27 23:56:29 +01:00
Matthias Melcher
147247f8f1 Refactor pen interface into driver system. 2025-11-27 23:43:08 +01:00
Matthias Melcher
86b9df01ee Add initial log support for sliders (#1232).
Some checks failed
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
9e5467d5c1 Improve Wayland README to allow copy/paste resources.
Some checks failed
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
There seem to be some lazy people who prefer copying
and pasting a bunch of lines over entering every resource manually... .
2025-11-25 15:30:02 +01:00
Matthias Melcher
b78042e0d8 Refactor large pulldown function into smaller functions. 2025-11-25 14:52:08 +01:00
Matthias Melcher
2049fe3637 Declutter draw and handle methods.
Some checks failed
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
Refactoring long methods into smaller parts
that are easier to understand.
2025-11-22 01:06:21 +01:00
Matthias Melcher
56955a33a3 Additional menu code cleanup.
Some checks failed
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
Better variable names,
More descriptive integer types.
2025-11-21 19:57:50 +01:00
Matthias Melcher
910c7d18eb Fix a few more warnings by Clang.
- Apple Clang 17.0.0.
- png, z, jpeg lib integer cast warnings remain
- FLTK callback function cast warnings remain.
2025-11-21 13:37:54 +01:00
Matthias Melcher
f57891864b Fix missing return statement.
Some checks failed
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-21 12:46:29 +01:00
Matthias Melcher
a01fcae832 Reformat src/Fl_Menu.cxx.
Some checks failed
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
Reorder declarations and implementations.
Rename to current FLTK standards, reformat.
2025-11-21 00:11:30 +01:00
Matthias Melcher
8dcc99279e Adjust some pen driver comments.
Made global variables private.
2025-11-20 22:24:21 +01:00
Matthias Melcher
b1d63e0842 Improve documentation for popup menus.
Some checks failed
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
Documented every function and variable in Fl_Menu.cxx.
2025-11-20 02:05:36 +01:00
Matthias Melcher
7da07038f9 Update Fluid format README.
Some checks failed
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-19 19:19:23 +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
2182bd60c0 Remove hidden vector font editor from test/font
Undiscovered for 10 years, this crude vector font generator
snuck into the font test ten years ago through a careless
commit by yours truly. It's time to go now.
2025-11-19 13:27:43 +01:00
Greg Ercolano
797e977773 Improved clip handling/fix box()
Some checks failed
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-18 05:15:01 -08:00
Greg Ercolano
6731b79591 Clip Fl_Terminal scrollbars (#1328)
Some checks failed
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-17 13:41:37 -08:00
Matthias Melcher
67d67fbbfd Fix two macOS compiler warnings. 2025-11-17 22:22:12 +01:00
Greg Ercolano
2b5d1e557f Add display_columns() controller
Also fixed 'c' shortcut described in the onscreen help to show "Color Bars".
2025-11-17 12:54:01 -08:00
Greg Ercolano
bd945bf647 smoother scrolling in Fl_Terminal 2025-11-17 12:48:44 -08: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
Some checks failed
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()
Some checks failed
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
Greg Ercolano
9afe9400bd Fl_Terminal doc fix for 8-bit RGB color ANSI/XTERM codes
Some checks failed
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-14 11:26:25 -08:00
Albrecht Schlosser
6a0edd15c5 Revert/fix a0654b59ac: FLTK_CONSOLIDATE_MOTION = OFF
Some checks failed
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
In commit a0654b59ac all assignments to
variable `fl_xmousewin` were erroneously put under control of macro
FLTK_CONSOLIDATE_MOTION. This commit reverts this.

The correct fix would have been to declare

  extern Fl_Window *fl_xmousewin;

unconditionally which was eventually done in a later commit.

The related variable `static Fl_Window *send_motion;` is still used
under control of macro FLTK_CONSOLIDATE_MOTION.
2025-11-13 15:38:22 +01:00
ManoloFLTK
c6f34560b0 Wayland: fix computation of screen workarea size.
Some checks failed
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 computation has been found possible only for single-display settings.
2025-11-10 17:33:53 +01:00
Albrecht Schlosser
054fc9c823 Declare some methods of Fl_Window 'const'
These Fl_Window methods are 'const' but had not been declared 'const':

- uchar get_size_range(...) const
- int shown() const
- const Fl_Image *shape() const
- int screen_num() const
- fl_uintptr_t os_id() const
2025-11-10 16:23:04 +01:00
ManoloFLTK
93576abd0b Attempt to improve description of CMake option FLTK_GRAPHICS_CAIRO
Some checks failed
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-10 09:01:37 +01:00
ManoloFLTK
733511af41 Remove warnings when building Doxygen documentation.
Some checks failed
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-09 14:37:07 +01:00
Matthias Melcher
d12d16f6ab Fix documentation of fl_filename_ext 2025-11-09 13:09:46 +01:00