Commit Graph

12220 Commits

Author SHA1 Message Date
ManoloFLTK a4ebd8564d Wayland: remove memory access error while computing screen work area
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 10:02:11 +01:00
Matthias Melcher b1d3ee13bd Fluid: modernize Function Node class
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 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.
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]
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())
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)
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)
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.
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)
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
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).
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).
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.
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.
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.
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.
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.
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.
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.
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()
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)
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
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
Greg Ercolano 9afe9400bd Fl_Terminal doc fix for 8-bit RGB color ANSI/XTERM codes
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
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.
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
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.
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